From f761691b7d733a19d6c8fb42d03f23c5956d6f00 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Fri, 4 Jan 2019 16:24:10 +0100 Subject: [PATCH 001/189] Pad now has adjustable wall tilt and maintains wall thickness properly. Edges are not rounded yet. --- src/libslic3r/SLA/SLABasePool.cpp | 214 ++++++++++++++++++--------- src/libslic3r/SLA/SLABasePool.hpp | 6 +- src/libslic3r/SLA/SLASupportTree.cpp | 8 +- src/libslic3r/SLAPrint.cpp | 2 +- 4 files changed, 152 insertions(+), 78 deletions(-) diff --git a/src/libslic3r/SLA/SLABasePool.cpp b/src/libslic3r/SLA/SLABasePool.cpp index 21bd124f71d..a819d16ca44 100644 --- a/src/libslic3r/SLA/SLABasePool.cpp +++ b/src/libslic3r/SLA/SLABasePool.cpp @@ -457,104 +457,172 @@ void base_plate(const TriangleMesh &mesh, ExPolygons &output, float h, void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, const PoolConfig& cfg) { - double mdist = 2*(1.8*cfg.min_wall_thickness_mm + 4*cfg.edge_radius_mm) + - cfg.max_merge_distance_mm; - auto concavehs = concave_hull(ground_layer, mdist, cfg.throw_on_cancel); - for(ExPolygon& concaveh : concavehs) { - if(concaveh.contour.points.empty()) return; - concaveh.holes.clear(); + double mergedist = 2*(1.8*cfg.min_wall_thickness_mm /*+ 4*cfg.edge_radius_mm*/)+ + cfg.max_merge_distance_mm; - const coord_t WALL_THICKNESS = mm(cfg.min_wall_thickness_mm); + auto concavehs = concave_hull(ground_layer, mergedist, cfg.throw_on_cancel); - const coord_t WALL_DISTANCE = mm(2*cfg.edge_radius_mm) + - coord_t(0.8*WALL_THICKNESS); - const coord_t HEIGHT = mm(cfg.min_wall_height_mm); + for(ExPolygon& concaveh : concavehs) { + if(concaveh.contour.points.empty()) return; + concaveh.holes.clear(); + const double thickness = cfg.min_wall_thickness_mm; + const double wingheight = cfg.min_wall_height_mm; + const coord_t s_thickness = mm(thickness); +// const coord_t s_eradius = mm(cfg.edge_radius_mm); + const coord_t s_safety_dist = /*2*s_eradius +*/ coord_t(0.8*s_thickness); + // const coord_t wheight = mm(cfg.min_wall_height_mm); + const double tilt = PI/4; + coord_t s_wingdist = mm(wingheight / std::tan(tilt)); + + // Here lies the trick that does the smooting only with clipper offset + // calls. The offset is configured to round edges. Inner edges will + // be rounded because we offset twice: ones to get the outer (top) plate + // and again to get the inner (bottom) plate auto outer_base = concaveh; - offset(outer_base, WALL_THICKNESS+WALL_DISTANCE); + offset(outer_base, s_safety_dist + s_wingdist + s_thickness); auto inner_base = outer_base; - offset(inner_base, -WALL_THICKNESS); - inner_base.holes.clear(); outer_base.holes.clear(); - + auto middle_base = outer_base; + offset(inner_base, -(s_thickness + s_wingdist)); + offset(middle_base, -s_thickness); + inner_base.holes.clear(); // bottom contour + middle_base.holes.clear(); // contour of the cavity-top + outer_base.holes.clear(); // bottom contour, also for the cavity + + // Punching a hole in the top plate for the cavity ExPolygon top_poly; top_poly.contour = outer_base.contour; - top_poly.holes.emplace_back(inner_base.contour); + top_poly.holes.emplace_back(middle_base.contour); auto& tph = top_poly.holes.back().points; std::reverse(tph.begin(), tph.end()); Contour3D pool; - ExPolygon ob = outer_base; double wh = 0; - - // now we will calculate the angle or portion of the circle from - // pi/2 that will connect perfectly with the bottom plate. - // this is a tangent point calculation problem and the equation can - // be found for example here: - // http://www.ambrsoft.com/TrigoCalc/Circles2/CirclePoint/CirclePointDistance.htm - // the y coordinate would be: - // y = cy + (r^2*py - r*px*sqrt(px^2 + py^2 - r^2) / (px^2 + py^2) - // where px and py are the coordinates of the point outside the circle - // cx and cy are the circle center, r is the radius - // to get the angle we use arcsin function and subtract 90 degrees then - // flip the sign to get the right input to the round_edge function. - double r = cfg.edge_radius_mm; - double cy = 0; - double cx = 0; - double px = cfg.min_wall_thickness_mm; - double py = r - cfg.min_wall_height_mm; - - double pxcx = px - cx; - double pycy = py - cy; - double b_2 = pxcx*pxcx + pycy*pycy; - double r_2 = r*r; - double D = std::sqrt(b_2 - r_2); - double vy = (r_2*pycy - r*pxcx*D) / b_2; - double phi = -(std::asin(vy/r) * 180 / PI - 90); - - auto curvedwalls = round_edges(ob, - r, - phi, // 170 degrees - 0, // z position of the input plane - true, - cfg.throw_on_cancel, - ob, wh); - - pool.merge(curvedwalls); - - ExPolygon ob_contr = ob; - ob_contr.holes.clear(); - - auto pwalls = walls(ob_contr, inner_base, wh, -cfg.min_wall_height_mm, - cfg.throw_on_cancel); + double fullheight = wingheight + thickness; + auto& thrcl = cfg.throw_on_cancel; + + auto pwalls = walls(top_poly, inner_base, 0, -fullheight, thrcl); pool.merge(pwalls); - Polygons top_triangles, bottom_triangles; + auto cavitywalls = walls(inner_base, middle_base, -wingheight, 0, thrcl); + pool.merge(cavitywalls); + + Polygons top_triangles, middle_triangles, bottom_triangles; + triangulate(top_poly, top_triangles); + triangulate(inner_base, middle_triangles); triangulate(inner_base, bottom_triangles); auto top_plate = convert(top_triangles, 0, false); - auto bottom_plate = convert(bottom_triangles, -HEIGHT, true); - - ob = inner_base; wh = 0; - // rounded edge generation for the inner bed - curvedwalls = round_edges(ob, - cfg.edge_radius_mm, - 90, // 90 degrees - 0, // z position of the input plane - false, - cfg.throw_on_cancel, - ob, wh); - pool.merge(curvedwalls); - - auto innerbed = inner_bed(ob, cfg.min_wall_height_mm/2 + wh, wh); + auto middle_plate = convert(middle_triangles, -mm(wingheight), false); + auto bottom_plate = convert(bottom_triangles, -mm(fullheight), true); pool.merge(top_plate); + pool.merge(middle_plate); pool.merge(bottom_plate); - pool.merge(innerbed); out.merge(mesh(pool)); } + +// double mdist = 2*(1.8*cfg.min_wall_thickness_mm + 4*cfg.edge_radius_mm) + +// cfg.max_merge_distance_mm; + +// auto concavehs = concave_hull(ground_layer, mdist, cfg.throw_on_cancel); +// for(ExPolygon& concaveh : concavehs) { +// if(concaveh.contour.points.empty()) return; +// concaveh.holes.clear(); + +// const coord_t WALL_THICKNESS = mm(cfg.min_wall_thickness_mm); + +// const coord_t WALL_DISTANCE = mm(2*cfg.edge_radius_mm) + +// coord_t(0.8*WALL_THICKNESS); + +// const coord_t HEIGHT = mm(cfg.min_wall_height_mm); + +// auto outer_base = concaveh; +// offset(outer_base, WALL_THICKNESS+WALL_DISTANCE); +// auto inner_base = outer_base; +// offset(inner_base, -WALL_THICKNESS); +// inner_base.holes.clear(); outer_base.holes.clear(); + +// ExPolygon top_poly; +// top_poly.contour = outer_base.contour; +// top_poly.holes.emplace_back(inner_base.contour); +// auto& tph = top_poly.holes.back().points; +// std::reverse(tph.begin(), tph.end()); + +// Contour3D pool; + +// ExPolygon ob = outer_base; double wh = 0; + +// // now we will calculate the angle or portion of the circle from +// // pi/2 that will connect perfectly with the bottom plate. +// // this is a tangent point calculation problem and the equation can +// // be found for example here: +// // http://www.ambrsoft.com/TrigoCalc/Circles2/CirclePoint/CirclePointDistance.htm +// // the y coordinate would be: +// // y = cy + (r^2*py - r*px*sqrt(px^2 + py^2 - r^2) / (px^2 + py^2) +// // where px and py are the coordinates of the point outside the circle +// // cx and cy are the circle center, r is the radius +// // to get the angle we use arcsin function and subtract 90 degrees then +// // flip the sign to get the right input to the round_edge function. +// double r = cfg.edge_radius_mm; +// double cy = 0; +// double cx = 0; +// double px = cfg.min_wall_thickness_mm; +// double py = r - cfg.min_wall_height_mm; + +// double pxcx = px - cx; +// double pycy = py - cy; +// double b_2 = pxcx*pxcx + pycy*pycy; +// double r_2 = r*r; +// double D = std::sqrt(b_2 - r_2); +// double vy = (r_2*pycy - r*pxcx*D) / b_2; +// double phi = -(std::asin(vy/r) * 180 / PI - 90); + +// auto curvedwalls = round_edges(ob, +// r, +// phi, // 170 degrees +// 0, // z position of the input plane +// true, +// cfg.throw_on_cancel, +// ob, wh); + +// pool.merge(curvedwalls); + +// ExPolygon ob_contr = ob; +// ob_contr.holes.clear(); + +// auto pwalls = walls(ob_contr, inner_base, wh, -cfg.min_wall_height_mm, +// cfg.throw_on_cancel); +// pool.merge(pwalls); + +// Polygons top_triangles, bottom_triangles; +// triangulate(top_poly, top_triangles); +// triangulate(inner_base, bottom_triangles); +// auto top_plate = convert(top_triangles, 0, false); +// auto bottom_plate = convert(bottom_triangles, -HEIGHT, true); + +// ob = inner_base; wh = 0; +// // rounded edge generation for the inner bed +// curvedwalls = round_edges(ob, +// cfg.edge_radius_mm, +// 90, // 90 degrees +// 0, // z position of the input plane +// false, +// cfg.throw_on_cancel, +// ob, wh); +// pool.merge(curvedwalls); + +// auto innerbed = inner_bed(ob, cfg.min_wall_height_mm/2 + wh, wh); + +// pool.merge(top_plate); +// pool.merge(bottom_plate); +// pool.merge(innerbed); + +// out.merge(mesh(pool)); +// } } } diff --git a/src/libslic3r/SLA/SLABasePool.hpp b/src/libslic3r/SLA/SLABasePool.hpp index 62c4971ebe6..3917d995b74 100644 --- a/src/libslic3r/SLA/SLABasePool.hpp +++ b/src/libslic3r/SLA/SLABasePool.hpp @@ -49,7 +49,11 @@ void create_base_pool(const ExPolygons& base_plate, /// min_wall_thickness and it should be corrected in the future. This method /// will return the correct value for further processing. inline double get_pad_elevation(const PoolConfig& cfg) { - return cfg.min_wall_height_mm / 2.0; + return cfg.min_wall_thickness_mm; +} + +inline double get_pad_fullheight(const PoolConfig& cfg) { + return cfg.min_wall_height_mm + cfg.min_wall_thickness_mm; } } diff --git a/src/libslic3r/SLA/SLASupportTree.cpp b/src/libslic3r/SLA/SLASupportTree.cpp index 746acc54749..5239255b124 100644 --- a/src/libslic3r/SLA/SLASupportTree.cpp +++ b/src/libslic3r/SLA/SLASupportTree.cpp @@ -515,7 +515,8 @@ struct Pad { double ground_level, const PoolConfig& pcfg) : cfg(pcfg), - zlevel(ground_level + sla::get_pad_elevation(pcfg)) + zlevel(ground_level + + (sla::get_pad_fullheight(pcfg) - sla::get_pad_elevation(pcfg)) ) { ExPolygons basep; cfg.throw_on_cancel(); @@ -523,7 +524,8 @@ struct Pad { // The 0.1f is the layer height with which the mesh is sampled and then // the layers are unified into one vector of polygons. base_plate(object_support_mesh, basep, - float(cfg.min_wall_height_mm), 0.1f, pcfg.throw_on_cancel); + float(cfg.min_wall_height_mm + cfg.min_wall_thickness_mm), + 0.1f, pcfg.throw_on_cancel); for(auto& bp : baseplate) basep.emplace_back(bp); @@ -781,7 +783,7 @@ class SLASupportTree::Impl { // WITH THE PAD double full_height() const { if(merged_mesh().empty() && !pad().empty()) - return pad().cfg.min_wall_height_mm; + return get_pad_fullheight(pad().cfg); double h = mesh_height(); if(!pad().empty()) h += sla::get_pad_elevation(pad().cfg); diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index f45d805b6ae..aa759a47a36 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -630,7 +630,7 @@ void SLAPrint::process() sla::PoolConfig pcfg(wt, h, md, er); ExPolygons bp; - double pad_h = sla::get_pad_elevation(pcfg); + double pad_h = sla::get_pad_fullheight(pcfg); auto&& trmesh = po.transformed_mesh(); // This call can get pretty time consuming From fa5c96dfb9e3a75b97e8eb8670a6af0d4b65894e Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Fri, 4 Jan 2019 16:57:27 +0100 Subject: [PATCH 002/189] Recover outer top radius for the new pad. Inner top, bottom and outer bottom radius still missing. --- src/libslic3r/SLA/SLABasePool.cpp | 57 ++++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 8 deletions(-) diff --git a/src/libslic3r/SLA/SLABasePool.cpp b/src/libslic3r/SLA/SLABasePool.cpp index a819d16ca44..598e6f66d40 100644 --- a/src/libslic3r/SLA/SLABasePool.cpp +++ b/src/libslic3r/SLA/SLABasePool.cpp @@ -458,7 +458,7 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, const PoolConfig& cfg) { - double mergedist = 2*(1.8*cfg.min_wall_thickness_mm /*+ 4*cfg.edge_radius_mm*/)+ + double mergedist = 2*(1.8*cfg.min_wall_thickness_mm + 4*cfg.edge_radius_mm)+ cfg.max_merge_distance_mm; auto concavehs = concave_hull(ground_layer, mergedist, cfg.throw_on_cancel); @@ -470,12 +470,16 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, const double thickness = cfg.min_wall_thickness_mm; const double wingheight = cfg.min_wall_height_mm; - const coord_t s_thickness = mm(thickness); -// const coord_t s_eradius = mm(cfg.edge_radius_mm); - const coord_t s_safety_dist = /*2*s_eradius +*/ coord_t(0.8*s_thickness); - // const coord_t wheight = mm(cfg.min_wall_height_mm); + const double fullheight = wingheight + thickness; const double tilt = PI/4; - coord_t s_wingdist = mm(wingheight / std::tan(tilt)); + const double wingdist = wingheight / std::tan(tilt); + + // scaled values + const coord_t s_thickness = mm(thickness); + const coord_t s_eradius = mm(cfg.edge_radius_mm); + const coord_t s_safety_dist = 2*s_eradius + coord_t(0.8*s_thickness); + // const coord_t wheight = mm(cfg.min_wall_height_mm); + coord_t s_wingdist = mm(wingdist); // Here lies the trick that does the smooting only with clipper offset // calls. The offset is configured to round edges. Inner edges will @@ -500,10 +504,47 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, Contour3D pool; - double fullheight = wingheight + thickness; + ExPolygon ob = outer_base; double wh = 0; + + // now we will calculate the angle or portion of the circle from + // pi/2 that will connect perfectly with the bottom plate. + // this is a tangent point calculation problem and the equation can + // be found for example here: + // http://www.ambrsoft.com/TrigoCalc/Circles2/CirclePoint/CirclePointDistance.htm + // the y coordinate would be: + // y = cy + (r^2*py - r*px*sqrt(px^2 + py^2 - r^2) / (px^2 + py^2) + // where px and py are the coordinates of the point outside the circle + // cx and cy are the circle center, r is the radius + // to get the angle we use arcsin function and subtract 90 degrees then + // flip the sign to get the right input to the round_edge function. + double r = cfg.edge_radius_mm; + double cy = 0; + double cx = 0; + double px = thickness + wingdist; + double py = r - fullheight; + + double pxcx = px - cx; + double pycy = py - cy; + double b_2 = pxcx*pxcx + pycy*pycy; + double r_2 = r*r; + double D = std::sqrt(b_2 - r_2); + double vy = (r_2*pycy - r*pxcx*D) / b_2; + double phi = -(std::asin(vy/r) * 180 / PI - 90); + + auto curvedwalls = round_edges(ob, + r, + phi, // 170 degrees + 0, // z position of the input plane + true, + cfg.throw_on_cancel, + ob, wh); + + pool.merge(curvedwalls); + + auto& thrcl = cfg.throw_on_cancel; - auto pwalls = walls(top_poly, inner_base, 0, -fullheight, thrcl); + auto pwalls = walls(ob, inner_base, wh, -fullheight, thrcl); pool.merge(pwalls); auto cavitywalls = walls(inner_base, middle_base, -wingheight, 0, thrcl); From 7ef10e9663a0836115171add6f668164384a9782 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Fri, 4 Jan 2019 17:47:08 +0100 Subject: [PATCH 003/189] Fix of place to bed function This reverts commit 86e9cb604ac09318e503408947fbc5838448eddf and also contains a fix. --- src/slic3r/GUI/GLGizmo.cpp | 129 ++++++++++++++++++++++--------------- src/slic3r/GUI/GLGizmo.hpp | 2 + 2 files changed, 79 insertions(+), 52 deletions(-) diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index 7de065065b6..5908044f97e 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -1519,13 +1519,15 @@ void GLGizmoFlatten::update_planes() } ch = ch.convex_hull_3d(); - - const Vec3d& bb_size = ch.bounding_box().size(); - double min_bb_face_area = std::min(bb_size(0) * bb_size(1), std::min(bb_size(0) * bb_size(2), bb_size(1) * bb_size(2))); - m_planes.clear(); + const Transform3d& inst_matrix = m_model_object->instances.front()->get_matrix(); - // Now we'll go through all the facets and append Points of facets sharing the same normal: + // Following constants are used for discarding too small polygons. + const float minimal_area = 20.f; // in square mm (world coordinates) + const float minimal_side = 1.f; // mm + + // Now we'll go through all the facets and append Points of facets sharing the same normal. + // This part is still performed in mesh coordinate system. const int num_of_facets = ch.stl.stats.number_of_facets; std::vector facet_queue(num_of_facets, 0); std::vector facet_visited(num_of_facets, false); @@ -1548,7 +1550,7 @@ void GLGizmoFlatten::update_planes() while (facet_queue_cnt > 0) { int facet_idx = facet_queue[-- facet_queue_cnt]; const stl_normal& this_normal = ch.stl.facet_start[facet_idx].normal; - if (std::abs(this_normal(0) - (*normal_ptr)(0)) < 0.001 && std::abs(this_normal(1) - (*normal_ptr)(1)) < 0.001 && std::abs(this_normal(2) - (*normal_ptr)(2)) < 0.001) { + if (this_normal.isApprox(*normal_ptr)) { stl_vertex* first_vertex = ch.stl.facet_start[facet_idx].vertex; for (int j=0; j<3; ++j) m_planes.back().vertices.emplace_back((double)first_vertex[j](0), (double)first_vertex[j](1), (double)first_vertex[j](2)); @@ -1561,63 +1563,74 @@ void GLGizmoFlatten::update_planes() } } } - m_planes.back().normal = Vec3d((double)(*normal_ptr)(0), (double)(*normal_ptr)(1), (double)(*normal_ptr)(2)); + m_planes.back().normal = normal_ptr->cast(); + + // Now we'll transform all the points into world coordinates, so that the areas, angles and distances + // make real sense. + m_planes.back().vertices = transform(m_planes.back().vertices, inst_matrix); - // if this is a just a very small triangle, remove it to speed up further calculations (it would be rejected anyway): + // if this is a just a very small triangle, remove it to speed up further calculations (it would be rejected later anyway): if (m_planes.back().vertices.size() == 3 && - ((m_planes.back().vertices[0] - m_planes.back().vertices[1]).norm() < 1.0 - || (m_planes.back().vertices[0] - m_planes.back().vertices[2]).norm() < 1.0 - || (m_planes.back().vertices[1] - m_planes.back().vertices[2]).norm() < 1.0)) + ((m_planes.back().vertices[0] - m_planes.back().vertices[1]).norm() < minimal_side + || (m_planes.back().vertices[0] - m_planes.back().vertices[2]).norm() < minimal_side + || (m_planes.back().vertices[1] - m_planes.back().vertices[2]).norm() < minimal_side)) m_planes.pop_back(); } - const float minimal_area = 0.01f * (float)min_bb_face_area; - // Now we'll go through all the polygons, transform the points into xy plane to process them: for (unsigned int polygon_id=0; polygon_id < m_planes.size(); ++polygon_id) { Pointf3s& polygon = m_planes[polygon_id].vertices; const Vec3d& normal = m_planes[polygon_id].normal; + // let's transform the normal accodring to the instance matrix: + Geometry::Transformation t(inst_matrix); + Vec3d scaling = t.get_scaling_factor(); + t.set_scaling_factor(Vec3d(1./(scaling(0)*scaling(0)), 1./(scaling(0)*scaling(0)), 1./(scaling(0)*scaling(0)))); + Vec3d normal_transformed = t.get_matrix() * normal; + // We are going to rotate about z and y to flatten the plane Eigen::Quaterniond q; Transform3d m = Transform3d::Identity(); - m.matrix().block(0, 0, 3, 3) = q.setFromTwoVectors(normal, Vec3d::UnitZ()).toRotationMatrix(); + m.matrix().block(0, 0, 3, 3) = q.setFromTwoVectors(normal_transformed, Vec3d::UnitZ()).toRotationMatrix(); polygon = transform(polygon, m); - polygon = Slic3r::Geometry::convex_hull(polygon); // To remove the inner points - - // We will calculate area of the polygons and discard ones that are too small - // The limit is more forgiving in case the normal is in the direction of the coordinate axes - float area_threshold = (std::abs(normal(0)) > 0.999f || std::abs(normal(1)) > 0.999f || std::abs(normal(2)) > 0.999f) ? minimal_area : 10.0f * minimal_area; + // Now to remove the inner points. We'll misuse Geometry::convex_hull for that, but since + // it works in fixed point representation, we will rescale the polygon to avoid overflows. + // And yes, it is a nasty thing to do. Whoever has time is free to refactor. + Vec3d bb_size = BoundingBoxf3(polygon).size(); + float sf = std::min(1./bb_size(0), 1./bb_size(1)); + Transform3d tr = Geometry::assemble_transform(Vec3d::Zero(), Vec3d::Zero(), Vec3d(sf, sf, 1.f)); + polygon = transform(polygon, tr); + polygon = Slic3r::Geometry::convex_hull(polygon); + polygon = transform(polygon, tr.inverse()); + + // Calculate area of the polygons and discard ones that are too small float& area = m_planes[polygon_id].area; area = 0.f; for (unsigned int i = 0; i < polygon.size(); i++) // Shoelace formula area += polygon[i](0)*polygon[i + 1 < polygon.size() ? i + 1 : 0](1) - polygon[i + 1 < polygon.size() ? i + 1 : 0](0)*polygon[i](1); area = 0.5f * std::abs(area); - if (area < area_threshold) { - m_planes.erase(m_planes.begin()+(polygon_id--)); - continue; - } - // We check the inner angles and discard polygons with angles smaller than the following threshold - const double angle_threshold = ::cos(10.0 * (double)PI / 180.0); bool discard = false; - - for (unsigned int i = 0; i < polygon.size(); ++i) - { - const Vec3d& prec = polygon[(i == 0) ? polygon.size() - 1 : i - 1]; - const Vec3d& curr = polygon[i]; - const Vec3d& next = polygon[(i == polygon.size() - 1) ? 0 : i + 1]; - - if ((prec - curr).normalized().dot((next - curr).normalized()) > angle_threshold) - { - discard = true; - break; + if (area < minimal_area) + discard = true; + else { + // We also check the inner angles and discard polygons with angles smaller than the following threshold + const double angle_threshold = ::cos(10.0 * (double)PI / 180.0); + + for (unsigned int i = 0; i < polygon.size(); ++i) { + const Vec3d& prec = polygon[(i == 0) ? polygon.size() - 1 : i - 1]; + const Vec3d& curr = polygon[i]; + const Vec3d& next = polygon[(i == polygon.size() - 1) ? 0 : i + 1]; + + if ((prec - curr).normalized().dot((next - curr).normalized()) > angle_threshold) { + discard = true; + break; + } } } - if (discard) - { + if (discard) { m_planes.erase(m_planes.begin() + (polygon_id--)); continue; } @@ -1667,13 +1680,17 @@ void GLGizmoFlatten::update_planes() polygon = points_out; // replace the coarse polygon with the smooth one that we just created } - // Transform back to 3D; - for (auto& b : polygon) { - b(2) += 0.1f; // raise a bit above the object surface to avoid flickering - } - m = m.inverse(); - polygon = transform(polygon, m); + // Raise a bit above the object surface to avoid flickering: + for (auto& b : polygon) + b(2) += 0.1f; + + // Transform back to 3D (and also back to mesh coordinates) + polygon = transform(polygon, inst_matrix.inverse() * m.inverse()); + + // make sure the points are in correct order: + if ( ((inst_matrix.inverse() * m.inverse()) * Vec3d(0., 0., 1.)).dot(normal) > 0.) + std::reverse(polygon.begin(),polygon.end()); } // We'll sort the planes by area and only keep the 254 largest ones (because of the picking pass limitations): @@ -1682,12 +1699,15 @@ void GLGizmoFlatten::update_planes() // Planes are finished - let's save what we calculated it from: m_volumes_matrices.clear(); - for (const ModelVolume* vol : m_model_object->volumes) + m_volumes_types.clear(); + for (const ModelVolume* vol : m_model_object->volumes) { m_volumes_matrices.push_back(vol->get_matrix()); + m_volumes_types.push_back(vol->type()); + } + m_first_instance_scale = m_model_object->instances.front()->get_scaling_factor(); } -// Check if the bounding boxes of each volume's convex hull is the same as before -// and that scaling and rotation has not changed. In that case we don't have to recalculate it. + bool GLGizmoFlatten::is_plane_update_necessary() const { if (m_state != On || !m_model_object || m_model_object->instances.empty()) @@ -1696,8 +1716,13 @@ bool GLGizmoFlatten::is_plane_update_necessary() const if (m_model_object->volumes.size() != m_volumes_matrices.size()) return true; + // We want to recalculate when the scale changes - some planes could (dis)appear. + if (! m_model_object->instances.front()->get_scaling_factor().isApprox(m_first_instance_scale)) + return true; + for (unsigned int i=0; i < m_model_object->volumes.size(); ++i) - if (! m_model_object->volumes[i]->get_matrix().isApprox(m_volumes_matrices[i])) + if (! m_model_object->volumes[i]->get_matrix().isApprox(m_volumes_matrices[i]) + || m_model_object->volumes[i]->type() != m_volumes_types[i]) return true; return false; @@ -1723,7 +1748,7 @@ GLGizmoSlaSupports::GLGizmoSlaSupports(GLCanvas3D& parent) if (m_quadric != nullptr) // using GLU_FILL does not work when the instance's transformation // contains mirroring (normals are reverted) - ::gluQuadricDrawStyle(m_quadric, GLU_SILHOUETTE); + ::gluQuadricDrawStyle(m_quadric, GLU_FILL); #endif // ENABLE_SLA_SUPPORT_GIZMO_MOD } @@ -1895,8 +1920,8 @@ void GLGizmoSlaSupports::render_grabbers(const GLCanvas3D::Selection& selection, ::glPushMatrix(); ::glLoadIdentity(); ::glTranslated(grabber_world_position(0), grabber_world_position(1), grabber_world_position(2) + z_shift); - ::gluQuadricDrawStyle(m_quadric, GLU_SILHOUETTE); - ::gluSphere(m_quadric, 0.75, 64, 36); + const float diameter = 0.8f; + ::gluSphere(m_quadric, diameter/2.f, 64, 36); ::glPopMatrix(); } @@ -1945,7 +1970,7 @@ void GLGizmoSlaSupports::render_grabbers(bool picking) const GLUquadricObj *quadric; quadric = ::gluNewQuadric(); ::gluQuadricDrawStyle(quadric, GLU_FILL ); - ::gluSphere( quadric , 0.75f, 64 , 32 ); + ::gluSphere( quadric , 0.4, 64 , 32 ); ::gluDeleteQuadric(quadric); ::glPopMatrix(); if (!picking) diff --git a/src/slic3r/GUI/GLGizmo.hpp b/src/slic3r/GUI/GLGizmo.hpp index 2588080b26b..d10efa966cf 100644 --- a/src/slic3r/GUI/GLGizmo.hpp +++ b/src/slic3r/GUI/GLGizmo.hpp @@ -403,6 +403,8 @@ class GLGizmoFlatten : public GLGizmoBase // This holds information to decide whether recalculation is necessary: std::vector m_volumes_matrices; + std::vector m_volumes_types; + Vec3d m_first_instance_scale; std::vector m_planes; mutable Vec3d m_starting_center; From 60926e7be3673916c8fbadc08653d7adcde0321b Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Fri, 4 Jan 2019 21:34:25 +0100 Subject: [PATCH 004/189] Place to bed now rotates all instances the same way, regardless of which one was selected --- src/slic3r/GUI/GLCanvas3D.cpp | 9 +++++---- src/slic3r/GUI/GLCanvas3D.hpp | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 91b4a2855ef..2d57d5eb7d0 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1700,8 +1700,10 @@ void GLCanvas3D::Selection::flattening_rotate(const Vec3d& normal) } #if !DISABLE_INSTANCES_SYNCH + // we want to synchronize z-rotation as well, otherwise the flattening behaves funny + // when applied on one of several identical instances if (m_mode == Instance) - _synchronize_unselected_instances(); + _synchronize_unselected_instances(true); #endif // !DISABLE_INSTANCES_SYNCH m_bounding_box_dirty = true; @@ -1911,7 +1913,6 @@ void GLCanvas3D::Selection::erase() { items.emplace_back(ItemType::itInstance, i.first, i.second); } - wxGetApp().obj_list()->delete_from_model_and_list(items); } else if (is_mixed()) @@ -2573,7 +2574,7 @@ void GLCanvas3D::Selection::_render_sidebar_size_hint(Axis axis, double length) } #endif // ENABLE_SIDEBAR_VISUAL_HINTS -void GLCanvas3D::Selection::_synchronize_unselected_instances() +void GLCanvas3D::Selection::_synchronize_unselected_instances(bool including_z) { std::set done; // prevent processing volumes twice done.insert(m_list.begin(), m_list.end()); @@ -2606,7 +2607,7 @@ void GLCanvas3D::Selection::_synchronize_unselected_instances() if ((v->object_idx() != object_idx) || (v->instance_idx() == instance_idx)) continue; - v->set_instance_rotation(Vec3d(rotation(0), rotation(1), v->get_instance_rotation()(2))); + v->set_instance_rotation(Vec3d(rotation(0), rotation(1), including_z ? rotation(2) : v->get_instance_rotation()(2))); v->set_instance_scaling_factor(scaling_factor); v->set_instance_mirror(mirror); diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index c2f2074c182..63a4edbefe8 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -597,7 +597,7 @@ class GLCanvas3D void _render_sidebar_scale_hint(Axis axis) const; void _render_sidebar_size_hint(Axis axis, double length) const; #endif // ENABLE_SIDEBAR_VISUAL_HINTS - void _synchronize_unselected_instances(); + void _synchronize_unselected_instances(bool including_z = false); void _synchronize_unselected_volumes(); #if ENABLE_ENSURE_ON_BED_WHILE_SCALING void _ensure_on_bed(); From bdf4d5f41fcdd090422ba2f3d2d500cf89ffd580 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Fri, 4 Jan 2019 21:36:58 +0100 Subject: [PATCH 005/189] Fixed a crash when deleting several instances of one object --- src/slic3r/GUI/GLCanvas3D.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 2d57d5eb7d0..f81bec3b85d 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1894,8 +1894,6 @@ void GLCanvas3D::Selection::erase() } wxGetApp().obj_list()->delete_from_model_and_list(items); } - else if (is_single_full_instance()) - wxGetApp().obj_list()->delete_from_model_and_list(ItemType::itInstance, get_object_idx(), get_instance_idx()); else if (is_multiple_full_instance()) { std::set> instances_idxs; @@ -1915,6 +1913,8 @@ void GLCanvas3D::Selection::erase() } wxGetApp().obj_list()->delete_from_model_and_list(items); } + else if (is_single_full_instance()) + wxGetApp().obj_list()->delete_from_model_and_list(ItemType::itInstance, get_object_idx(), get_instance_idx()); else if (is_mixed()) { std::set items_set; From a2bc7e166024a80a221d71043dfe9ccd092b659e Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 7 Jan 2019 09:15:31 +0100 Subject: [PATCH 006/189] Fix of #1596 --- src/slic3r/GUI/GLCanvas3D.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index f81bec3b85d..8cd80ad7de9 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -4952,7 +4952,6 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) } m_mouse.set_start_position_2D_as_invalid(); - m_mouse.set_start_position_3D_as_invalid(); #endif } else if (evt.Leaving()) @@ -4964,6 +4963,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) else if (evt.LeftDClick() && (toolbar_contains_mouse != -1)) { m_toolbar_action_running = true; + m_mouse.set_start_position_3D_as_invalid(); m_toolbar.do_action((unsigned int)toolbar_contains_mouse, *this); } else if (evt.LeftDClick() && (m_gizmos.get_current_type() != Gizmos::Undefined)) @@ -5041,6 +5041,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) else if (toolbar_contains_mouse != -1) { m_toolbar_action_running = true; + m_mouse.set_start_position_3D_as_invalid(); m_toolbar.do_action((unsigned int)toolbar_contains_mouse, *this); m_mouse.left_down = false; } From 3bd2db8ba6bc8dcdd96cba6cf51c5882fdca6121 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 7 Jan 2019 09:37:51 +0100 Subject: [PATCH 007/189] Fix of #1598, #1601, #1604, #1612 The text fields were not causing config value updates, broken with 8d1b854acbbb1686d92cd38a696dab2a97dec00d Replaced all wxString.ToStdString() with wxString.ToUTF8().data() to be sure that the strings are correctly converted to UTF8. --- src/slic3r/GUI/Field.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 81a90cfbd37..928a6236ef9 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -188,7 +188,7 @@ void Field::get_value_by_opt_type(wxString& str) } } - m_value = str.ToUTF8().data(); + m_value = std::string(str.ToUTF8().data()); break; } default: break; From 0c7fbe0a9356999bc1da5573e75929cfa8948cc1 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Mon, 7 Jan 2019 10:07:49 +0100 Subject: [PATCH 008/189] Comments and cosmetics for the new pad code. --- src/libslic3r/SLA/SLABasePool.cpp | 51 ++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/src/libslic3r/SLA/SLABasePool.cpp b/src/libslic3r/SLA/SLABasePool.cpp index 598e6f66d40..5dbbb0440be 100644 --- a/src/libslic3r/SLA/SLABasePool.cpp +++ b/src/libslic3r/SLA/SLABasePool.cpp @@ -461,25 +461,33 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, double mergedist = 2*(1.8*cfg.min_wall_thickness_mm + 4*cfg.edge_radius_mm)+ cfg.max_merge_distance_mm; + // Here we get the base polygon from which the pad has to be generated. + // We create an artificial concave hull from this polygon and that will + // serve as the bottom plate of the pad. We will offset this concave hull + // and then offset back the result with clipper with rounding edges ON. This + // trick will create a nice rounded pad shape. auto concavehs = concave_hull(ground_layer, mergedist, cfg.throw_on_cancel); + const double thickness = cfg.min_wall_thickness_mm; + const double wingheight = cfg.min_wall_height_mm; + const double fullheight = wingheight + thickness; + const double tilt = PI/4; + const double wingdist = wingheight / std::tan(tilt); + + // scaled values + const coord_t s_thickness = mm(thickness); + const coord_t s_eradius = mm(cfg.edge_radius_mm); + const coord_t s_safety_dist = 2*s_eradius + coord_t(0.8*s_thickness); + // const coord_t wheight = mm(cfg.min_wall_height_mm); + coord_t s_wingdist = mm(wingdist); + + auto& thrcl = cfg.throw_on_cancel; for(ExPolygon& concaveh : concavehs) { if(concaveh.contour.points.empty()) return; - concaveh.holes.clear(); - const double thickness = cfg.min_wall_thickness_mm; - const double wingheight = cfg.min_wall_height_mm; - const double fullheight = wingheight + thickness; - const double tilt = PI/4; - const double wingdist = wingheight / std::tan(tilt); - - // scaled values - const coord_t s_thickness = mm(thickness); - const coord_t s_eradius = mm(cfg.edge_radius_mm); - const coord_t s_safety_dist = 2*s_eradius + coord_t(0.8*s_thickness); - // const coord_t wheight = mm(cfg.min_wall_height_mm); - coord_t s_wingdist = mm(wingdist); + // Get rif of any holes in the concave hull output. + concaveh.holes.clear(); // Here lies the trick that does the smooting only with clipper offset // calls. The offset is configured to round edges. Inner edges will @@ -515,6 +523,8 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, // y = cy + (r^2*py - r*px*sqrt(px^2 + py^2 - r^2) / (px^2 + py^2) // where px and py are the coordinates of the point outside the circle // cx and cy are the circle center, r is the radius + // We place the circle center to (0, 0) in the calculation the make + // things easier. // to get the angle we use arcsin function and subtract 90 degrees then // flip the sign to get the right input to the round_edge function. double r = cfg.edge_radius_mm; @@ -531,25 +541,30 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, double vy = (r_2*pycy - r*pxcx*D) / b_2; double phi = -(std::asin(vy/r) * 180 / PI - 90); + + // Generate the smoothed edge geometry auto curvedwalls = round_edges(ob, r, phi, // 170 degrees 0, // z position of the input plane true, - cfg.throw_on_cancel, + thrcl, ob, wh); - pool.merge(curvedwalls); - - auto& thrcl = cfg.throw_on_cancel; - + // Now that we have the rounded edge connencting the top plate with + // the outer side walls, we can generate and merge the sidewall geometry auto pwalls = walls(ob, inner_base, wh, -fullheight, thrcl); pool.merge(pwalls); + // Next is the cavity walls connecting to the top plate's artificially + // created hole. auto cavitywalls = walls(inner_base, middle_base, -wingheight, 0, thrcl); pool.merge(cavitywalls); + // Now we need to triangulate the top and bottom plates as well as the + // cavity bottom plate which is the same as the bottom plate but it is + // eleveted by the thickness. Polygons top_triangles, middle_triangles, bottom_triangles; triangulate(top_poly, top_triangles); From bbed47acd0dac80bb7f9f22de29b6e4e1c5fcb48 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 7 Jan 2019 10:32:33 +0100 Subject: [PATCH 009/189] Fixed #1579 --- src/slic3r/GUI/GUI_ObjectList.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index dffaf7afc4b..0b6c38bd84b 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -635,7 +635,7 @@ void ObjectList::get_settings_choice(const wxString& category_name) // Add settings item for object const auto item = GetSelection(); if (item) { - const auto settings_item = m_objects_model->GetSettingsItem(item); + const auto settings_item = m_objects_model->IsSettingsItem(item) ? item : m_objects_model->GetSettingsItem(item); select_item(settings_item ? settings_item : m_objects_model->AddSettingsChild(item)); } From c81dbba794e5130f916334d97a8e543d39a158f5 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 7 Jan 2019 10:53:48 +0100 Subject: [PATCH 010/189] Fix of #1590 --- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 139 ++++++++++++++++------ src/slic3r/GUI/GUI_ObjectManipulation.hpp | 30 ++++- 2 files changed, 130 insertions(+), 39 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index be421e5d3b6..1848ddda74e 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -17,12 +17,6 @@ namespace GUI ObjectManipulation::ObjectManipulation(wxWindow* parent) : OG_Settings(parent, true) -#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - , m_cache_position(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) - , m_cache_rotation(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) - , m_cache_scale(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) - , m_cache_size(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) -#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION { m_og->set_name(_(L("Object Manipulation"))); m_og->label_width = 100; @@ -80,25 +74,41 @@ ObjectManipulation::ObjectManipulation(wxWindow* parent) : int axis = opt_key.back() == 'x' ? 0 : opt_key.back() == 'y' ? 1 : 2; +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + value = m_cache.position(axis); +#else value = m_cache_position(axis); +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } else if (param == "rotation") { int axis = opt_key.back() == 'x' ? 0 : opt_key.back() == 'y' ? 1 : 2; +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + value = m_cache.rotation(axis); +#else value = m_cache_rotation(axis); +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } else if (param == "scale") { int axis = opt_key.back() == 'x' ? 0 : opt_key.back() == 'y' ? 1 : 2; +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + value = m_cache.scale(axis); +#else value = m_cache_scale(axis); +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } else if (param == "size") { int axis = opt_key.back() == 'x' ? 0 : opt_key.back() == 'y' ? 1 : 2; +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + value = m_cache.size(axis); +#else value = m_cache_size(axis); +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } m_og->set_value(opt_key, double_to_string(value)); @@ -229,16 +239,41 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele m_new_rotation = volume->get_instance_rotation(); m_new_scale = volume->get_instance_scaling_factor(); int obj_idx = volume->object_idx(); +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + int instance_idx = volume->instance_idx(); + if ((0 <= obj_idx) && (obj_idx < (int)wxGetApp().model_objects()->size())) + { + bool changed_box = false; + if ((m_cache.object_idx != obj_idx) || (m_cache.instance_idx != instance_idx)) + { + m_cache.object_idx = obj_idx; + m_cache.instance_idx = instance_idx; + m_cache.instance_box_size = (*wxGetApp().model_objects())[obj_idx]->raw_mesh().bounding_box().size(); + changed_box = true; + } + if (changed_box || !m_cache.scale.isApprox(100.0 * m_new_scale) || !m_cache.rotation.isApprox(m_new_rotation)) + m_new_size = volume->get_instance_transformation().get_matrix(true, true) * m_cache.instance_box_size; + } + else + // this should never happen + m_new_size = Vec3d::Zero(); +#else if ((0 <= obj_idx) && (obj_idx < (int)wxGetApp().model_objects()->size())) m_new_size = volume->get_instance_transformation().get_matrix(true, true) * (*wxGetApp().model_objects())[obj_idx]->raw_mesh().bounding_box().size(); else // this should never happen m_new_size = Vec3d::Zero(); +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION m_new_enabled = true; } else if (selection.is_single_full_object()) { +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + m_cache.object_idx = -1; + m_cache.instance_idx = -1; +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + const BoundingBoxf3& box = selection.get_bounding_box(); m_new_position = box.center(); m_new_rotation = Vec3d::Zero(); @@ -250,6 +285,11 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele } else if (selection.is_single_modifier() || selection.is_single_volume()) { +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + m_cache.object_idx = -1; + m_cache.instance_idx = -1; +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + // the selection contains a single volume const GLVolume* volume = selection.get_volume(*selection.get_volume_idxs().begin()); m_new_position = volume->get_volume_offset(); @@ -280,59 +320,68 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele void ObjectManipulation::update_if_dirty() { #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - if (_(m_new_move_label_string) != m_move_Label->GetLabel()) - m_move_Label->SetLabel(_(m_new_move_label_string)); + if (m_cache.move_label_string != _(m_new_move_label_string)) + { + m_cache.move_label_string = _(m_new_move_label_string); + m_move_Label->SetLabel(m_cache.move_label_string); + } - if (_(m_new_rotate_label_string) != m_rotate_Label->GetLabel()) - m_rotate_Label->SetLabel(_(m_new_rotate_label_string)); + if (m_cache.rotate_label_string != _(m_new_rotate_label_string)) + { + m_cache.rotate_label_string = _(m_new_rotate_label_string); + m_rotate_Label->SetLabel(m_cache.rotate_label_string); + } - if (_(m_new_scale_label_string) != m_scale_Label->GetLabel()) - m_scale_Label->SetLabel(_(m_new_scale_label_string)); + if (m_cache.scale_label_string != _(m_new_scale_label_string)) + { + m_cache.scale_label_string = _(m_new_scale_label_string); + m_scale_Label->SetLabel(m_cache.scale_label_string); + } - if (m_cache_position(0) != m_new_position(0)) + if (m_cache.position(0) != m_new_position(0)) m_og->set_value("position_x", double_to_string(m_new_position(0), 2)); - if (m_cache_position(1) != m_new_position(1)) + if (m_cache.position(1) != m_new_position(1)) m_og->set_value("position_y", double_to_string(m_new_position(1), 2)); - if (m_cache_position(2) != m_new_position(2)) + if (m_cache.position(2) != m_new_position(2)) m_og->set_value("position_z", double_to_string(m_new_position(2), 2)); - m_cache_position = m_new_position; + m_cache.position = m_new_position; auto scale = m_new_scale * 100.0; - if (m_cache_scale(0) != scale(0)) + if (m_cache.scale(0) != scale(0)) m_og->set_value("scale_x", double_to_string(scale(0), 2)); - if (m_cache_scale(1) != scale(1)) + if (m_cache.scale(1) != scale(1)) m_og->set_value("scale_y", double_to_string(scale(1), 2)); - if (m_cache_scale(2) != scale(2)) + if (m_cache.scale(2) != scale(2)) m_og->set_value("scale_z", double_to_string(scale(2), 2)); - m_cache_scale = scale; + m_cache.scale = scale; - if (m_cache_size(0) != m_new_size(0)) + if (m_cache.size(0) != m_new_size(0)) m_og->set_value("size_x", double_to_string(m_new_size(0), 2)); - if (m_cache_size(1) != m_new_size(1)) + if (m_cache.size(1) != m_new_size(1)) m_og->set_value("size_y", double_to_string(m_new_size(1), 2)); - if (m_cache_size(2) != m_new_size(2)) + if (m_cache.size(2) != m_new_size(2)) m_og->set_value("size_z", double_to_string(m_new_size(2), 2)); - m_cache_size = m_new_size; + m_cache.size = m_new_size; - if (m_cache_rotation(0) != m_new_rotation(0)) + if (m_cache.rotation(0) != m_new_rotation(0)) m_og->set_value("rotation_x", double_to_string(round_nearest(Geometry::rad2deg(m_new_rotation(0)), 0), 2)); - if (m_cache_rotation(1) != m_new_rotation(1)) + if (m_cache.rotation(1) != m_new_rotation(1)) m_og->set_value("rotation_y", double_to_string(round_nearest(Geometry::rad2deg(m_new_rotation(1)), 0), 2)); - if (m_cache_rotation(2) != m_new_rotation(2)) + if (m_cache.rotation(2) != m_new_rotation(2)) m_og->set_value("rotation_z", double_to_string(round_nearest(Geometry::rad2deg(m_new_rotation(2)), 0), 2)); - m_cache_rotation = m_new_rotation; + m_cache.rotation = m_new_rotation; if (m_new_enabled) m_og->enable(); @@ -378,11 +427,15 @@ void ObjectManipulation::update_if_dirty() void ObjectManipulation::reset_settings_value() { - m_new_position = Vec3d::Zero(); - m_new_rotation = Vec3d::Zero(); + m_new_position = Vec3d::Zero(); + m_new_rotation = Vec3d::Zero(); m_new_scale = Vec3d::Ones(); m_new_size = Vec3d::Zero(); - m_new_enabled = false; + m_new_enabled = false; +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + m_cache.object_idx = -1; + m_cache.instance_idx = -1; +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION #if !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION m_dirty = true; #endif // !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION @@ -393,10 +446,18 @@ void ObjectManipulation::change_position_value(const Vec3d& position) auto canvas = wxGetApp().plater()->canvas3D(); GLCanvas3D::Selection& selection = canvas->get_selection(); selection.start_dragging(); +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + selection.translate(position - m_cache.position, selection.requires_local_axes()); +#else selection.translate(position - m_cache_position, selection.requires_local_axes()); +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION canvas->do_move(); +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + m_cache.position = position; +#else m_cache_position = position; +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } void ObjectManipulation::change_rotation_value(const Vec3d& rotation) @@ -415,7 +476,7 @@ void ObjectManipulation::change_rotation_value(const Vec3d& rotation) canvas->do_rotate(); #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - m_cache_rotation = rotation; + m_cache.rotation = rotation; #endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } @@ -425,7 +486,11 @@ void ObjectManipulation::change_scale_value(const Vec3d& scale) const GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); if (selection.requires_uniform_scale()) { +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + Vec3d abs_scale_diff = (scale - m_cache.scale).cwiseAbs(); +#else Vec3d abs_scale_diff = (scale - m_cache_scale).cwiseAbs(); +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION double max_diff = abs_scale_diff(X); Axis max_diff_axis = X; if (max_diff < abs_scale_diff(Y)) @@ -449,7 +514,7 @@ void ObjectManipulation::change_scale_value(const Vec3d& scale) canvas->do_scale(); #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - m_cache_scale = scale; + m_cache.scale = scale; #endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } @@ -457,7 +522,11 @@ void ObjectManipulation::change_size_value(const Vec3d& size) { const GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + Vec3d ref_size = m_cache.size; +#else Vec3d ref_size = m_cache_size; +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION if (selection.is_single_full_instance()) { const GLVolume* volume = selection.get_volume(*selection.get_volume_idxs().begin()); @@ -470,7 +539,7 @@ void ObjectManipulation::change_size_value(const Vec3d& size) if (selection.requires_uniform_scale()) { - Vec3d abs_scale_diff = (scale - m_cache_scale).cwiseAbs(); + Vec3d abs_scale_diff = (scale - m_cache.scale).cwiseAbs(); double max_diff = abs_scale_diff(X); Axis max_diff_axis = X; if (max_diff < abs_scale_diff(Y)) @@ -493,7 +562,7 @@ void ObjectManipulation::change_size_value(const Vec3d& size) canvas->get_selection().scale(scaling_factor, false); canvas->do_scale(); - m_cache_size = size; + m_cache.size = size; #else change_scale_value(100.0 * Vec3d(size(0) / ref_size(0), size(1) / ref_size(1), size(2) / ref_size(2))); #endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.hpp b/src/slic3r/GUI/GUI_ObjectManipulation.hpp index ac80f56b3ee..ee768510abf 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.hpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.hpp @@ -15,10 +15,32 @@ namespace GUI { class ObjectManipulation : public OG_Settings { #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - Vec3d m_cache_position; - Vec3d m_cache_rotation; - Vec3d m_cache_scale; - Vec3d m_cache_size; + struct Cache + { + Vec3d position; + Vec3d rotation; + Vec3d scale; + Vec3d size; + + std::string move_label_string; + std::string rotate_label_string; + std::string scale_label_string; + + int object_idx; + int instance_idx; + + Vec3d instance_box_size; + + Cache() : position(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) , rotation(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) + , scale(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) , size(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) + , move_label_string("") , rotate_label_string("") , scale_label_string("") + , object_idx(-1) + , instance_idx(-1) + { + } + }; + + Cache m_cache; #else Vec3d m_cache_position{ 0., 0., 0. }; Vec3d m_cache_rotation{ 0., 0., 0. }; From 2b39babf5fef0e9c5540eb9f940d25c3988989b5 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Mon, 7 Jan 2019 12:05:16 +0100 Subject: [PATCH 011/189] Place on bed area limit decreased --- src/slic3r/GUI/GLGizmo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index 5908044f97e..7fff44e6fec 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -1523,7 +1523,7 @@ void GLGizmoFlatten::update_planes() const Transform3d& inst_matrix = m_model_object->instances.front()->get_matrix(); // Following constants are used for discarding too small polygons. - const float minimal_area = 20.f; // in square mm (world coordinates) + const float minimal_area = 5.f; // in square mm (world coordinates) const float minimal_side = 1.f; // mm // Now we'll go through all the facets and append Points of facets sharing the same normal. From 026bc801e33778ebc5500ad0a3aac9437bca181f Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 7 Jan 2019 12:20:48 +0100 Subject: [PATCH 012/189] Fix of #1505, #1541 Fixed a regression issue in initialization of the "Avoid external perimeters" feature. --- src/libslic3r/GCode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 1134b383f01..9225b2bea75 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -809,7 +809,7 @@ void GCode::_do_export(Print &print, FILE *file) for (const ExPolygon &expoly : layer->slices.expolygons) for (const Point © : object->copies()) { islands.emplace_back(expoly.contour); - islands.back().translate(- copy); + islands.back().translate(copy); } //FIXME Mege the islands in parallel. m_avoid_crossing_perimeters.init_external_mp(union_ex(islands)); From 0970457a46ca2c32966ef05e323c87fc514365ac Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 7 Jan 2019 14:52:13 +0100 Subject: [PATCH 013/189] Reverted a buggy change done in c0ebcacf1d62d44d247755c9c0d9c681d3579651 --- 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 0761845b671..df5c1d40766 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -148,7 +148,7 @@ void change_opt_value(DynamicPrintConfig& config, const t_config_option_key& opt config.set_key_value(opt_key, new ConfigOptionString(boost::any_cast(value))); break; case coStrings:{ - if (opt_key == "compatible_prints" || opt_key == "compatible_printers" || opt_key == "post_process") { + if (opt_key == "compatible_prints" || opt_key == "compatible_printers") { config.option(opt_key)->values = boost::any_cast>(value); } From 2f4adc1906316158cac81b263150c3372e6ea745 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 7 Jan 2019 15:12:40 +0100 Subject: [PATCH 014/189] Implemented [filament_extruder_id] placeholder #1568 --- src/libslic3r/GCode.cpp | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 9225b2bea75..bff72a9c0c7 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -204,7 +204,9 @@ std::string WipeTowerIntegration::append_tcr(GCode &gcodegen, const WipeTower::T if (! start_filament_gcode.empty()) { // Process the start_filament_gcode for the active filament only. gcodegen.placeholder_parser().set("current_extruder", new_extruder_id); - gcode += gcodegen.placeholder_parser_process("start_filament_gcode", start_filament_gcode, new_extruder_id); + DynamicConfig config; + config.set_key_value("filament_extruder_id", new ConfigOptionInt(new_extruder_id)); + gcode += gcodegen.placeholder_parser_process("start_filament_gcode", start_filament_gcode, new_extruder_id, &config); check_add_eol(gcode); } // A phony move to the end position at the wipe tower. @@ -787,11 +789,17 @@ void GCode::_do_export(Print &print, FILE *file) // Wipe tower will control the extruder switching, it will call the start_filament_gcode. } else { // Only initialize the initial extruder. - _writeln(file, this->placeholder_parser_process("start_filament_gcode", print.config().start_filament_gcode.values[initial_extruder_id], initial_extruder_id)); + DynamicConfig config; + config.set_key_value("filament_extruder_id", new ConfigOptionInt(int(initial_extruder_id))); + _writeln(file, this->placeholder_parser_process("start_filament_gcode", print.config().start_filament_gcode.values[initial_extruder_id], initial_extruder_id, &config)); } } else { - for (const std::string &start_gcode : print.config().start_filament_gcode.values) - _writeln(file, this->placeholder_parser_process("start_filament_gcode", start_gcode, (unsigned int)(&start_gcode - &print.config().start_filament_gcode.values.front()))); + DynamicConfig config; + for (const std::string &start_gcode : print.config().start_filament_gcode.values) { + int extruder_id = (unsigned int)(&start_gcode - &print.config().start_filament_gcode.values.front()); + config.set_key_value("filament_extruder_id", new ConfigOptionInt(extruder_id)); + _writeln(file, this->placeholder_parser_process("start_filament_gcode", start_gcode, extruder_id, &config)); + } } this->_print_first_layer_extruder_temperatures(file, print, start_gcode, initial_extruder_id, true); print.throw_if_canceled(); @@ -990,10 +998,15 @@ void GCode::_do_export(Print &print, FILE *file) config.set_key_value("layer_z", new ConfigOptionFloat(m_writer.get_position()(2) - m_config.z_offset.value)); if (print.config().single_extruder_multi_material) { // Process the end_filament_gcode for the active filament only. - _writeln(file, this->placeholder_parser_process("end_filament_gcode", print.config().end_filament_gcode.get_at(m_writer.extruder()->id()), m_writer.extruder()->id(), &config)); + int extruder_id = m_writer.extruder()->id(); + config.set_key_value("filament_extruder_id", new ConfigOptionInt(extruder_id)); + _writeln(file, this->placeholder_parser_process("end_filament_gcode", print.config().end_filament_gcode.get_at(extruder_id), extruder_id, &config)); } else { - for (const std::string &end_gcode : print.config().end_filament_gcode.values) - _writeln(file, this->placeholder_parser_process("end_filament_gcode", end_gcode, (unsigned int)(&end_gcode - &print.config().end_filament_gcode.values.front()), &config)); + for (const std::string &end_gcode : print.config().end_filament_gcode.values) { + int extruder_id = (unsigned int)(&end_gcode - &print.config().end_filament_gcode.values.front()); + config.set_key_value("filament_extruder_id", new ConfigOptionInt(extruder_id)); + _writeln(file, this->placeholder_parser_process("end_filament_gcode", end_gcode, extruder_id, &config)); + } } _writeln(file, this->placeholder_parser_process("end_gcode", print.config().end_gcode, m_writer.extruder()->id(), &config)); } From b66f41f43dd740f17e54951fbaf453bd8069c889 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 7 Jan 2019 16:20:50 +0100 Subject: [PATCH 015/189] Fixed #1543 --- src/slic3r/GUI/Field.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 928a6236ef9..91052570d05 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -474,6 +474,7 @@ void Choice::BUILD() { if (temp->GetWindowStyle() != wxCB_READONLY) { temp->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { e.Skip(); + if (m_opt.type == coStrings) return; double old_val = !m_value.empty() ? boost::any_cast(m_value) : -99999; if (is_defined_input_value(window, m_opt.type)) { if (fabs(old_val - boost::any_cast(get_value())) <= 0.0001) @@ -692,7 +693,7 @@ boost::any& Choice::get_value() } else if (m_opt.gui_type == "f_enum_open") { const int ret_enum = static_cast(window)->GetSelection(); - if (ret_enum < 0 || m_opt.enum_values.empty()) + if (ret_enum < 0 || m_opt.enum_values.empty() || m_opt.type == coStrings) get_value_by_opt_type(ret_str); else m_value = atof(m_opt.enum_values[ret_enum].c_str()); From 02e1636831378e10653e6f3d08fc19416b127cdf Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 3 Jan 2019 19:33:57 +0100 Subject: [PATCH 016/189] doc: Update Windows build instructions --- doc/How to build - Windows.md | 118 ++++++++++++++++------------------ 1 file changed, 54 insertions(+), 64 deletions(-) diff --git a/doc/How to build - Windows.md b/doc/How to build - Windows.md index 5c8e7ef3cc7..96fa24caeb7 100644 --- a/doc/How to build - Windows.md +++ b/doc/How to build - Windows.md @@ -1,99 +1,89 @@ -### NOTE: This document is currently outdated wrt. the new post-Perl Slic3rPE. A new build process and the description thereof is a work in progress and is comming soon. Please stay tuned. - --- - - # Building Slic3r PE on Microsoft Windows -The currently supported way of building Slic3r PE on Windows is with CMake and MS Visual Studio 2013 -using our Perl binary distribution (compiled from official Perl sources). +The currently supported way of building Slic3r PE on Windows is with CMake and MS Visual Studio 2013. You can use the free [Visual Studio 2013 Community Edition](https://www.visualstudio.com/vs/older-downloads/). CMake installer can be downloaded from [the official website](https://cmake.org/download/). -Other setups (such as mingw + Strawberry Perl) _may_ work, but we cannot guarantee this will work -and cannot provide guidance. +Building with newer versions of MSVS (2015, 2017) may work too as reported by some of our users. +### Dependencies -### Geting the dependencies +On Windows Slic3r is built against statically built libraries. +We provide a prebuilt package of all the needed dependencies. +The package comes in a several variants: -First, download and upnack our Perl + wxWidgets binary distribution: + - [64 bit, Release mode only](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-64.7z) (41 MB, 546 MB unpacked) + - [64 bit, Release and Debug mode](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-64-dev.7z) (88 MB, 1200 MB unpacked) + - [32 bit, Release mode only](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-32.7z) (38 MB, 391 MB unpacked) + - [32 bit, Release and Debug mode](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-32-dev.7z) (24 MB, 487 MB unpacked) - - 32 bit, release mode: [wperl32-5.24.0-2018-03-02.7z](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=wperl32-5.24.0-2018-03-02.7z) - - 64 bit, release mode: [wperl64-5.24.0-2018-03-02.7z](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=wperl64-5.24.0-2018-03-02.7z) - - 64 bit, release mode + debug symbols: [wperl64d-5.24.0-2018-03-02.7z](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=wperl64d-5.24.0-2018-03-02.7z) +When unsure, use the _Release mode only_ variant, the _Release and Debug_ variant is only needed for debugging & developement. -It is recommended to unpack this package into `C:\`. +If you're unsure where to unpack the package, unpack it into `C:\local\` (but it can really be anywhere). -Apart from wxWidgets and Perl, you will also need additional dependencies: +Alternatively you can also compile the dependencies yourself, see below. - - Boost - - Intel TBB - - libcurl +### Building Slic3r PE with Visual Studio -We have prepared a binary package of the listed libraries: +First obtain the Slic3 PE sources via either git or by extracting the source archive. - - 32 bit: [slic3r-destdir-32.7z](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=2%2Fslic3r-destdir-32.7z) - - 64 bit: [slic3r-destdir-64.7z](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=2%2Fslic3r-destdir-64.7z) +Then you will need to note down the so-called 'prefix path' to the dependencies, this is the location of the dependencies packages + `\usr\local` appended. +For example on 64 bits this would be `C:\local\destdir-64\usr\local`. The prefix path will need to be passed to CMake. -It is recommended you unpack this package into `C:\local\` as the environment -setup script expects it there. +When ready, open the relevant Visual Studio command line and `cd` into the directory with Slic3r sources. +Use these commands to prepare Visual Studio solution file: -Alternatively you can also compile the additional dependencies yourself. -There is a [powershell script](./deps-build/windows/slic3r-makedeps.ps1) which automates this process. - -### Building Slic3r PE + mkdir build + cd build + cmake .. -G "Visual Studio 12 Win64" -DCMAKE_PREFIX_PATH="" -Once the dependencies are set up in their respective locations, -go to the `wperl*` directory extracted earlier and launch the `cmdline.lnk` file -which opens a command line prompt with appropriate environment variables set up. +Note that if you're building a 32-bit variant, you will need to change the `"Visual Studio 12 Win64"` to just `"Visual Studio 12"`. -In this command line, `cd` into the directory with Slic3r sources -and use these commands to build the Slic3r from the command line: +Conversely, if you're using Visual Studio version other than 2013, the version number will need to be changed accordingly. - perl Build.PL - perl Build.PL --gui - mkdir build - cd build - cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release - nmake - cd .. - perl slic3r.pl +If `cmake` has finished without errors, go to the build directory and open the `Slic3r.sln` solution file in Visual Studio. +Before building, make sure you're building the right project (use one of those starting with `slic3r_app_...`) and that you're building +with the right configuration, ie. _Release_ vs. _Debug_. When unsure, choose _Release_. +Note that you won't be able to build a _Debug_ variant against a _Release_-only dependencies package. -The above commands use `nmake` Makefiles. -You may also build Slic3r PE with other build tools: +TODO: Install paragraph from @supermerill (?), also credit +### Building from the command line -### Building with Visual Studio +There are several options for building from the command line: -To build and debug Slic3r PE with Visual Studio (64 bits), replace the `cmake` command with: +- [msbuild](https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-reference?view=vs-2017&viewFallbackFrom=vs-2013) +- [Ninja](https://ninja-build.org/) +- [nmake](https://docs.microsoft.com/en-us/cpp/build/nmake-reference?view=vs-2017) - cmake .. -G "Visual Studio 12 Win64" -DCMAKE_CONFIGURATION_TYPES=RelWithDebInfo +To build with msbuild, use the same CMake command as in previous paragraph and then build using -For the 32-bit variant, use: + msbuild /P:Configuration=Release ALL_BUILD.vcxproj - cmake .. -G "Visual Studio 12" -DCMAKE_CONFIGURATION_TYPES=RelWithDebInfo +To build with Ninja or nmake, replace the `-G` option in the CMake call with `-G Ninja` or `-G "NMake Makefiles"`, respectively. +Then use either `ninja` or `nmake` to start the build. -After `cmake` has finished, go to the build directory and open the `Slic3r.sln` solution file. -This should open Visual Studio and load the Slic3r solution containing all the projects. -Make sure you use Visual Studio 2013 to open the solution. +### Building the dependencies package yourself -You can then use the usual Visual Studio controls to build Slic3r (Hit `F5` to build and run with debugger). -If you want to run or debug Slic3r from within Visual Studio, make sure the `XS` project is activated. -It should be set as the Startup project by CMake by default, but you might want to check anyway. -There are multiple projects in the Slic3r solution, but only the `XS` project is configured with the right -commands to run and debug Slic3r. +The dependencies package is built using CMake scripts inside the `deps` subdirectory of Slic3r PE sources. +(This is intentionally not interconnected with the CMake scripts in the rest of the sources.) -The above cmake commands generate Visual Studio project files with the `RelWithDebInfo` configuration only. -If you also want to use the `Release` configuration, you can generate Visual Studio projects with: +Open the preferred Visual Studio command line and `cd` into the directory with Slic3r sources. +Then `cd` into the `deps` directory and use these commands to build: - -DCMAKE_CONFIGURATION_TYPES=Release;RelWithDebInfo + mkdir build + cd build + cmake .. -G "Visual Studio 12 Win64" -DDESTDIR="C:\local\destdir-custom" + msbuild ALL_BUILD.vcxproj -(The `Debug` configuration is not supported as of now.) +You can also use the Visual Studio GUI or other generators as mentioned above. -### Building with ninja +The `DESTDIR` option is the location where the bundle will be installed. +This may be customized. If you leave it empty, the `DESTDIR` will be places inside the same `build` directory. -To use [Ninja](https://ninja-build.org/), replace the `cmake` and `nmake` commands with: +Note that the build variant that you may choose using Visual Studio (ie. _Release_ or _Debug_ etc.) when building the dependency package is **not relevant**. +The dependency build will by default build _both_ the _Release_ and _Debug_ variants regardless of what you choose in Visual Studio. +You can disable building of the debug variant by passing the `-DDEP_DEBUG=OFF` option to CMake, this will only produce a _Release_ build. - cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release - ninja +Refer to the CMake scripts inside the `deps` directory to see which dependencies are built in what versions and how this is done. From 8bc8dfaba4abdb88e64379bbb4d3527d87a5ac82 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Fri, 4 Jan 2019 12:06:25 +0100 Subject: [PATCH 017/189] Build: Fix install targets, add SLIC3R_FHS, check resource dir on GUI_App init Fix #1515 --- CMakeLists.txt | 24 ++++++++++++++++++------ src/CMakeLists.txt | 13 +++++++++++++ src/platform/unix/fhs.hpp.in | 2 ++ src/slic3r.cpp | 6 ++++++ src/slic3r/GUI/GUI_App.cpp | 7 ++++++- 5 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 src/platform/unix/fhs.hpp.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 781dbd01ae0..fad1af6f3c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,8 @@ project(Slic3r) cmake_minimum_required(VERSION 3.2) include("version.inc") +include(GNUInstallDirs) + set(SLIC3R_RESOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/resources") file(TO_NATIVE_PATH "${SLIC3R_RESOURCES_DIR}" SLIC3R_RESOURCES_DIR_WIN) @@ -22,6 +24,7 @@ endif() option(SLIC3R_STATIC "Compile Slic3r with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL}) option(SLIC3R_GUI "Compile Slic3r with GUI components (OpenGL, wxWidgets)" 1) +option(SLIC3R_FHS "Assume Slic3r is to be installed in a FHS directory structure" 0) option(SLIC3R_PROFILE "Compile Slic3r with an invasive Shiny profiler" 0) option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 1) option(SLIC3R_MSVC_PDB "Generate PDB files on MSVC in Release mode" 1) @@ -61,6 +64,8 @@ foreach (DIR ${PREFIX_PATH_CHECK}) endif () endforeach () +message(STATUS "SLIC3R_FHS: ${SLIC3R_FHS}") + # Add our own cmake module path. list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules/) @@ -146,12 +151,14 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STRE endif() # Where all the bundled libraries reside? -set(LIBDIR ${CMAKE_CURRENT_SOURCE_DIR}/src/) +set(LIBDIR ${CMAKE_CURRENT_SOURCE_DIR}/src) +set(LIBDIR_BIN ${CMAKE_CURRENT_BINARY_DIR}/src) # For the bundled boost libraries (boost::nowide) include_directories(${LIBDIR}) +# For generated header files +include_directories(${LIBDIR_BIN}/platform) # For libslic3r.h include_directories(${LIBDIR}/clipper ${LIBDIR}/polypartition) -#set(CMAKE_INCLUDE_CURRENT_DIR ON) if(WIN32) # BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking. @@ -215,7 +222,6 @@ endif() # The Intel TBB library will use the std::exception_ptr feature of C++11. add_definitions(-DTBB_USE_CAPTURED_EXCEPTION=0) -#set(CURL_DEBUG 1) find_package(CURL REQUIRED) include_directories(${CURL_INCLUDE_DIRS}) @@ -280,7 +286,6 @@ include_directories(${GLEW_INCLUDE_DIRS}) # l10n set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization") add_custom_target(pot - # FIXME: file list stale COMMAND xgettext --keyword=L --from-code=UTF-8 --debug -f "${L10N_DIR}/list.txt" -o "${L10N_DIR}/Slic3rPE.pot" @@ -307,5 +312,12 @@ if(SLIC3R_BUILD_TESTS) add_subdirectory(tests) endif() -file(GLOB MyVar var/*.png) -install(FILES ${MyVar} DESTINATION share/slic3r-prusa3d) + +# Resources install target, configure fhs.hpp on UNIX +if (WIN32) + install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources") +else () + set(SLIC3R_FHS_RESOURCES "${CMAKE_INSTALL_FULL_DATAROOTDIR}/slic3r-prusa3d") + install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${SLIC3R_FHS_RESOURCES}") +endif () +configure_file(${LIBDIR}/platform/unix/fhs.hpp.in ${LIBDIR_BIN}/platform/unix/fhs.hpp) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 31c8013796b..fa043cf9eed 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -33,6 +33,7 @@ if(PNG_FOUND AND NOT RASTERIZER_FORCE_BUILTIN_LIBPNG) else() set(ZLIB_LIBRARY "") message(WARNING "Using builtin libpng. This can cause crashes on some platforms.") + set(SKIP_INSTALL_ALL 1) # Prevent png+zlib from creating install targets add_subdirectory(png/zlib) set(ZLIB_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/png/zlib ${CMAKE_CURRENT_BINARY_DIR}/png/zlib) include_directories(${ZLIB_INCLUDE_DIR}) @@ -188,3 +189,15 @@ else () VERBATIM ) endif() + +# Slic3r binary install target +if (WIN32) + install(TARGETS slic3r RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}") + if (MSVC) + install(TARGETS slic3r_app_gui RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}") + install(TARGETS slic3r_app_console RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}") + install(TARGETS slic3r_app_noconsole RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}") + endif () +else () + install(TARGETS slic3r RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +endif () diff --git a/src/platform/unix/fhs.hpp.in b/src/platform/unix/fhs.hpp.in new file mode 100644 index 00000000000..8d03d4107d5 --- /dev/null +++ b/src/platform/unix/fhs.hpp.in @@ -0,0 +1,2 @@ +#cmakedefine SLIC3R_FHS @SLIC3R_FHS@ +#define SLIC3R_FHS_RESOURCES "@SLIC3R_FHS_RESOURCES@" diff --git a/src/slic3r.cpp b/src/slic3r.cpp index 59b23c133e0..6cd16889b42 100644 --- a/src/slic3r.cpp +++ b/src/slic3r.cpp @@ -22,6 +22,8 @@ #include #include +#include "unix/fhs.hpp" // Generated by CMake from ../platform/unix/fhs.hpp.in + #include "libslic3r/libslic3r.h" #include "libslic3r/Config.hpp" #include "libslic3r/Geometry.hpp" @@ -77,6 +79,10 @@ int main(int argc, char **argv) // The resources are packed to 'resources' // Path from Slic3r binary to resources: boost::filesystem::path path_resources = path_to_binary.parent_path() / "resources"; +#elif defined SLIC3R_FHS + // The application is packaged according to the Linux Filesystem Hierarchy Standard + // Resources are set to the 'Architecture-independent (shared) data', typically /usr/share or /usr/local/share + boost::filesystem::path path_resources = SLIC3R_FHS_RESOURCES; #else // The application is packed in the .tar.bz archive (or in AppImage) as 'bin/slic3r', // The resources are packed to 'resources' diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 091071e16f3..ce7ea8bac96 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -5,7 +5,6 @@ #include #include -#include #include #include @@ -15,6 +14,7 @@ #include #include #include +#include #include "libslic3r/Utils.hpp" #include "libslic3r/Model.hpp" @@ -83,6 +83,11 @@ GUI_App::GUI_App() bool GUI_App::OnInit() { + // Verify resources path + const wxString resources_dir = from_u8(Slic3r::resources_dir()); + wxCHECK_MSG(wxDirExists(resources_dir), false, + wxString::Format("Resources path does not exist or is not a directory: %s", resources_dir)); + #if ENABLE_IMGUI wxCHECK_MSG(m_imgui->init(), false, "Failed to initialize ImGui"); #endif // ENABLE_IMGUI From 39c0e80ce8ca65beb473f9beee45fd72c95509f6 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 7 Jan 2019 14:00:38 +0100 Subject: [PATCH 018/189] deps: Fix libpng and zlib on Windows --- deps/deps-windows.cmake | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/deps/deps-windows.cmake b/deps/deps-windows.cmake index d49434ecb18..17dfae8bd1c 100644 --- a/deps/deps-windows.cmake +++ b/deps/deps-windows.cmake @@ -121,7 +121,8 @@ ExternalProject_Add(dep_zlib URL_HASH SHA256=4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066 CMAKE_GENERATOR "${DEP_MSVC_GEN}" CMAKE_ARGS - "-DINSTALL_BIN_DIR=${CMAKE_CURRENT_BINARY_DIR}\\fallout" # I found no better way of preventing zlib creating & installing DLLs :-/ + -DSKIP_INSTALL_FILES=ON # Prevent installation of man pages et al. + "-DINSTALL_BIN_DIR=${CMAKE_CURRENT_BINARY_DIR}\\fallout" # I found no better way of preventing zlib from creating & installing DLLs :-/ -DCMAKE_POSITION_INDEPENDENT_CODE=ON "-DCMAKE_INSTALL_PREFIX:PATH=${DESTDIR}\\usr\\local" BUILD_COMMAND msbuild /P:Configuration=Release INSTALL.vcxproj @@ -136,6 +137,19 @@ if (${DEP_DEBUG}) WORKING_DIRECTORY "${BINARY_DIR}" ) endif () +# The following steps are unfortunately needed to remove the _static suffix on libraries +ExternalProject_Add_Step(dep_zlib fix_static + DEPENDEES install + COMMAND "${CMAKE_COMMAND}" -E rename zlibstatic.lib zlib.lib + WORKING_DIRECTORY "${DESTDIR}\\usr\\local\\lib\\" +) +if (${DEP_DEBUG}) + ExternalProject_Add_Step(dep_zlib fix_static_debug + DEPENDEES install + COMMAND "${CMAKE_COMMAND}" -E rename zlibstaticd.lib zlibd.lib + WORKING_DIRECTORY "${DESTDIR}\\usr\\local\\lib\\" + ) +endif () ExternalProject_Add(dep_libpng @@ -147,6 +161,7 @@ ExternalProject_Add(dep_libpng CMAKE_ARGS -DPNG_SHARED=OFF -DPNG_TESTS=OFF + -DSKIP_INSTALL_FILES=ON # Prevent installation of man pages et al. -DCMAKE_POSITION_INDEPENDENT_CODE=ON "-DCMAKE_INSTALL_PREFIX:PATH=${DESTDIR}\\usr\\local" BUILD_COMMAND msbuild /P:Configuration=Release INSTALL.vcxproj @@ -161,6 +176,20 @@ if (${DEP_DEBUG}) WORKING_DIRECTORY "${BINARY_DIR}" ) endif () +# The following steps are unfortunately needed to remove the _static suffix on libraries +# (And also overwrite the dynamic .lib) +ExternalProject_Add_Step(dep_libpng fix_static + DEPENDEES install + COMMAND "${CMAKE_COMMAND}" -E rename libpng16_static.lib libpng16.lib + WORKING_DIRECTORY "${DESTDIR}\\usr\\local\\lib\\" +) +if (${DEP_DEBUG}) + ExternalProject_Add_Step(dep_libpng fix_static_debug + DEPENDEES install + COMMAND "${CMAKE_COMMAND}" -E rename libpng16_staticd.lib libpng16d.lib + WORKING_DIRECTORY "${DESTDIR}\\usr\\local\\lib\\" + ) +endif () if (${DEPS_BITS} EQUAL 32) From 42a4ceaf3eacabce3b1e7d4fdc114f2fb8b62d31 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 7 Jan 2019 15:26:53 +0100 Subject: [PATCH 019/189] doc: Update build doc for Windows --- doc/How to build - Windows.md | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/doc/How to build - Windows.md b/doc/How to build - Windows.md index 96fa24caeb7..898c830d096 100644 --- a/doc/How to build - Windows.md +++ b/doc/How to build - Windows.md @@ -7,16 +7,18 @@ CMake installer can be downloaded from [the official website](https://cmake.org/ Building with newer versions of MSVS (2015, 2017) may work too as reported by some of our users. +_Note:_ Thanks to **@supermerill** for testing and inspiration on this guide. + ### Dependencies On Windows Slic3r is built against statically built libraries. We provide a prebuilt package of all the needed dependencies. The package comes in a several variants: - - [64 bit, Release mode only](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-64.7z) (41 MB, 546 MB unpacked) - - [64 bit, Release and Debug mode](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-64-dev.7z) (88 MB, 1200 MB unpacked) - - [32 bit, Release mode only](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-32.7z) (38 MB, 391 MB unpacked) - - [32 bit, Release and Debug mode](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-32-dev.7z) (24 MB, 487 MB unpacked) + - [64 bit, Release mode only](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-64.7z) (41 MB, 578 MB unpacked) + - [64 bit, Release and Debug mode](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-64-dev.7z) (88 MB, 1.3 GB unpacked) + - [32 bit, Release mode only](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-32.7z) (38 MB, 520 MB unpacked) + - [32 bit, Release and Debug mode](https://bintray.com/vojtechkral/Slic3r-PE/download_file?file_path=destdir-32-dev.7z) (74 MB, 1.1 GB unpacked) When unsure, use the _Release mode only_ variant, the _Release and Debug_ variant is only needed for debugging & developement. @@ -47,7 +49,12 @@ Before building, make sure you're building the right project (use one of those s with the right configuration, ie. _Release_ vs. _Debug_. When unsure, choose _Release_. Note that you won't be able to build a _Debug_ variant against a _Release_-only dependencies package. -TODO: Install paragraph from @supermerill (?), also credit +#### Installing using the `INSTALL` project + +Slic3r PE can be run from the Visual Studio or from Visual Studio's build directory (`src\Release` or `src\Debug`), +but for longer-term usage you migth want to install somewhere using the `INSTALL` project. +By default, this installs into `C:\Program Files\Slic3r`. +To customize the install path, use the `-DCMAKE_INSTALL_PREFIX=` when invoking `cmake`. ### Building from the command line @@ -61,15 +68,17 @@ To build with msbuild, use the same CMake command as in previous paragraph and t msbuild /P:Configuration=Release ALL_BUILD.vcxproj -To build with Ninja or nmake, replace the `-G` option in the CMake call with `-G Ninja` or `-G "NMake Makefiles"`, respectively. +To build with Ninja or nmake, replace the `-G` option in the CMake call with `-G Ninja` or `-G "NMake Makefiles"` , respectively. Then use either `ninja` or `nmake` to start the build. +To install, use `msbuild /P:Configuration=Release INSTALL.vcxproj` , `ninja install` , or `nmake install` . + ### Building the dependencies package yourself The dependencies package is built using CMake scripts inside the `deps` subdirectory of Slic3r PE sources. (This is intentionally not interconnected with the CMake scripts in the rest of the sources.) -Open the preferred Visual Studio command line and `cd` into the directory with Slic3r sources. +Open the preferred Visual Studio command line (64 or 32 bit variant) and `cd` into the directory with Slic3r sources. Then `cd` into the `deps` directory and use these commands to build: mkdir build From 00c9d1f1847e571097c2a79a9ce0de0e458dbc7d Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 7 Jan 2019 15:26:31 +0100 Subject: [PATCH 020/189] doc: Add build tutorial for Mac Fix #1421 Fix #827 Fix #1039 --- doc/How to build - Mac OS.md | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 doc/How to build - Mac OS.md diff --git a/doc/How to build - Mac OS.md b/doc/How to build - Mac OS.md new file mode 100644 index 00000000000..a2d7cf7fe03 --- /dev/null +++ b/doc/How to build - Mac OS.md @@ -0,0 +1,62 @@ + +# Building Slic3r PE on Mac OS + +To build Slic3r PE on Mac OS, you will need to install XCode and an appropriate SDK. +You will also need [CMake](https://cmake.org/) installed (available on Brew) and possibly git. + +Currently Slic3r PE is built against the Mac OS X SDK version 10.9. +Building against older SDKs is unsupported. Building against newer SDKs might work, +but there may be subtle issues, such as dark mode not working very well on Mojave or other GUI problems. + +You can obtain the SDK 10.9 for example [in this repository](https://github.com/phracker/MacOSX-SDKs). +If you don't already have the 10.9 version as part of your Mac OS installation, please download it +and place it into a reachable location. + +The default location for Mac OS SDKs is: + + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ + +Wherever the 10.9 SDK is, please note down its location, it will be required to build Slic3r. + +On my system, for example, the path to the SDK is + + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + +### Dependencies + +Slic3r comes with a set of CMake scripts to build its dependencies, it lives in the `deps` directory. +Open a terminal window and navigate to Slic3r sources directory and then to `deps`. +Use the following commands to build the dependencies: + + mkdir build + cd build + cmake .. -DDEPS_OSX_SYSROOT= + +This will create a dependencies bundle inside the `build/destdir` directory. +You can also customize the bundle output path using the `-DDESTDIR=` option passed to `cmake`. + +### Building Slic3r + +If dependencies built without an error, you can proceed to build Slic3r itself. +Go back to top level Slic3r sources directory and use these commands: + + mkdir build + cd build + cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DCMAKE_OSX_SYSROOT= + +The `CMAKE_PREFIX_PATH` is the path to the dependencies bundle but with `/usr/local` appended - if you set a custom path +using the `DESTDIR` option, you will need to change this accordingly. **Warning:** the `CMAKE_PREFIX_PATH` needs to be an absolute path. + +The CMake command above prepares Slic3r for building from the command line. +To start the build, use + + make -jN + +where `N` is the number of CPU cores, so, for example `make -j4` for a 4-core machine. + +Alternatively, if you would like to use XCode GUI, modify the `cmake` command to include the `-GXcode` option: + + cmake .. -GXcode -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DCMAKE_OSX_SYSROOT= + +and then open the `Slic3r.xcodeproj` file. +This should open up XCode where you can perform build using the GUI or perform other tasks. From f013972d8b2d794cfde39170259d76603b616c76 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 7 Jan 2019 16:28:57 +0100 Subject: [PATCH 021/189] doc: Add build tutorial for Unix/Linux --- deps/CMakeLists.txt | 1 + doc/How to build - Linux et al.md | 66 +++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 doc/How to build - Linux et al.md diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 8f98e0bdaaf..1b23c586486 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -6,6 +6,7 @@ # All the dependencies are installed in a `destdir` directory in the root of the build directory, # in a traditional Unix-style prefix structure. The destdir can be used directly by CMake # when building Slic3r - to do this, set the CMAKE_PREFIX_PATH to ${destdir}/usr/local. +# Warning: On UNIX/Linux, you also need to set -DSLIC3R_STATIC=1 when building Slic3r. # # For better clarity of console output, it's recommended to _not_ use a parallelized build # for the top-level command, ie. use `make -j 1` or `ninja -j 1` to force single-threaded top-level diff --git a/doc/How to build - Linux et al.md b/doc/How to build - Linux et al.md new file mode 100644 index 00000000000..e665cd14cd2 --- /dev/null +++ b/doc/How to build - Linux et al.md @@ -0,0 +1,66 @@ + +# Building Slic3r PE on UNIX/Linux + +Slic3r PE uses the CMake build system and requires several dependencies. +The dependencies can be listed in `deps/deps-linux.cmake`, although they don't necessarily need to be as recent +as the versions listed - generally versions available on conservative Linux distros such as Debian stable or CentOS should suffice. + +Perl is not required any more. + +In a typical situaction, one would open a command line, go to the Slic3r sources, create a directory called `build` or similar, +`cd` into it and call: + + cmake .. + make -jN + +where `N` is the number of CPU cores available. + +Additional CMake flags may be applicable as explained below. + +### Dependenciy resolution + +By default Slic3r looks for dependencies the default way CMake looks for them, ie. in default system locations. +On Linux this will typically make Slic3r depend on dynamically loaded libraries from the system, however, Slic3r can be told +to specifically look for static libraries with the `SLIC3R_STATIC` flag passed to cmake: + + cmake .. -DSLIC3R_STATIC=1 + +Additionally, Slic3r can be built in a static manner mostly independent of the system libraries with a dependencies bundle +created using CMake script in the `deps` directory (these are not interconnected with the rest of the CMake scripts). + +Note: We say _mostly independent_ because it's still expected the system will provide some transitive dependencies, such as GTK for wxWidgets. + +To do this, go to the `deps` directory, create a `build` subdirectory (or the like) and use: + + cmake .. -DDESTDIR= + +where the target destdir is a directory of your choosing where the dependencies will be installed. +You can also omit the `DESTDIR` option to use the default, in that case the `destdir` will be created inside the `build` directory where `cmake` is run. + +To pass the destdir path to the top-level Slic3r CMake script, use the `CMAKE_PREFIX_PATH` option along with turning on `SLIC3R_STATIC`: + + cmake .. -DSLIC3R_STATIC=1 -DCMAKE_PREFIX_PATH=/usr/local + +Note that `/usr/local` needs to be appended to the destdir path and also the prefix path should be absolute. + +**Warning**: Once the dependency bundle is installed in a destdir, the destdir cannot be moved elsewhere. +This is because wxWidgets hardcode the installation path. + +### Build variant + +By default Scli3r builds the release variant. +To create a debug build, use the following CMake flag: + + -DCMAKE_BUILD_TYPE=Debug + +### Installation + +In runtime, Slic3r needs a way to access its resource files. By default, it looks for a `resources` directory relative to its binary. + +If you instead wnat Slic3r installed in a structure according to the Filesystem Hierarchy Standard, use the `SLIC3R_FHS` flag + + cmake .. -DSLIC3R_FHS=1 + +This will make Slic3r look for a fixed-location `share/slic3r-prusa3d` directory instead (note that the location becomes hardcoded). + +You can then use the `make install` target to install Slic3r. From b406eeb2409c836173e3ddbc171a6abd10781605 Mon Sep 17 00:00:00 2001 From: hexane360 Date: Sun, 6 Jan 2019 16:25:38 -0700 Subject: [PATCH 022/189] Fixed several warnings on Linux -isolated C++-only options on newer CMake -Removed warning for ignored-attributes on Clang and GCC --- CMakeLists.txt | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 781dbd01ae0..6cc3b3a266b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,14 +107,17 @@ if (APPLE) endif () if (CMAKE_SYSTEM_NAME STREQUAL "Linux") - # Workaround for an old CMake, which does not understand CMAKE_CXX_STANDARD. - add_compile_options(-std=c++11 -Wall -Wno-reorder) find_package(PkgConfig REQUIRED) + + if (CMAKE_VERSION VERSION_LESS "3.1") + # Workaround for an old CMake, which does not understand CMAKE_CXX_STANDARD. + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + endif() endif() if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX) # Adding -fext-numeric-literals to enable GCC extensions on definitions of quad float literals, which are required by Boost. - add_compile_options(-fext-numeric-literals) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fext-numeric-literals" ) if (SLIC3R_SYNTAXONLY) set(CMAKE_CXX_ARCHIVE_CREATE "true") @@ -131,9 +134,15 @@ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX) endif() if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + add_compile_options(-Wall) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-reorder" ) + # On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error. add_compile_options(-Werror=return-type) + #removes LOTS of extraneous Eigen warnings + add_compile_options(-Wno-ignored-attributes) + if (SLIC3R_ASAN) add_compile_options(-fsanitize=address -fno-omit-frame-pointer) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address") From b96190dc2414b5460161d59c9903a07cd316ed74 Mon Sep 17 00:00:00 2001 From: hexane360 Date: Sun, 6 Jan 2019 16:29:21 -0700 Subject: [PATCH 023/189] Fixed pre-compiled header command line options, especially on Linux --- cmake/modules/PrecompiledHeader.cmake | 28 ++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/cmake/modules/PrecompiledHeader.cmake b/cmake/modules/PrecompiledHeader.cmake index 2880da9f2ef..e4630214411 100644 --- a/cmake/modules/PrecompiledHeader.cmake +++ b/cmake/modules/PrecompiledHeader.cmake @@ -68,11 +68,37 @@ function(export_all_flags _filename) set(_compile_definitions "$") set(_compile_flags "$") set(_compile_options "$") + + #handle config-specific cxx flags + string(TOUPPER ${CMAKE_BUILD_TYPE} _config) + set(_build_cxx_flags ${CMAKE_CXX_FLAGS_${_config}}) + + #handle fpie option + get_target_property(_fpie ${_target} POSITION_INDEPENDENT_CODE) + if (_fpie AND CMAKE_POSITION_INDEPENDENT_CODE) + list(APPEND _compile_options ${CMAKE_CXX_COMPILE_OPTIONS_PIC}) + endif() + + #handle compiler standard (GCC only) + if(CMAKE_COMPILER_IS_GNUCXX) + get_target_property(_cxx_standard ${_target} CXX_STANDARD) + if ((NOT "${_cxx_standard}" STREQUAL NOTFOUND) AND (NOT "${_cxx_standard}" STREQUAL "")) + get_target_property(_cxx_extensions ${_target} CXX_EXTENSIONS) + get_property(_exists TARGET ${_target} PROPERTY CXX_EXTENSIONS SET) + if (NOT _exists OR ${_cxx_extensions}) + list(APPEND _compile_options "-std=gnu++${_cxx_standard}") + else() + list(APPEND _compile_options "-std=c++${_cxx_standard}") + endif() + endif() + endif() + set(_include_directories "$<$:-I$\n>") set(_compile_definitions "$<$:-D$\n>") set(_compile_flags "$<$:$\n>") set(_compile_options "$<$:$\n>") - file(GENERATE OUTPUT "${_filename}" CONTENT "${_compile_definitions}${_include_directories}${_compile_flags}${_compile_options}\n") + set(_cxx_flags "$<$:${CMAKE_CXX_FLAGS}\n>$<$:${_build_cxx_flags}\n>") + file(GENERATE OUTPUT "${_filename}" CONTENT "${_compile_definitions}${_include_directories}${_compile_flags}${_compile_options}${_cxx_flags}\n") endfunction() function(add_precompiled_header _target _input) From 153c6e7f68633b21486e9fb35bfe07367920f6c0 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 8 Jan 2019 09:10:57 +0100 Subject: [PATCH 024/189] Extended limits in z for camera target movements - Fix of #1589 --- src/slic3r/GUI/GLCanvas3D.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 8cd80ad7de9..f2de33bb72b 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -3979,6 +3979,12 @@ BoundingBoxf3 GLCanvas3D::scene_bounding_box() const { BoundingBoxf3 bb = volumes_bounding_box(); bb.merge(m_bed.get_bounding_box()); + if (m_config != nullptr) + { + double h = m_config->opt_float("max_print_height"); + bb.min(2) = std::min(bb.min(2), -h); + bb.max(2) = std::max(bb.max(2), h); + } return bb; } From 66f9582a20a716883237adb107a6ae0599866e6b Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 8 Jan 2019 09:51:58 +0100 Subject: [PATCH 025/189] Fixed sidebar size fields update (which was broken again) --- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 22 ++++++++++------------ src/slic3r/GUI/GUI_ObjectManipulation.hpp | 19 ++++++++++++++----- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index 1848ddda74e..f763cc5a12f 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -244,15 +244,13 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele if ((0 <= obj_idx) && (obj_idx < (int)wxGetApp().model_objects()->size())) { bool changed_box = false; - if ((m_cache.object_idx != obj_idx) || (m_cache.instance_idx != instance_idx)) + if (!m_cache.instance.matches_object(obj_idx)) { - m_cache.object_idx = obj_idx; - m_cache.instance_idx = instance_idx; - m_cache.instance_box_size = (*wxGetApp().model_objects())[obj_idx]->raw_mesh().bounding_box().size(); + m_cache.instance.set(obj_idx, instance_idx, (*wxGetApp().model_objects())[obj_idx]->raw_mesh().bounding_box().size()); changed_box = true; } - if (changed_box || !m_cache.scale.isApprox(100.0 * m_new_scale) || !m_cache.rotation.isApprox(m_new_rotation)) - m_new_size = volume->get_instance_transformation().get_matrix(true, true) * m_cache.instance_box_size; + if (changed_box || !m_cache.instance.matches_instance(instance_idx) || !m_cache.scale.isApprox(100.0 * m_new_scale)) + m_new_size = volume->get_instance_transformation().get_matrix(true, true) * m_cache.instance.box_size; } else // this should never happen @@ -270,8 +268,7 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele else if (selection.is_single_full_object()) { #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - m_cache.object_idx = -1; - m_cache.instance_idx = -1; + m_cache.instance.reset(); #endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION const BoundingBoxf3& box = selection.get_bounding_box(); @@ -286,8 +283,7 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele else if (selection.is_single_modifier() || selection.is_single_volume()) { #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - m_cache.object_idx = -1; - m_cache.instance_idx = -1; + m_cache.instance.reset(); #endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION // the selection contains a single volume @@ -433,8 +429,7 @@ void ObjectManipulation::reset_settings_value() m_new_size = Vec3d::Zero(); m_new_enabled = false; #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - m_cache.object_idx = -1; - m_cache.instance_idx = -1; + m_cache.instance.reset(); #endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION #if !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION m_dirty = true; @@ -514,6 +509,9 @@ void ObjectManipulation::change_scale_value(const Vec3d& scale) canvas->do_scale(); #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + if (!m_cache.scale.isApprox(scale)) + m_cache.instance.instance_idx = -1; + m_cache.scale = scale; #endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.hpp b/src/slic3r/GUI/GUI_ObjectManipulation.hpp index ee768510abf..97cd2b63901 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.hpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.hpp @@ -26,16 +26,25 @@ class ObjectManipulation : public OG_Settings std::string rotate_label_string; std::string scale_label_string; - int object_idx; - int instance_idx; + struct Instance + { + int object_idx; + int instance_idx; + Vec3d box_size; + + Instance() { reset(); } + void reset() { this->object_idx = -1; this->instance_idx = -1; this->box_size = Vec3d::Zero(); } + void set(int object_idx, int instance_idx, const Vec3d& box_size) { this->object_idx = object_idx; this->instance_idx = instance_idx; this->box_size = box_size; } + bool matches(int object_idx, int instance_idx) const { return (this->object_idx == object_idx) && (this->instance_idx == instance_idx); } + bool matches_object(int object_idx) const { return (this->object_idx == object_idx); } + bool matches_instance(int instance_idx) const { return (this->instance_idx == instance_idx); } + }; - Vec3d instance_box_size; + Instance instance; Cache() : position(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) , rotation(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) , scale(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) , size(Vec3d(DBL_MAX, DBL_MAX, DBL_MAX)) , move_label_string("") , rotate_label_string("") , scale_label_string("") - , object_idx(-1) - , instance_idx(-1) { } }; From cfff3832dc8982cc8e4964694faeb228c86b8a03 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 8 Jan 2019 10:06:10 +0100 Subject: [PATCH 026/189] Force SetFocus on 3D view when mouse enters it also on Mac --- src/slic3r/GUI/GLCanvas3D.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index f2de33bb72b..a6d0f4e9d56 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -4945,8 +4945,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) if (evt.Entering()) { -#if defined(__WXMSW__) || defined(__linux__) - // On Windows and Linux needs focus in order to catch key events +//#if defined(__WXMSW__) || defined(__linux__) +// // On Windows and Linux needs focus in order to catch key events + // Set focus in order to remove it from sidebar fields if (m_canvas != nullptr) { // Only set focus, if the top level window of this canvas is active. auto p = dynamic_cast(evt.GetEventObject()); @@ -4958,7 +4959,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) } m_mouse.set_start_position_2D_as_invalid(); -#endif +//#endif } else if (evt.Leaving()) { From 591d42fd762d9d22e6b139d8fc043b60949e43c2 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 8 Jan 2019 10:15:15 +0100 Subject: [PATCH 027/189] Fixed editing of the extruder's settings (SPE-735) --- src/libslic3r/Config.hpp | 4 ++-- src/slic3r/GUI/GUI.cpp | 16 +++++++++------- src/slic3r/GUI/Preset.cpp | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 7f826109a41..e0544b1534e 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -218,7 +218,7 @@ class ConfigOptionVector : public ConfigOptionVectorBase const T& get_at(size_t i) const { return const_cast*>(this)->get_at(i); } - // Resize this vector by duplicating the last value. + // Resize this vector by duplicating the /*last*/first value. // If the current vector is empty, the default value is used instead. void resize(size_t n, const ConfigOption *opt_default = nullptr) override { @@ -238,7 +238,7 @@ class ConfigOptionVector : public ConfigOptionVectorBase this->values.resize(n, static_cast*>(opt_default)->values.front()); } else { // Resize by duplicating the last value. - this->values.resize(n, this->values.back()); + this->values.resize(n, this->values./*back*/front()); } } } diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index df5c1d40766..0a27af9fa71 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -154,13 +154,15 @@ void change_opt_value(DynamicPrintConfig& config, const t_config_option_key& opt } else if (config.def()->get(opt_key)->gui_flags.compare("serialized") == 0) { std::string str = boost::any_cast(value); - if (str.back() == ';') str.pop_back(); - // Split a string to multiple strings by a semi - colon.This is the old way of storing multi - string values. - // Currently used for the post_process config value only. - std::vector values; - boost::split(values, str, boost::is_any_of(";")); - if (values.size() == 1 && values[0] == "") - values.resize(0);//break; + std::vector values {}; + if (!str.empty()) { + if (str.back() == ';') str.pop_back(); + // Split a string to multiple strings by a semi - colon.This is the old way of storing multi - string values. + // Currently used for the post_process config value only. + boost::split(values, str, boost::is_any_of(";")); + if (values.size() == 1 && values[0] == "") + values.resize(0); + } config.option(opt_key)->values = values; } else{ diff --git a/src/slic3r/GUI/Preset.cpp b/src/slic3r/GUI/Preset.cpp index fd2b2645893..112a579b0d9 100644 --- a/src/slic3r/GUI/Preset.cpp +++ b/src/slic3r/GUI/Preset.cpp @@ -1053,7 +1053,7 @@ std::vector PresetCollection::dirty_options(const Preset *edited, c std::vector changed; if (edited != nullptr && reference != nullptr) { changed = deep_compare ? - deep_diff(reference->config, edited->config) : + deep_diff(edited->config, reference->config) : reference->config.diff(edited->config); // The "compatible_printers" option key is handled differently from the others: // It is not mandatory. If the key is missing, it means it is compatible with any printer. From 42e8d8140341153dca83d8d01b3bd09794214987 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Tue, 8 Jan 2019 10:52:11 +0100 Subject: [PATCH 028/189] Fix of "Build plate missing in view #1580" Fixed import of the user config bundle to maintain the "inherits" references to system profiles. --- src/slic3r/GUI/Preset.cpp | 15 +++++++++++ src/slic3r/GUI/Preset.hpp | 3 +++ src/slic3r/GUI/PresetBundle.cpp | 48 ++++++++++++++++++++++----------- 3 files changed, 51 insertions(+), 15 deletions(-) diff --git a/src/slic3r/GUI/Preset.cpp b/src/slic3r/GUI/Preset.cpp index fd2b2645893..0a2f984145d 100644 --- a/src/slic3r/GUI/Preset.cpp +++ b/src/slic3r/GUI/Preset.cpp @@ -1161,6 +1161,21 @@ std::string PresetCollection::name() const } } +std::vector PresetCollection::system_preset_names() const +{ + size_t num = 0; + for (const Preset &preset : m_presets) + if (preset.is_system) + ++ num; + std::vector out; + out.reserve(num); + for (const Preset &preset : m_presets) + if (preset.is_system) + out.emplace_back(preset.name); + std::sort(out.begin(), out.end()); + return out; +} + // Generate a file path from a profile name. Add the ".ini" suffix if it is missing. std::string PresetCollection::path_from_name(const std::string &new_name) const { diff --git a/src/slic3r/GUI/Preset.hpp b/src/slic3r/GUI/Preset.hpp index 96230ad2b8e..24112cf10a8 100644 --- a/src/slic3r/GUI/Preset.hpp +++ b/src/slic3r/GUI/Preset.hpp @@ -365,6 +365,9 @@ class PresetCollection std::vector current_different_from_parent_options(const bool deep_compare = false) const { return dirty_options(&this->get_edited_preset(), this->get_selected_preset_parent(), deep_compare); } + // Return a sorted list of system preset names. + std::vector system_preset_names() const; + // Update the choice UI from the list of presets. // If show_incompatible, all presets are shown, otherwise only the compatible presets are shown. // If an incompatible preset is selected, it is shown as well. diff --git a/src/slic3r/GUI/PresetBundle.cpp b/src/slic3r/GUI/PresetBundle.cpp index 274f2a7ef65..0021ce307ea 100644 --- a/src/slic3r/GUI/PresetBundle.cpp +++ b/src/slic3r/GUI/PresetBundle.cpp @@ -876,7 +876,8 @@ void PresetBundle::load_config_file_config_bundle(const std::string &path, const // The presets starting with '*' are considered non-terminal and they are // removed through the flattening process by this function. // This function will never fail, but it will produce error messages through boost::log. -static void flatten_configbundle_hierarchy(boost::property_tree::ptree &tree, const std::string &group_name) +// system_profiles will not be flattened, and they will be kept inside the "inherits" field +static void flatten_configbundle_hierarchy(boost::property_tree::ptree &tree, const std::string &group_name, const std::vector &system_profiles) { namespace pt = boost::property_tree; @@ -911,23 +912,38 @@ static void flatten_configbundle_hierarchy(boost::property_tree::ptree &tree, co for (const Prst &prst : presets) { // Parse the list of comma separated values, possibly enclosed in quotes. std::vector inherits_names; + std::vector inherits_system; if (Slic3r::unescape_strings_cstyle(prst.node->get("inherits", ""), inherits_names)) { // Resolve the inheritance by name. std::vector &inherits_nodes = const_cast(prst).inherits; for (const std::string &node_name : inherits_names) { - auto it = presets.find(Prst(node_name, nullptr)); - if (it == presets.end()) - BOOST_LOG_TRIVIAL(error) << "flatten_configbundle_hierarchy: The preset " << prst.name << " inherits an unknown preset \"" << node_name << "\""; - else { - inherits_nodes.emplace_back(const_cast(&(*it))); - inherits_nodes.back()->parent_of.emplace_back(const_cast(&prst)); + auto it_system = std::lower_bound(system_profiles.begin(), system_profiles.end(), node_name); + if (it_system != system_profiles.end() && *it_system == node_name) { + // Loading a user config budnle, this preset is derived from a system profile. + inherits_system.emplace_back(node_name); + } else { + auto it = presets.find(Prst(node_name, nullptr)); + if (it == presets.end()) + BOOST_LOG_TRIVIAL(error) << "flatten_configbundle_hierarchy: The preset " << prst.name << " inherits an unknown preset \"" << node_name << "\""; + else { + inherits_nodes.emplace_back(const_cast(&(*it))); + inherits_nodes.back()->parent_of.emplace_back(const_cast(&prst)); + } } } } else { BOOST_LOG_TRIVIAL(error) << "flatten_configbundle_hierarchy: The preset " << prst.name << " has an invalid \"inherits\" field"; } - // Remove the "inherits" key, it has no meaning outside the config bundle. + // Remove the "inherits" key, it has no meaning outside of the config bundle. const_cast(prst.node)->erase("inherits"); + if (! inherits_system.empty()) { + // Loaded a user config bundle, where a profile inherits a system profile. + // User profile should be derived from a single system profile only. + assert(inherits_system.size() == 1); + if (inherits_system.size() > 1) + BOOST_LOG_TRIVIAL(error) << "flatten_configbundle_hierarchy: The preset " << prst.name << " inherits from more than single system preset"; + prst.node->put("inherits", Slic3r::escape_string_cstyle(inherits_system.front())); + } } // 2) Create a linear ordering for the directed acyclic graph of preset inheritance. @@ -983,13 +999,14 @@ static void flatten_configbundle_hierarchy(boost::property_tree::ptree &tree, co } } -static void flatten_configbundle_hierarchy(boost::property_tree::ptree &tree) +// preset_bundle is set when loading user config bundles, which must not overwrite the system profiles. +static void flatten_configbundle_hierarchy(boost::property_tree::ptree &tree, const PresetBundle *preset_bundle) { - flatten_configbundle_hierarchy(tree, "print"); - flatten_configbundle_hierarchy(tree, "filament"); - flatten_configbundle_hierarchy(tree, "sla_print"); - flatten_configbundle_hierarchy(tree, "sla_material"); - flatten_configbundle_hierarchy(tree, "printer"); + flatten_configbundle_hierarchy(tree, "print", preset_bundle ? preset_bundle->prints.system_preset_names() : std::vector()); + flatten_configbundle_hierarchy(tree, "filament", preset_bundle ? preset_bundle->filaments.system_preset_names() : std::vector()); + flatten_configbundle_hierarchy(tree, "sla_print", preset_bundle ? preset_bundle->sla_prints.system_preset_names() : std::vector()); + flatten_configbundle_hierarchy(tree, "sla_material", preset_bundle ? preset_bundle->sla_materials.system_preset_names() : std::vector()); + flatten_configbundle_hierarchy(tree, "printer", preset_bundle ? preset_bundle->printers.system_preset_names() : std::vector()); } // Load a config bundle file, into presets and store the loaded presets into separate files @@ -1019,7 +1036,8 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla } // 1.5) Flatten the config bundle by applying the inheritance rules. Internal profiles (with names starting with '*') are removed. - flatten_configbundle_hierarchy(tree); + // 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); // 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. From 4d0c0ac7483eac299fea266d9a35e8e10e3cd5de Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 8 Jan 2019 11:47:05 +0100 Subject: [PATCH 029/189] Fix of Cyrillic named files inside the object list (part of the #1622) --- src/slic3r/GUI/GUI_ObjectList.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 0b6c38bd84b..729946dbf01 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -849,7 +849,7 @@ void ObjectList::load_part( ModelObject* model_object, new_volume->set_type(static_cast(type)); new_volume->name = boost::filesystem::path(input_file).filename().string(); - part_names.Add(new_volume->name); + part_names.Add(from_u8(new_volume->name)); // set a default extruder value, since user can't add it manually new_volume->config.set_key_value("extruder", new ConfigOptionInt(0)); @@ -903,7 +903,7 @@ void ObjectList::load_generic_subobject(const std::string& type_name, const int m_parts_changed = true; parts_changed(obj_idx); - select_item(m_objects_model->AddVolumeChild(GetSelection(), name, type)); + select_item(m_objects_model->AddVolumeChild(GetSelection(), from_u8(name), type)); #ifndef __WXOSX__ //#ifdef __WXMSW__ // #ys_FIXME selection_changed(); #endif //no __WXOSX__ //__WXMSW__ @@ -1031,7 +1031,7 @@ void ObjectList::split() parent = item; for (auto id = 0; id < model_object->volumes.size(); id++) { - const auto vol_item = m_objects_model->AddVolumeChild(parent, model_object->volumes[id]->name, + const auto vol_item = m_objects_model->AddVolumeChild(parent, from_u8(model_object->volumes[id]->name), model_object->volumes[id]->is_modifier() ? ModelVolume::PARAMETER_MODIFIER : ModelVolume::MODEL_PART, model_object->volumes[id]->config.has("extruder") ? @@ -1188,7 +1188,7 @@ void ObjectList::part_selection_changed() void ObjectList::add_object_to_list(size_t obj_idx) { auto model_object = (*m_objects)[obj_idx]; - wxString item_name = model_object->name; + wxString item_name = from_u8(model_object->name); const auto item = m_objects_model->Add(item_name, !model_object->config.has("extruder") ? 0 : model_object->config.option("extruder")->value); @@ -1207,8 +1207,8 @@ void ObjectList::add_object_to_list(size_t obj_idx) if (model_object->volumes.size() > 1) { for (auto id = 0; id < model_object->volumes.size(); id++) { auto vol_item = m_objects_model->AddVolumeChild(item, - model_object->volumes[id]->name, - model_object->volumes[id]->type()/*ModelVolume::MODEL_PART*/, + from_u8(model_object->volumes[id]->name), + model_object->volumes[id]->type(), !model_object->volumes[id]->config.has("extruder") ? 0 : model_object->volumes[id]->config.option("extruder")->value, false); From 24e0c9b79e7faca2a3cf5a07c216648b385daf1a Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 8 Jan 2019 13:34:47 +0100 Subject: [PATCH 030/189] Added "uniform scaling" button --- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 24 +++++++++++++++++++++-- src/slic3r/GUI/GUI_ObjectManipulation.hpp | 4 ++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index f763cc5a12f..1cdf87be2b0 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -19,7 +19,7 @@ ObjectManipulation::ObjectManipulation(wxWindow* parent) : OG_Settings(parent, true) { m_og->set_name(_(L("Object Manipulation"))); - m_og->label_width = 100; + m_og->label_width = 125; m_og->set_grid_vgap(5); m_og->m_on_change = [this](const std::string& opt_key, const boost::any& value) { @@ -150,7 +150,7 @@ ObjectManipulation::ObjectManipulation(wxWindow* parent) : m_og->append_line(line); - auto add_og_to_object_settings = [](const std::string& option_name, const std::string& sidetext) + auto add_og_to_object_settings = [this](const std::string& option_name, const std::string& sidetext) { Line line = { _(option_name), "" }; ConfigOptionDef def; @@ -164,6 +164,26 @@ ObjectManipulation::ObjectManipulation(wxWindow* parent) : def.max = 360; } + // Add "uniform scaling" button in front of "Scale" option + else if (option_name == "Scale") { + line.near_label_widget = [this](wxWindow* parent) { + auto btn = new PrusaLockButton(parent, wxID_ANY); + btn->Bind(wxEVT_BUTTON, [btn, this](wxCommandEvent &event){ + event.Skip(); + wxTheApp->CallAfter([btn, this]() { set_uniform_scaling(btn->IsLocked()); }); + }); + return btn; + }; + } + + // Add empty bmp (Its size have to be equal to PrusaLockButton) in front of "Size" option to label alignment + else if (option_name == "Size") { + line.near_label_widget = [this](wxWindow* parent) { + return new wxStaticBitmap(parent, wxID_ANY, wxNullBitmap, wxDefaultPosition, + wxBitmap(from_u8(var("one_layer_lock_on.png")), wxBITMAP_TYPE_PNG).GetSize()); + }; + } + const std::string lower_name = boost::algorithm::to_lower_copy(option_name); std::vector axes{ "x", "y", "z" }; diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.hpp b/src/slic3r/GUI/GUI_ObjectManipulation.hpp index 97cd2b63901..57eb93b7149 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.hpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.hpp @@ -74,6 +74,7 @@ class ObjectManipulation : public OG_Settings Vec3d m_new_scale; Vec3d m_new_size; bool m_new_enabled; + bool m_uniform_scale {false}; public: ObjectManipulation(wxWindow* parent); @@ -88,6 +89,9 @@ class ObjectManipulation : public OG_Settings // Called from the App to update the UI if dirty. void update_if_dirty(); + void set_uniform_scaling(const bool uniform_scale) { m_uniform_scale = uniform_scale;} + bool get_uniform_scaling() const { return m_uniform_scale; } + private: void reset_settings_value(); From f26ec7feb37c9a088b99e9df74922e0d15ede149 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 8 Jan 2019 14:03:41 +0100 Subject: [PATCH 031/189] pad wall smoothing only for the top of the wall. --- src/libslic3r/SLA/SLABasePool.cpp | 193 +++++++++--------------------- 1 file changed, 54 insertions(+), 139 deletions(-) diff --git a/src/libslic3r/SLA/SLABasePool.cpp b/src/libslic3r/SLA/SLABasePool.cpp index 5dbbb0440be..fb68ae1d043 100644 --- a/src/libslic3r/SLA/SLABasePool.cpp +++ b/src/libslic3r/SLA/SLABasePool.cpp @@ -215,70 +215,74 @@ inline Contour3D roofs(const ExPolygon& poly, coord_t z_distance) { return lower; } -template Contour3D round_edges(const ExPolygon& base_plate, double radius_mm, double degrees, double ceilheight_mm, bool dir, ThrowOnCancel throw_on_cancel, - ExP&& last_offset = ExP(), D&& last_height = D()) + ExPolygon& last_offset, double& last_height) { auto ob = base_plate; auto ob_prev = ob; double wh = ceilheight_mm, wh_prev = wh; Contour3D curvedwalls; - int steps = 15; // int(std::ceil(10*std::pow(radius_mm, 1.0/3))); + int steps = 30; double stepx = radius_mm / steps; coord_t s = dir? 1 : -1; degrees = std::fmod(degrees, 180); - if(degrees >= 90) { - for(int i = 1; i <= steps; ++i) { - throw_on_cancel(); - - ob = base_plate; - - double r2 = radius_mm * radius_mm; - double xx = i*stepx; - double x2 = xx*xx; - double stepy = std::sqrt(r2 - x2); - - offset(ob, s*mm(xx)); - wh = ceilheight_mm - radius_mm + stepy; - - Contour3D pwalls; - pwalls = walls(ob, ob_prev, wh, wh_prev, throw_on_cancel); - - curvedwalls.merge(pwalls); - ob_prev = ob; - wh_prev = wh; - } - } - - double tox = radius_mm - radius_mm*std::sin(degrees * PI / 180); - int tos = int(tox / stepx); + // we use sin for x distance because we interpret the angle starting from + // PI/2 + int tos = degrees < 90? + int(radius_mm*std::cos(degrees * PI / 180 - PI/2) / stepx) : steps; for(int i = 1; i <= tos; ++i) { throw_on_cancel(); + ob = base_plate; double r2 = radius_mm * radius_mm; - double xx = radius_mm - i*stepx; + double xx = i*stepx; double x2 = xx*xx; double stepy = std::sqrt(r2 - x2); + offset(ob, s*mm(xx)); - wh = ceilheight_mm - radius_mm - stepy; + wh = ceilheight_mm - radius_mm + stepy; Contour3D pwalls; - pwalls = walls(ob_prev, ob, wh_prev, wh, throw_on_cancel); + pwalls = walls(ob, ob_prev, wh, wh_prev, throw_on_cancel); curvedwalls.merge(pwalls); ob_prev = ob; wh_prev = wh; } + if(degrees > 90) { + double tox = radius_mm - radius_mm*std::cos(degrees * PI / 180 - PI/2); + int tos = int(tox / stepx); + + for(int i = 1; i <= tos; ++i) { + throw_on_cancel(); + ob = base_plate; + + double r2 = radius_mm * radius_mm; + double xx = radius_mm - i*stepx; + double x2 = xx*xx; + double stepy = std::sqrt(r2 - x2); + offset(ob, s*mm(xx)); + wh = ceilheight_mm - radius_mm - stepy; + + Contour3D pwalls; + pwalls = walls(ob_prev, ob, wh_prev, wh, throw_on_cancel); + + curvedwalls.merge(pwalls); + ob_prev = ob; + wh_prev = wh; + } + } + last_offset = std::move(ob); last_height = wh; @@ -543,23 +547,33 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, // Generate the smoothed edge geometry - auto curvedwalls = round_edges(ob, - r, - phi, // 170 degrees - 0, // z position of the input plane - true, - thrcl, - ob, wh); - pool.merge(curvedwalls); + auto walledges = round_edges(ob, + r, + phi, // 170 degrees + 0, // z position of the input plane + true, + thrcl, + ob, wh); + pool.merge(walledges); // Now that we have the rounded edge connencting the top plate with // the outer side walls, we can generate and merge the sidewall geometry auto pwalls = walls(ob, inner_base, wh, -fullheight, thrcl); pool.merge(pwalls); + // Generate the smoothed edge geometry + auto cavityedges = round_edges(middle_base, + r, + phi - 90, // 170 degrees + 0, // z position of the input plane + false, + thrcl, + ob, wh); + pool.merge(cavityedges); + // Next is the cavity walls connecting to the top plate's artificially // created hole. - auto cavitywalls = walls(inner_base, middle_base, -wingheight, 0, thrcl); + auto cavitywalls = walls(inner_base, ob, -wingheight, wh, thrcl); pool.merge(cavitywalls); // Now we need to triangulate the top and bottom plates as well as the @@ -580,105 +594,6 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, out.merge(mesh(pool)); } - -// double mdist = 2*(1.8*cfg.min_wall_thickness_mm + 4*cfg.edge_radius_mm) + -// cfg.max_merge_distance_mm; - -// auto concavehs = concave_hull(ground_layer, mdist, cfg.throw_on_cancel); -// for(ExPolygon& concaveh : concavehs) { -// if(concaveh.contour.points.empty()) return; -// concaveh.holes.clear(); - -// const coord_t WALL_THICKNESS = mm(cfg.min_wall_thickness_mm); - -// const coord_t WALL_DISTANCE = mm(2*cfg.edge_radius_mm) + -// coord_t(0.8*WALL_THICKNESS); - -// const coord_t HEIGHT = mm(cfg.min_wall_height_mm); - -// auto outer_base = concaveh; -// offset(outer_base, WALL_THICKNESS+WALL_DISTANCE); -// auto inner_base = outer_base; -// offset(inner_base, -WALL_THICKNESS); -// inner_base.holes.clear(); outer_base.holes.clear(); - -// ExPolygon top_poly; -// top_poly.contour = outer_base.contour; -// top_poly.holes.emplace_back(inner_base.contour); -// auto& tph = top_poly.holes.back().points; -// std::reverse(tph.begin(), tph.end()); - -// Contour3D pool; - -// ExPolygon ob = outer_base; double wh = 0; - -// // now we will calculate the angle or portion of the circle from -// // pi/2 that will connect perfectly with the bottom plate. -// // this is a tangent point calculation problem and the equation can -// // be found for example here: -// // http://www.ambrsoft.com/TrigoCalc/Circles2/CirclePoint/CirclePointDistance.htm -// // the y coordinate would be: -// // y = cy + (r^2*py - r*px*sqrt(px^2 + py^2 - r^2) / (px^2 + py^2) -// // where px and py are the coordinates of the point outside the circle -// // cx and cy are the circle center, r is the radius -// // to get the angle we use arcsin function and subtract 90 degrees then -// // flip the sign to get the right input to the round_edge function. -// double r = cfg.edge_radius_mm; -// double cy = 0; -// double cx = 0; -// double px = cfg.min_wall_thickness_mm; -// double py = r - cfg.min_wall_height_mm; - -// double pxcx = px - cx; -// double pycy = py - cy; -// double b_2 = pxcx*pxcx + pycy*pycy; -// double r_2 = r*r; -// double D = std::sqrt(b_2 - r_2); -// double vy = (r_2*pycy - r*pxcx*D) / b_2; -// double phi = -(std::asin(vy/r) * 180 / PI - 90); - -// auto curvedwalls = round_edges(ob, -// r, -// phi, // 170 degrees -// 0, // z position of the input plane -// true, -// cfg.throw_on_cancel, -// ob, wh); - -// pool.merge(curvedwalls); - -// ExPolygon ob_contr = ob; -// ob_contr.holes.clear(); - -// auto pwalls = walls(ob_contr, inner_base, wh, -cfg.min_wall_height_mm, -// cfg.throw_on_cancel); -// pool.merge(pwalls); - -// Polygons top_triangles, bottom_triangles; -// triangulate(top_poly, top_triangles); -// triangulate(inner_base, bottom_triangles); -// auto top_plate = convert(top_triangles, 0, false); -// auto bottom_plate = convert(bottom_triangles, -HEIGHT, true); - -// ob = inner_base; wh = 0; -// // rounded edge generation for the inner bed -// curvedwalls = round_edges(ob, -// cfg.edge_radius_mm, -// 90, // 90 degrees -// 0, // z position of the input plane -// false, -// cfg.throw_on_cancel, -// ob, wh); -// pool.merge(curvedwalls); - -// auto innerbed = inner_bed(ob, cfg.min_wall_height_mm/2 + wh, wh); - -// pool.merge(top_plate); -// pool.merge(bottom_plate); -// pool.merge(innerbed); - -// out.merge(mesh(pool)); -// } } } From e269758df70ede2cc279d43e8c3e2c8b8066fce2 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 8 Jan 2019 14:42:29 +0100 Subject: [PATCH 032/189] Don't generate the pad cavity if the depth is zero. --- src/libslic3r/SLA/SLABasePool.cpp | 63 ++++++++++++++++++------------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/src/libslic3r/SLA/SLABasePool.cpp b/src/libslic3r/SLA/SLABasePool.cpp index fb68ae1d043..f1e79357dda 100644 --- a/src/libslic3r/SLA/SLABasePool.cpp +++ b/src/libslic3r/SLA/SLABasePool.cpp @@ -498,21 +498,23 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, // be rounded because we offset twice: ones to get the outer (top) plate // and again to get the inner (bottom) plate auto outer_base = concaveh; + outer_base.holes.clear(); offset(outer_base, s_safety_dist + s_wingdist + s_thickness); auto inner_base = outer_base; - auto middle_base = outer_base; offset(inner_base, -(s_thickness + s_wingdist)); - offset(middle_base, -s_thickness); - inner_base.holes.clear(); // bottom contour - middle_base.holes.clear(); // contour of the cavity-top - outer_base.holes.clear(); // bottom contour, also for the cavity // Punching a hole in the top plate for the cavity ExPolygon top_poly; + ExPolygon middle_base; top_poly.contour = outer_base.contour; - top_poly.holes.emplace_back(middle_base.contour); - auto& tph = top_poly.holes.back().points; - std::reverse(tph.begin(), tph.end()); + + if(wingheight > 0) { + middle_base = outer_base; + offset(middle_base, -s_thickness); + top_poly.holes.emplace_back(middle_base.contour); + auto& tph = top_poly.holes.back().points; + std::reverse(tph.begin(), tph.end()); + } Contour3D pool; @@ -549,7 +551,7 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, // Generate the smoothed edge geometry auto walledges = round_edges(ob, r, - phi, // 170 degrees + phi, 0, // z position of the input plane true, thrcl, @@ -561,37 +563,44 @@ void create_base_pool(const ExPolygons &ground_layer, TriangleMesh& out, auto pwalls = walls(ob, inner_base, wh, -fullheight, thrcl); pool.merge(pwalls); - // Generate the smoothed edge geometry - auto cavityedges = round_edges(middle_base, - r, - phi - 90, // 170 degrees - 0, // z position of the input plane - false, - thrcl, - ob, wh); - pool.merge(cavityedges); - - // Next is the cavity walls connecting to the top plate's artificially - // created hole. - auto cavitywalls = walls(inner_base, ob, -wingheight, wh, thrcl); - pool.merge(cavitywalls); + if(wingheight > 0) { + // Generate the smoothed edge geometry + auto cavityedges = round_edges(middle_base, + r, + phi - 90, // from tangent lines + 0, + false, + thrcl, + ob, wh); + pool.merge(cavityedges); + + // Next is the cavity walls connecting to the top plate's + // artificially created hole. + auto cavitywalls = walls(inner_base, ob, -wingheight, wh, thrcl); + pool.merge(cavitywalls); + } // Now we need to triangulate the top and bottom plates as well as the // cavity bottom plate which is the same as the bottom plate but it is // eleveted by the thickness. - Polygons top_triangles, middle_triangles, bottom_triangles; + Polygons top_triangles, bottom_triangles; triangulate(top_poly, top_triangles); - triangulate(inner_base, middle_triangles); triangulate(inner_base, bottom_triangles); + auto top_plate = convert(top_triangles, 0, false); - auto middle_plate = convert(middle_triangles, -mm(wingheight), false); auto bottom_plate = convert(bottom_triangles, -mm(fullheight), true); pool.merge(top_plate); - pool.merge(middle_plate); pool.merge(bottom_plate); + if(wingheight > 0) { + Polygons middle_triangles; + triangulate(inner_base, middle_triangles); + auto middle_plate = convert(middle_triangles, -mm(wingheight), false); + pool.merge(middle_plate); + } + out.merge(mesh(pool)); } } From 7cf67db3321fa4bcae03405be6d6938777b5efa4 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 8 Jan 2019 15:16:40 +0100 Subject: [PATCH 033/189] Uniform scale is sidebar --- src/slic3r/GUI/GLCanvas3D.cpp | 10 ++++++---- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 5 ++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index a6d0f4e9d56..c8bd71754b6 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2513,7 +2513,9 @@ void GLCanvas3D::Selection::_render_sidebar_rotation_hints(const std::string& si void GLCanvas3D::Selection::_render_sidebar_scale_hints(const std::string& sidebar_field) const { - if (boost::ends_with(sidebar_field, "x") || requires_uniform_scale()) + bool uniform_scale = requires_uniform_scale() || wxGetApp().obj_manipul()->get_uniform_scaling(); + + if (boost::ends_with(sidebar_field, "x") || uniform_scale) { ::glPushMatrix(); ::glRotated(-90.0, 0.0, 0.0, 1.0); @@ -2521,14 +2523,14 @@ void GLCanvas3D::Selection::_render_sidebar_scale_hints(const std::string& sideb ::glPopMatrix(); } - if (boost::ends_with(sidebar_field, "y") || requires_uniform_scale()) + if (boost::ends_with(sidebar_field, "y") || uniform_scale) { ::glPushMatrix(); _render_sidebar_scale_hint(Y); ::glPopMatrix(); } - if (boost::ends_with(sidebar_field, "z") || requires_uniform_scale()) + if (boost::ends_with(sidebar_field, "z") || uniform_scale) { ::glPushMatrix(); ::glRotated(90.0, 1.0, 0.0, 0.0); @@ -2559,7 +2561,7 @@ void GLCanvas3D::Selection::_render_sidebar_rotation_hint(Axis axis) const void GLCanvas3D::Selection::_render_sidebar_scale_hint(Axis axis) const { - m_arrow.set_color((requires_uniform_scale() ? UNIFORM_SCALE_COLOR : AXES_COLOR[axis]), 3); + m_arrow.set_color(((requires_uniform_scale() || wxGetApp().obj_manipul()->get_uniform_scaling()) ? UNIFORM_SCALE_COLOR : AXES_COLOR[axis]), 3); ::glTranslated(0.0, 5.0, 0.0); m_arrow.render(); diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index 1cdf87be2b0..84025bae0c0 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -399,6 +399,9 @@ void ObjectManipulation::update_if_dirty() m_cache.rotation = m_new_rotation; +// if (wxGetApp().plater()->canvas3D()->get_selection().requires_uniform_scale()) +// m_uniform_scale = true; + if (m_new_enabled) m_og->enable(); else @@ -499,7 +502,7 @@ void ObjectManipulation::change_scale_value(const Vec3d& scale) { Vec3d scaling_factor = scale; const GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); - if (selection.requires_uniform_scale()) + if (m_uniform_scale || selection.requires_uniform_scale()) { #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION Vec3d abs_scale_diff = (scale - m_cache.scale).cwiseAbs(); From 2ccdfe68531265a51f6f5a7a8788cdbdf765b74f Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 8 Jan 2019 15:26:27 +0100 Subject: [PATCH 034/189] Fixed typo --- src/libslic3r/Geometry.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index ba9c7b00ea2..fc5b158c774 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1194,7 +1194,7 @@ Vec3d extract_euler_angles(const Eigen::Matrix& } else { - angles(1) = 0.0; + angles(0) = 0.0; angles(1) = ::atan2(-rotation_matrix(2, 0), sy); angles(2) = (angles(1) >-0.0) ? ::atan2(rotation_matrix(1, 2), rotation_matrix(1, 1)) : ::atan2(-rotation_matrix(1, 2), rotation_matrix(1, 1)); } From 6efcdd1ddf5bd57b110370cc314f275cded3fb2d Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 8 Jan 2019 16:05:49 +0100 Subject: [PATCH 035/189] Added wxEVT_TEXT_ENTER handling for TextCtrl, SpinCtrl & PointCtrl (but it doesn't work under OSX) (fix of #1518) --- src/slic3r/GUI/Field.cpp | 97 ++++++++++++++++++++++++++-------------- src/slic3r/GUI/Field.hpp | 12 +++-- 2 files changed, 72 insertions(+), 37 deletions(-) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 91052570d05..2c7bce6139a 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -66,12 +66,8 @@ void Field::PostInitialize() BUILD(); } -void Field::on_kill_focus(wxEvent& event) +void Field::on_kill_focus() { - // Without this, there will be nasty focus bugs on Windows. - // Also, docs for wxEvent::Skip() say "In general, it is recommended to skip all - // non-command events to allow the default handling to take place." - event.Skip(); // call the registered function if it is available if (m_on_kill_focus!=nullptr) m_on_kill_focus(m_opt_id); @@ -250,11 +246,23 @@ void TextCtrl::BUILD() { break; } - const long style = m_opt.multiline ? wxTE_MULTILINE : 0; + const long style = m_opt.multiline ? wxTE_MULTILINE : wxTE_PROCESS_ENTER/*0*/; auto temp = new wxTextCtrl(m_parent, wxID_ANY, text_value, wxDefaultPosition, size, style); temp->SetToolTip(get_tooltip_text(text_value)); + if (style == wxTE_PROCESS_ENTER) { + temp->Bind(wxEVT_TEXT_ENTER, ([this, temp](wxEvent& e) + { +#if !defined(__WXGTK__) + e.Skip(); + temp->GetToolTip()->Enable(true); +#endif // __WXGTK__ + propagate_value(); + bEnterPressed = true; + }), temp->GetId()); + } + temp->Bind(wxEVT_SET_FOCUS, ([this](wxEvent& e) { on_set_focus(e); }), temp->GetId()); temp->Bind(wxEVT_LEFT_DOWN, ([temp](wxEvent& event) @@ -272,14 +280,15 @@ void TextCtrl::BUILD() { temp->Bind(wxEVT_KILL_FOCUS, ([this, temp](wxEvent& e) { -#if !defined(__WXGTK__) e.Skip(); +#if !defined(__WXGTK__) temp->GetToolTip()->Enable(true); #endif // __WXGTK__ - if (is_defined_input_value(window, m_opt.type)) - on_change_field(); - else - on_kill_focus(e); + if (bEnterPressed) { + bEnterPressed = false; + return; + } + propagate_value(); }), temp->GetId()); /* temp->Bind(wxEVT_TEXT, ([this](wxCommandEvent& evt) @@ -311,6 +320,14 @@ void TextCtrl::BUILD() { window = dynamic_cast(temp); } +void TextCtrl::propagate_value() +{ + if (is_defined_input_value(window, m_opt.type)) + on_change_field(); + else + on_kill_focus(); +} + boost::any& TextCtrl::get_value() { wxString ret_str = static_cast(window)->GetValue(); @@ -398,7 +415,7 @@ void SpinCtrl::BUILD() { const int max_val = m_opt.max < 2147483647 ? m_opt.max : 2147483647; auto temp = new wxSpinCtrl(m_parent, wxID_ANY, text_value, wxDefaultPosition, size, - 0, min_val, max_val, default_value); + 0|wxTE_PROCESS_ENTER, min_val, max_val, default_value); #ifndef __WXOSX__ // #ys_FIXME_KILL_FOCUS @@ -407,15 +424,23 @@ void SpinCtrl::BUILD() { // and on TEXT event under OSX temp->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { - if (tmp_value < 0) - on_kill_focus(e); - else { - e.Skip(); - on_change_field(); + e.Skip(); + if (bEnterPressed) { + bEnterPressed = false; + return; } + + propagate_value(); }), temp->GetId()); - temp->Bind(wxEVT_SPINCTRL, ([this](wxCommandEvent e) { on_change_field(); }), temp->GetId()); + temp->Bind(wxEVT_SPINCTRL, ([this](wxCommandEvent e) { on_change_field(); }), temp->GetId()); + + temp->Bind(wxEVT_TEXT_ENTER, ([this](wxCommandEvent e) + { + e.Skip(); + propagate_value(); + bEnterPressed = true; + }), temp->GetId()); #endif temp->Bind(wxEVT_TEXT, ([this](wxCommandEvent e) @@ -430,12 +455,7 @@ void SpinCtrl::BUILD() { tmp_value = std::stoi(value); else tmp_value = -9999; #ifdef __WXOSX__ - if (tmp_value < 0) { - if (m_on_kill_focus != nullptr) - m_on_kill_focus(m_opt_id); - } - else - on_change_field(); + propagate_value(); #endif }), temp->GetId()); @@ -445,6 +465,14 @@ void SpinCtrl::BUILD() { window = dynamic_cast(temp); } +void SpinCtrl::propagate_value() +{ + if (tmp_value < 0) + on_kill_focus(); + else + on_change_field(); +} + void Choice::BUILD() { auto size = wxSize(wxDefaultSize); if (m_opt.height >= 0) size.SetHeight(m_opt.height); @@ -483,7 +511,7 @@ void Choice::BUILD() { on_change_field(); } else - on_kill_focus(e); + on_kill_focus(); }), temp->GetId()); } @@ -755,8 +783,8 @@ void PointCtrl::BUILD() val = default_pt(1); wxString Y = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2, wxNumberFormatter::Style_None); - x_textctrl = new wxTextCtrl(m_parent, wxID_ANY, X, wxDefaultPosition, field_size); - y_textctrl = new wxTextCtrl(m_parent, wxID_ANY, Y, wxDefaultPosition, field_size); + x_textctrl = new wxTextCtrl(m_parent, wxID_ANY, X, wxDefaultPosition, field_size, wxEVT_TEXT_ENTER); + y_textctrl = new wxTextCtrl(m_parent, wxID_ANY, Y, wxDefaultPosition, field_size, wxEVT_TEXT_ENTER); temp->Add(new wxStaticText(m_parent, wxID_ANY, "x : "), 0, wxALIGN_CENTER_VERTICAL, 0); temp->Add(x_textctrl); @@ -766,8 +794,11 @@ void PointCtrl::BUILD() // x_textctrl->Bind(wxEVT_TEXT, ([this](wxCommandEvent e) { on_change_field(); }), x_textctrl->GetId()); // y_textctrl->Bind(wxEVT_TEXT, ([this](wxCommandEvent e) { on_change_field(); }), y_textctrl->GetId()); - x_textctrl->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { OnKillFocus(e, x_textctrl); }), x_textctrl->GetId()); - y_textctrl->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { OnKillFocus(e, x_textctrl); }), y_textctrl->GetId()); + x_textctrl->Bind(wxEVT_TEXT_ENTER, ([this](wxCommandEvent e) { propagate_value(x_textctrl); }), x_textctrl->GetId()); + y_textctrl->Bind(wxEVT_TEXT_ENTER, ([this](wxCommandEvent e) { propagate_value(y_textctrl); }), y_textctrl->GetId()); + + x_textctrl->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { e.Skip(); propagate_value(x_textctrl); }), x_textctrl->GetId()); + y_textctrl->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { e.Skip(); propagate_value(y_textctrl); }), y_textctrl->GetId()); // // recast as a wxWindow to fit the calling convention sizer = dynamic_cast(temp); @@ -776,14 +807,12 @@ void PointCtrl::BUILD() y_textctrl->SetToolTip(get_tooltip_text(X+", "+Y)); } -void PointCtrl::OnKillFocus(wxEvent& e, wxTextCtrl* win) +void PointCtrl::propagate_value(wxTextCtrl* win) { - e.Skip(); - if (!win->GetValue().empty()) { + if (!win->GetValue().empty()) on_change_field(); - } else - on_kill_focus(e); + on_kill_focus(); } void PointCtrl::set_value(const Vec2d& value, bool change_event) diff --git a/src/slic3r/GUI/Field.hpp b/src/slic3r/GUI/Field.hpp index 4a19b61033b..bcc94c7bafa 100644 --- a/src/slic3r/GUI/Field.hpp +++ b/src/slic3r/GUI/Field.hpp @@ -74,7 +74,7 @@ class Field { /// Call the attached on_kill_focus method. //! It's important to use wxEvent instead of wxFocusEvent, //! in another case we can't unfocused control at all - void on_kill_focus(wxEvent& event); + void on_kill_focus(); /// Call the attached on_change method. void on_set_focus(wxEvent& event); /// Call the attached on_change method. @@ -226,6 +226,8 @@ class Field { // current value boost::any m_value; + + bool bEnterPressed = false; friend class OptionsGroup; }; @@ -252,6 +254,8 @@ class TextCtrl : public Field { ~TextCtrl() {} void BUILD(); + // Propagate value from field to the OptionGroupe and Config after kill_focus/ENTER + void propagate_value(); wxWindow* window {nullptr}; virtual void set_value(const std::string& value, bool change_event = false) { @@ -310,6 +314,8 @@ class SpinCtrl : public Field { wxWindow* window{ nullptr }; void BUILD() override; + /// Propagate value from field to the OptionGroupe and Config after kill_focus/ENTER + void propagate_value() ; void set_value(const std::string& value, bool change_event = false) { m_disable_change_event = !change_event; @@ -393,8 +399,8 @@ class PointCtrl : public Field { wxTextCtrl* y_textctrl{ nullptr }; void BUILD() override; - - void OnKillFocus(wxEvent& e, wxTextCtrl* win); + // Propagate value from field to the OptionGroupe and Config after kill_focus/ENTER + void propagate_value(wxTextCtrl* win); void set_value(const Vec2d& value, bool change_event = false); void set_value(const boost::any& value, bool change_event = false); boost::any& get_value() override; From 6d7e2b2dd76348b49c54f51be66ebc36ac8617a6 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 9 Jan 2019 08:48:25 +0100 Subject: [PATCH 036/189] Added SetLock() function for PrusaLockButton --- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 8 ++++++-- src/slic3r/GUI/GUI_ObjectManipulation.hpp | 2 ++ src/slic3r/GUI/wxExtensions.cpp | 6 ++++++ src/slic3r/GUI/wxExtensions.hpp | 1 + 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index 84025bae0c0..17371ccf62b 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -172,6 +172,7 @@ ObjectManipulation::ObjectManipulation(wxWindow* parent) : event.Skip(); wxTheApp->CallAfter([btn, this]() { set_uniform_scaling(btn->IsLocked()); }); }); + m_lock_bnt = btn; return btn; }; } @@ -399,8 +400,11 @@ void ObjectManipulation::update_if_dirty() m_cache.rotation = m_new_rotation; -// if (wxGetApp().plater()->canvas3D()->get_selection().requires_uniform_scale()) -// m_uniform_scale = true; + if (wxGetApp().plater()->canvas3D()->get_selection().requires_uniform_scale()) { +// m_uniform_scale = true; + m_lock_bnt->SetLock(true); +// m_lock_bnt->Disable(); + } if (m_new_enabled) m_og->enable(); diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.hpp b/src/slic3r/GUI/GUI_ObjectManipulation.hpp index 57eb93b7149..d0afa528eb2 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.hpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.hpp @@ -7,6 +7,7 @@ #include "GLCanvas3D.hpp" class wxStaticText; +class PrusaLockButton; namespace Slic3r { namespace GUI { @@ -75,6 +76,7 @@ class ObjectManipulation : public OG_Settings Vec3d m_new_size; bool m_new_enabled; bool m_uniform_scale {false}; + PrusaLockButton* m_lock_bnt{ nullptr }; public: ObjectManipulation(wxWindow* parent); diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 466580074ba..9ffa649ccf3 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -2216,6 +2216,12 @@ void PrusaLockButton::OnButton(wxCommandEvent& event) event.Skip(); } +void PrusaLockButton::SetLock(bool lock) +{ + m_is_pushed = lock; + enter_button(true); +} + void PrusaLockButton::enter_button(const bool enter) { wxBitmap* icon = m_is_pushed ? diff --git a/src/slic3r/GUI/wxExtensions.hpp b/src/slic3r/GUI/wxExtensions.hpp index b951c563515..b6f7a4220cc 100644 --- a/src/slic3r/GUI/wxExtensions.hpp +++ b/src/slic3r/GUI/wxExtensions.hpp @@ -851,6 +851,7 @@ class PrusaLockButton : public wxButton void OnLeaveBtn(wxMouseEvent& event) { enter_button(false); event.Skip(); } bool IsLocked() const { return m_is_pushed; } + void SetLock(bool lock); protected: void enter_button(const bool enter); From 410211a3e44e60bd6fbc2284b86b457f60a268f5 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 9 Jan 2019 09:47:05 +0100 Subject: [PATCH 037/189] Completed uniform scale in sidebar --- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 9 ++++++--- src/slic3r/GUI/wxExtensions.cpp | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index 17371ccf62b..a03b0a21201 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -401,9 +401,12 @@ void ObjectManipulation::update_if_dirty() m_cache.rotation = m_new_rotation; if (wxGetApp().plater()->canvas3D()->get_selection().requires_uniform_scale()) { -// m_uniform_scale = true; m_lock_bnt->SetLock(true); -// m_lock_bnt->Disable(); + m_lock_bnt->Disable(); + } + else { + m_lock_bnt->SetLock(m_uniform_scale); + m_lock_bnt->Enable(); } if (m_new_enabled) @@ -562,7 +565,7 @@ void ObjectManipulation::change_size_value(const Vec3d& size) Vec3d scale = 100.0 * Vec3d(size(0) / ref_size(0), size(1) / ref_size(1), size(2) / ref_size(2)); Vec3d scaling_factor = scale; - if (selection.requires_uniform_scale()) + if (m_uniform_scale || selection.requires_uniform_scale()) { Vec3d abs_scale_diff = (scale - m_cache.scale).cwiseAbs(); double max_diff = abs_scale_diff(X); diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 9ffa649ccf3..61aee6a67b2 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -2201,6 +2201,7 @@ PrusaLockButton::PrusaLockButton( wxWindow *parent, SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); #endif // __WXMSW__ SetBitmap(m_bmp_unlock_on); + SetBitmapDisabled(m_bmp_lock_on); //button events Bind(wxEVT_BUTTON, &PrusaLockButton::OnButton, this); From abc38ebc824cd151ca5c612a4583b4a23dac615e Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 9 Jan 2019 10:12:04 +0100 Subject: [PATCH 038/189] Fixed orientation of visual hints for sidebar scale fields --- src/slic3r/GUI/GLCanvas3D.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index c8bd71754b6..9d70fbc1b2e 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2039,11 +2039,17 @@ void GLCanvas3D::Selection::render_sidebar_hints(const std::string& sidebar_fiel const Vec3d& center = get_bounding_box().center(); if (is_single_full_instance()) + { ::glTranslated(center(0), center(1), center(2)); + if (boost::starts_with(sidebar_field, "scale")) + { + Transform3d orient_matrix = (*m_volumes)[*m_list.begin()]->get_instance_transformation().get_matrix(true, false, true, true); + ::glMultMatrixd(orient_matrix.data()); + } + } else if (is_single_volume() || is_single_modifier()) { - const GLVolume* volume = (*m_volumes)[*m_list.begin()]; - Transform3d orient_matrix = volume->get_instance_transformation().get_matrix(true, false, true, true); + Transform3d orient_matrix = (*m_volumes)[*m_list.begin()]->get_instance_transformation().get_matrix(true, false, true, true); const Vec3d& offset = get_bounding_box().center(); ::glTranslated(offset(0), offset(1), offset(2)); @@ -2054,8 +2060,7 @@ void GLCanvas3D::Selection::render_sidebar_hints(const std::string& sidebar_fiel ::glTranslated(center(0), center(1), center(2)); if (requires_local_axes()) { - const GLVolume* volume = (*m_volumes)[*m_list.begin()]; - Transform3d orient_matrix = volume->get_instance_transformation().get_matrix(true, false, true, true); + Transform3d orient_matrix = (*m_volumes)[*m_list.begin()]->get_instance_transformation().get_matrix(true, false, true, true); ::glMultMatrixd(orient_matrix.data()); } } From 2dadf4b5dc153f734d4b095d62d99224dc0502c7 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 9 Jan 2019 10:30:29 +0100 Subject: [PATCH 039/189] Fixed a crash after settings adding for the instance from the scene's context menu --- src/slic3r/GUI/GUI_ObjectList.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 729946dbf01..bc54b23210f 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -633,8 +633,10 @@ void ObjectList::get_settings_choice(const wxString& category_name) // Add settings item for object - const auto item = GetSelection(); + auto item = GetSelection(); if (item) { + if (m_objects_model->GetItemType(item) == itInstance) + item = m_objects_model->GetTopParent(item); const auto settings_item = m_objects_model->IsSettingsItem(item) ? item : m_objects_model->GetSettingsItem(item); select_item(settings_item ? settings_item : m_objects_model->AddSettingsChild(item)); @@ -903,7 +905,8 @@ void ObjectList::load_generic_subobject(const std::string& type_name, const int m_parts_changed = true; parts_changed(obj_idx); - select_item(m_objects_model->AddVolumeChild(GetSelection(), from_u8(name), type)); + const auto object_item = m_objects_model->GetTopParent(GetSelection()); + select_item(m_objects_model->AddVolumeChild(object_item, from_u8(name), type)); #ifndef __WXOSX__ //#ifdef __WXMSW__ // #ys_FIXME selection_changed(); #endif //no __WXOSX__ //__WXMSW__ @@ -1156,6 +1159,10 @@ void ObjectList::part_selection_changed() else if (m_objects_model->GetItemType(item) == itInstance) { og_name = _(L("Instance manipulation")); update_and_show_manipulations = true; + + // fill m_config by object's values + const int obj_idx_ = m_objects_model->GetObjectIdByItem(item); + m_config = &(*m_objects)[obj_idx_]->config; } } From 5b1c1d592261e96f626b1172601a5bd0e4348575 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 9 Jan 2019 10:43:17 +0100 Subject: [PATCH 040/189] Fixed a bug in the Win32 start wrapper (wrong number of parameters was passed for the GUI slic3r.exe). Reworked command line processing for the GUI slic3r. Now the config is loaded first, then the model files (also the configs from AMF/3MF are applied), and lastly the free standing parameters are applied. Fixed unescaping for command line parameters. The string parameters are now not unescaped, string vector parameters are unescaped only if enquoted. Tab::load_current_preset() - disabled CallAfter for predictability. With CallAfter, it was difficult to call the method in sequence with other methods. Fixed some missing ->Destroy() calls on dialogs created from MainFrame Fixed some compiler warnings. --- src/libslic3r/Config.cpp | 40 +++++++++------ src/libslic3r/Point.hpp | 2 +- src/libslic3r/PrintConfig.hpp | 5 +- src/slic3r.cpp | 54 +++++++++++++++------ src/slic3r/GUI/MainFrame.cpp | 91 ++++++++++++++++++++++++----------- src/slic3r/GUI/MainFrame.hpp | 9 ++-- src/slic3r/GUI/Plater.cpp | 10 ++++ src/slic3r/GUI/Plater.hpp | 2 + src/slic3r/GUI/Tab.cpp | 13 +++-- src/slic3r/GUI/Tab.hpp | 2 - src/slic3r_app_msvc.cpp | 58 ++++++++++++++-------- 11 files changed, 194 insertions(+), 92 deletions(-) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index c295d6def1e..c9fbe90ace2 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -604,23 +604,31 @@ bool DynamicConfig::read_cli(int argc, char** argv, t_config_option_keys* extra) value = argv[++ i]; } // Store the option value. - const bool existing = this->has(opt_key); - if (ConfigOptionBool* opt = this->opt(opt_key, true)) { - opt->value = !no; - } else if (ConfigOptionBools* opt = this->opt(opt_key, true)) { - if (!existing) opt->values.clear(); // remove the default values - opt->values.push_back(!no); - } else if (ConfigOptionStrings* opt = this->opt(opt_key, true)) { - if (!existing) opt->values.clear(); // remove the default values - opt->deserialize(value, true); - } else if (ConfigOptionFloats* opt = this->opt(opt_key, true)) { - if (!existing) opt->values.clear(); // remove the default values - opt->deserialize(value, true); - } else if (ConfigOptionPoints* opt = this->opt(opt_key, true)) { - if (!existing) opt->values.clear(); // remove the default values - opt->deserialize(value, true); + const bool existing = this->has(opt_key); + ConfigOption *opt_base = this->option(opt_key, true); + ConfigOptionVectorBase *opt_vector = opt_base->is_vector() ? static_cast(opt_base) : nullptr; + if (opt_vector) { + // Vector values will be chained. Repeated use of a parameter will append the parameter or parameters + // to the end of the value. + if (!existing) + // remove the default values + opt_vector->deserialize("", true); + if (opt_base->type() == coBools) + static_cast(opt_base)->values.push_back(!no); + else + // Deserialize any other vector value (ConfigOptionInts, Floats, Percents, Points) the same way + // they get deserialized from an .ini file. For ConfigOptionStrings, that means that the C-style unescape + // will be applied for values enclosed in quotes, while values non-enclosed in quotes are left to be + // unescaped by the calling shell. + opt_vector->deserialize(value, true); + } else if (opt_base->type() == coBool) { + static_cast(opt_base)->value = !no; + } else if (opt_base->type() == coString) { + // Do not unescape single string values, the unescaping is left to the calling shell. + static_cast(opt_base)->value = value; } else { - this->set_deserialize(opt_key, value, true); + // Any scalar value of a type different from Bool and String. + this->set_deserialize(opt_key, value, false); } } return true; diff --git a/src/libslic3r/Point.hpp b/src/libslic3r/Point.hpp index d9266736232..d456fb9c6c3 100644 --- a/src/libslic3r/Point.hpp +++ b/src/libslic3r/Point.hpp @@ -103,7 +103,7 @@ class Point : public Vec2crd Point& operator+=(const Point& rhs) { (*this)(0) += rhs(0); (*this)(1) += rhs(1); return *this; } Point& operator-=(const Point& rhs) { (*this)(0) -= rhs(0); (*this)(1) -= rhs(1); return *this; } - Point& operator*=(const double &rhs) { (*this)(0) *= rhs; (*this)(1) *= rhs; return *this; } + Point& operator*=(const double &rhs) { (*this)(0) = coord_t((*this)(0) * rhs); (*this)(1) = coord_t((*this)(1) * rhs); return *this; } void rotate(double angle); void rotate(double angle, const Point ¢er); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 8713ed03f02..4e12114df0e 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1164,12 +1164,11 @@ class CLIConfig : public virtual ConfigBase, public StaticConfig class DynamicPrintAndCLIConfig : public DynamicPrintConfig { public: - DynamicPrintAndCLIConfig() { this->apply(FullPrintConfig::defaults()); this->apply(CLIConfig()); } - DynamicPrintAndCLIConfig(const DynamicPrintAndCLIConfig &other) : DynamicPrintConfig(other) {} + DynamicPrintAndCLIConfig() {} + DynamicPrintAndCLIConfig(const DynamicPrintAndCLIConfig &other) : DynamicPrintConfig(other) {} // Overrides ConfigBase::def(). Static configuration definition. Any value stored into this ConfigBase shall have its definition here. const ConfigDef* def() const override { return &s_def; } - t_config_option_keys keys() const override { return s_def.keys(); } // Verify whether the opt_key has not been obsoleted or renamed. // Both opt_key and value may be modified by handle_legacy(). diff --git a/src/slic3r.cpp b/src/slic3r.cpp index 6cd16889b42..d242df16891 100644 --- a/src/slic3r.cpp +++ b/src/slic3r.cpp @@ -59,10 +59,10 @@ int main(int argc, char **argv) } // parse all command line options into a DynamicConfig - DynamicPrintAndCLIConfig config; + DynamicPrintAndCLIConfig all_config; t_config_option_keys input_files; // if any option is unsupported, print usage and abort immediately - if (! config.read_cli(argc, argv, &input_files)) { + if (! all_config.read_cli(argc, argv, &input_files)) { printUsage(); return 0; } @@ -96,21 +96,15 @@ int main(int argc, char **argv) // apply command line options to a more handy CLIConfig CLIConfig cli_config; - cli_config.apply(config, true); + cli_config.apply(all_config, true); set_data_dir(cli_config.datadir.value); - DynamicPrintConfig print_config; + // Load the extra config values. + DynamicPrintConfig extra_config; + extra_config.apply(all_config, true); - if ((argc == 1 || cli_config.gui.value) && ! cli_config.no_gui.value && ! cli_config.help.value && cli_config.save.value.empty()) { -#if 1 - GUI::GUI_App *gui = new GUI::GUI_App(); - GUI::GUI_App::SetInstance(gui); - wxEntry(argc, argv); -#else - std::cout << "GUI support has not been built." << "\n"; -#endif - } // load config files supplied via --load + DynamicPrintConfig print_config; for (const std::string &file : cli_config.load.values) { if (! boost::filesystem::exists(file)) { boost::nowide::cout << "No such file: " << file << std::endl; @@ -126,10 +120,40 @@ int main(int argc, char **argv) c.normalize(); print_config.apply(c); } - + + if ((argc == 1 || cli_config.gui.value) && ! cli_config.no_gui.value && ! cli_config.help.value && cli_config.save.value.empty()) { +#if 1 + GUI::GUI_App *gui = new GUI::GUI_App(); + GUI::GUI_App::SetInstance(gui); + gui->CallAfter([gui, &input_files, &cli_config, &extra_config, &print_config] { +#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 (! print_config.empty()) + gui->mainframe->load_config(print_config); +#endif + if (! cli_config.load.values.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(cli_config.load.values.back()); + // If loading a 3MF file, the config is loaded from the last one. + gui->plater()->load_files(input_files, true, true); + if (! extra_config.empty()) + gui->mainframe->load_config(extra_config); + }); + return wxEntry(argc, argv); +#else + std::cout << "GUI support has not been built." << "\n"; + return -1; +#endif + } + // apply command line options to a more specific DynamicPrintConfig which provides normalize() // (command line options override --load files) - print_config.apply(config, true); + print_config.apply(extra_config, true); // write config if requested if (! cli_config.save.value.empty()) { diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 7eff483cf8c..a721d1e1894 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -10,6 +10,8 @@ #include #include +#include + #include "libslic3r/Print.hpp" #include "libslic3r/Polygon.hpp" @@ -635,28 +637,34 @@ void MainFrame::export_config() } // Load a config file containing a Print, Filament & Printer preset. -void MainFrame::load_config_file(wxString file/* = wxEmptyString*/) +void MainFrame::load_config_file() { - if (file.IsEmpty()) { - if (!wxGetApp().check_unsaved_changes()) - return; - auto dlg = new wxFileDialog(this, _(L("Select configuration to load:")), - !m_last_config.IsEmpty() ? get_dir_name(m_last_config) : wxGetApp().app_config->get_last_dir(), - "config.ini", "INI files (*.ini, *.gcode)|*.ini;*.INI;*.gcode;*.g", wxFD_OPEN | wxFD_FILE_MUST_EXIST); - if (dlg->ShowModal() != wxID_OK) - return; - file = dlg->GetPath(); - dlg->Destroy(); + if (!wxGetApp().check_unsaved_changes()) + return; + auto dlg = new wxFileDialog(this, _(L("Select configuration to load:")), + !m_last_config.IsEmpty() ? get_dir_name(m_last_config) : wxGetApp().app_config->get_last_dir(), + "config.ini", "INI files (*.ini, *.gcode)|*.ini;*.INI;*.gcode;*.g", wxFD_OPEN | wxFD_FILE_MUST_EXIST); + wxString file; + if (dlg->ShowModal() == wxID_OK) + file = dlg->GetPath(); + dlg->Destroy(); + if (! file.IsEmpty() && this->load_config_file(file.ToUTF8().data())) { + wxGetApp().app_config->update_config_dir(get_dir_name(file)); + m_last_config = file; } +} + +// Load a config file containing a Print, Filament & Printer preset from command line. +bool MainFrame::load_config_file(const std::string &path) +{ try { - wxGetApp().preset_bundle->load_config_file(file.ToUTF8().data()); + wxGetApp().preset_bundle->load_config_file(path); } catch (const std::exception &ex) { show_error(this, ex.what()); - return; + return false; } - wxGetApp().load_current_presets(); - wxGetApp().app_config->update_config_dir(get_dir_name(file)); - m_last_config = file; + wxGetApp().load_current_presets(); + return true; } void MainFrame::export_configbundle() @@ -700,11 +708,13 @@ void MainFrame::load_configbundle(wxString file/* = wxEmptyString, const bool re auto dlg = new wxFileDialog(this, _(L("Select configuration to load:")), !m_last_config.IsEmpty() ? get_dir_name(m_last_config) : wxGetApp().app_config->get_last_dir(), "config.ini", file_wildcards(FT_INI), wxFD_OPEN | wxFD_FILE_MUST_EXIST); - if (dlg->ShowModal() != wxID_OK) - return; + if (dlg->ShowModal() != wxID_OK) { + dlg->Destroy(); + return; + } file = dlg->GetPath(); - dlg->Destroy(); - } + dlg->Destroy(); + } wxGetApp().app_config->update_config_dir(get_dir_name(file)); @@ -727,10 +737,37 @@ void MainFrame::load_configbundle(wxString file/* = wxEmptyString, const bool re // Also update the platter with the new presets. void MainFrame::load_config(const DynamicPrintConfig& config) { - for (auto tab : wxGetApp().tabs_list) - tab->load_config(config); - if (m_plater) + PrinterTechnology printer_technology = wxGetApp().preset_bundle->printers.get_edited_preset().printer_technology(); + const auto *opt_printer_technology = config.option>("printer_technology"); + if (opt_printer_technology != nullptr && opt_printer_technology->value != printer_technology) { + printer_technology = opt_printer_technology->value; + this->plater()->set_printer_technology(printer_technology); + } +#if 0 + for (auto tab : wxGetApp().tabs_list) + if (tab->supports_printer_technology(printer_technology)) { + if (tab->name() == "printer") + static_cast(tab)->update_pages(); + tab->load_config(config); + } + if (m_plater) m_plater->on_config_change(config); +#else + // Load the currently selected preset into the GUI, update the preset selection box. + //FIXME this is not quite safe for multi-extruder printers, + // as the number of extruders is not adjusted for the vector values. + // (see PresetBundle::update_multi_material_filament_presets()) + // Better to call PresetBundle::load_config() instead? + for (auto tab : wxGetApp().tabs_list) + if (tab->supports_printer_technology(printer_technology)) { + // Only apply keys, which are present in the tab's config. Ignore the other keys. + for (const std::string &opt_key : tab->get_config()->diff(config)) + // Ignore print_settings_id, printer_settings_id, filament_settings_id etc. + if (! boost::algorithm::ends_with(opt_key, "_settings_id")) + tab->get_config()->option(opt_key)->set(config.option(opt_key)); + } + wxGetApp().load_current_presets(); +#endif } void MainFrame::select_tab(size_t tab) const @@ -806,14 +843,14 @@ void MainFrame::update_ui_from_settings() tab->update_ui_from_settings(); } -std::string MainFrame::get_base_name(const wxString full_name) const +std::string MainFrame::get_base_name(const wxString &full_name) const { - return boost::filesystem::path(full_name).filename().string(); + return boost::filesystem::path(full_name.wx_str()).filename().string(); } -std::string MainFrame::get_dir_name(const wxString full_name) const +std::string MainFrame::get_dir_name(const wxString &full_name) const { - return boost::filesystem::path(full_name).parent_path().string(); + return boost::filesystem::path(full_name.wx_str()).parent_path().string(); } diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index e0411b6dad9..9549069039f 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -53,8 +53,8 @@ class MainFrame : public wxFrame PrintHostQueueDialog *m_printhost_queue_dlg; - std::string get_base_name(const wxString full_name) const ; - std::string get_dir_name(const wxString full_name) const ; + std::string get_base_name(const wxString &full_name) const; + std::string get_dir_name(const wxString &full_name) const; void on_presets_changed(SimpleEvent&); void on_value_changed(wxCommandEvent&); @@ -86,7 +86,10 @@ class MainFrame : public wxFrame void reslice_now(); void repair_stl(); void export_config(); - void load_config_file(wxString file = wxEmptyString); + // Query user for the config file and open it. + void load_config_file(); + // Open a config file. Return true if loaded. + bool load_config_file(const std::string &path); void export_configbundle(); void load_configbundle(wxString file = wxEmptyString); void load_config(const DynamicPrintConfig& config); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 941a181d386..9fb87a197a7 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2594,6 +2594,16 @@ void Plater::extract_config_from_project() void Plater::load_files(const std::vector& input_files, bool load_model, bool load_config) { p->load_files(input_files, load_model, load_config); } +// To be called when providing a list of files to the GUI slic3r on command line. +void Plater::load_files(const std::vector& input_files, bool load_model, bool load_config) +{ + std::vector paths; + paths.reserve(input_files.size()); + for (const std::string &path : input_files) + paths.emplace_back(path); + p->load_files(paths, load_model, load_config); +} + void Plater::update() { p->update(); } void Plater::update_ui_from_settings() { p->update_ui_from_settings(); } diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index f433d655d74..11a4f0453a4 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -116,6 +116,8 @@ class Plater: public wxPanel void extract_config_from_project(); void load_files(const std::vector& input_files, bool load_model = true, bool load_config = true); + // To be called when providing a list of files to the GUI slic3r on command line. + void load_files(const std::vector& input_files, bool load_model = true, bool load_config = true); void update(); void select_view(const std::string& direction); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 162e621557e..4601d05d382 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2283,7 +2283,7 @@ void TabPrinter::update_sla() // Initialize the UI from the current preset void Tab::load_current_preset() { - auto preset = m_presets->get_edited_preset(); + const Preset& preset = m_presets->get_edited_preset(); (preset.is_default || preset.is_system) ? m_btn_delete_preset->Disable() : m_btn_delete_preset->Enable(true); @@ -2302,11 +2302,14 @@ void Tab::load_current_preset() m_undo_to_sys_btn->Enable(!preset.is_default); +#if 0 // use CallAfter because some field triggers schedule on_change calls using CallAfter, // and we don't want them to be called after this update_dirty() as they would mark the // preset dirty again // (not sure this is true anymore now that update_dirty is idempotent) - wxTheApp->CallAfter([this]{ + wxTheApp->CallAfter([this] +#endif + { // checking out if this Tab exists till this moment if (!wxGetApp().checked_tab(this)) return; @@ -2354,7 +2357,10 @@ void Tab::load_current_preset() init_options_list(); update_visibility(); update_changed_ui(); - }); + } +#if 0 + ); +#endif } //Regerenerate content of the page tree. @@ -2428,7 +2434,6 @@ void Tab::select_preset(std::string preset_name) bool print_tab = m_presets->type() == Preset::TYPE_PRINT || m_presets->type() == Preset::TYPE_SLA_PRINT; bool printer_tab = m_presets->type() == Preset::TYPE_PRINTER; bool canceled = false; -// m_reload_dependent_tabs = {}; m_dependent_tabs = {}; if (current_dirty && !may_discard_current_dirty_preset()) { canceled = true; diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index 4263696d1c5..b3288a80d77 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -185,7 +185,6 @@ class Tab: public wxPanel bool m_disable_tree_sel_changed_event; bool m_show_incompatible_presets; - std::vector m_reload_dependent_tabs = {}; std::vector m_dependent_tabs = {}; enum OptStatus { osSystemValue = 1, osInitValue = 2 }; std::map m_options_list; @@ -265,7 +264,6 @@ class Tab: public wxPanel DynamicPrintConfig* get_config() { return m_config; } PresetCollection* get_presets() { return m_presets; } - std::vector get_dependent_tabs() { return m_reload_dependent_tabs; } size_t get_selected_preset_item() { return m_selected_preset_item; } void on_value_change(const std::string& opt_key, const boost::any& value); diff --git a/src/slic3r_app_msvc.cpp b/src/slic3r_app_msvc.cpp index 7cd97dfc364..ff5ad6cfa45 100644 --- a/src/slic3r_app_msvc.cpp +++ b/src/slic3r_app_msvc.cpp @@ -21,6 +21,8 @@ __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; #include #include +#include + class OpenGLVersionCheck { public: @@ -44,8 +46,8 @@ class OpenGLVersionCheck if (RegisterClass(&wc)) { HWND hwnd = CreateWindowW(wc.lpszClassName, L"slic3r_opengl_version_check", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, wc.hInstance, (LPVOID)this); if (hwnd) { - this->message_pump_exit = false; - while (GetMessage(&msg, NULL, 0, 0 ) > 0 && ! this->message_pump_exit) + message_pump_exit = false; + while (GetMessage(&msg, NULL, 0, 0 ) > 0 && ! message_pump_exit) DispatchMessage(&msg); } } @@ -55,13 +57,18 @@ class OpenGLVersionCheck void unload_opengl_dll() { if (this->hOpenGL) { - FreeLibrary(this->hOpenGL); + BOOL released = FreeLibrary(this->hOpenGL); + if (released) + printf("System OpenGL library released\n"); + else + printf("System OpenGL library NOT released\n"); this->hOpenGL = nullptr; } } bool is_version_greater_or_equal_to(unsigned int major, unsigned int minor) const { + // printf("is_version_greater_or_equal_to, version: %s\n", version.c_str()); std::vector tokens; boost::split(tokens, version, boost::is_any_of(" "), boost::token_compress_on); if (tokens.empty()) @@ -76,6 +83,7 @@ class OpenGLVersionCheck gl_major = ::atoi(numbers[0].c_str()); if (numbers.size() > 1) gl_minor = ::atoi(numbers[1].c_str()); + // printf("Major: %d, minor: %d\n", gl_major, gl_minor); if (gl_major < major) return false; else if (gl_major > major) @@ -85,7 +93,7 @@ class OpenGLVersionCheck } protected: - bool message_pump_exit = false; + static bool message_pump_exit; void check(HWND hWnd) { @@ -131,17 +139,18 @@ class OpenGLVersionCheck }; HDC ourWindowHandleToDeviceContext = ::GetDC(hWnd); - // Gdi32.dll + // Gdi32.dll int letWindowsChooseThisPixelFormat = ::ChoosePixelFormat(ourWindowHandleToDeviceContext, &pfd); - // Gdi32.dll - SetPixelFormat(ourWindowHandleToDeviceContext,letWindowsChooseThisPixelFormat, &pfd); - // Opengl32.dll + // Gdi32.dll + SetPixelFormat(ourWindowHandleToDeviceContext, letWindowsChooseThisPixelFormat, &pfd); + // Opengl32.dll HGLRC glcontext = wglCreateContext(ourWindowHandleToDeviceContext); wglMakeCurrent(ourWindowHandleToDeviceContext, glcontext); // Opengl32.dll const char *data = (const char*)glGetString(GL_VERSION); if (data != nullptr) this->version = data; + // printf("check -version: %s\n", version.c_str()); data = (const char*)glGetString(0x8B8C); // GL_SHADING_LANGUAGE_VERSION if (data != nullptr) this->glsl_version = data; @@ -153,6 +162,7 @@ class OpenGLVersionCheck this->renderer = data; // Opengl32.dll wglDeleteContext(glcontext); + ::ReleaseDC(hWnd, ourWindowHandleToDeviceContext); this->success = true; } @@ -166,15 +176,19 @@ class OpenGLVersionCheck OpenGLVersionCheck *ogl_data = reinterpret_cast(pCreate->lpCreateParams); ogl_data->check(hWnd); DestroyWindow(hWnd); - ogl_data->message_pump_exit = true; return 0; } + case WM_NCDESTROY: + message_pump_exit = true; + return 0; default: return DefWindowProc(hWnd, message, wParam, lParam); } } }; +bool OpenGLVersionCheck::message_pump_exit = false; + extern "C" { typedef int (__stdcall *Slic3rMainFunc)(int argc, wchar_t **argv); Slic3rMainFunc slic3r_main = nullptr; @@ -190,6 +204,16 @@ int wmain(int argc, wchar_t **argv) { #endif + std::vector argv_extended; + argv_extended.emplace_back(argv[0]); +#ifdef SLIC3R_WRAPPER_GUI + std::wstring cmd_gui = L"--gui"; + argv_extended.emplace_back(const_cast(cmd_gui.data())); +#endif + for (int i = 1; i < argc; ++i) + argv_extended.emplace_back(argv[i]); + argv_extended.emplace_back(nullptr); + OpenGLVersionCheck opengl_version_check; bool load_mesa = ! opengl_version_check.load_opengl_dll() || ! opengl_version_check.is_version_greater_or_equal_to(2, 0); @@ -213,7 +237,8 @@ int wmain(int argc, wchar_t **argv) HINSTANCE hInstance_OpenGL = LoadLibraryExW(path_to_mesa, nullptr, 0); if (hInstance_OpenGL == nullptr) { printf("MESA OpenGL library was not loaded\n"); - } + } else + printf("MESA OpenGL library was loaded sucessfully\n"); } wchar_t path_to_slic3r[MAX_PATH + 1] = { 0 }; @@ -239,15 +264,6 @@ int wmain(int argc, wchar_t **argv) printf("could not locate the function slic3r_main in slic3r.dll\n"); return -1; } - - std::vector argv_extended; - argv_extended.emplace_back(argv[0]); -#ifdef SLIC3R_WRAPPER_GUI - std::wstring cmd_gui = L"--gui"; - argv_extended.emplace_back(const_cast(cmd_gui.data())); -#endif - for (int i = 1; i < argc; ++ i) - argv_extended.emplace_back(argv[i]); - argv_extended.emplace_back(nullptr); - return slic3r_main(argc, argv_extended.data()); + // argc minus the trailing nullptr of the argv + return slic3r_main(argv_extended.size() - 1, argv_extended.data()); } From 71359d756f6341cfebc104d2d4b5b16bc33a8dfb Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 9 Jan 2019 11:01:40 +0100 Subject: [PATCH 041/189] Fixed typo --- src/slic3r/GUI/Field.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 2c7bce6139a..e64bf3d5fb1 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -783,8 +783,8 @@ void PointCtrl::BUILD() val = default_pt(1); wxString Y = val - int(val) == 0 ? wxString::Format(_T("%i"), int(val)) : wxNumberFormatter::ToString(val, 2, wxNumberFormatter::Style_None); - x_textctrl = new wxTextCtrl(m_parent, wxID_ANY, X, wxDefaultPosition, field_size, wxEVT_TEXT_ENTER); - y_textctrl = new wxTextCtrl(m_parent, wxID_ANY, Y, wxDefaultPosition, field_size, wxEVT_TEXT_ENTER); + x_textctrl = new wxTextCtrl(m_parent, wxID_ANY, X, wxDefaultPosition, field_size, wxTE_PROCESS_ENTER); + y_textctrl = new wxTextCtrl(m_parent, wxID_ANY, Y, wxDefaultPosition, field_size, wxTE_PROCESS_ENTER); temp->Add(new wxStaticText(m_parent, wxID_ANY, "x : "), 0, wxALIGN_CENTER_VERTICAL, 0); temp->Add(x_textctrl); From 60d3ba69661cd6720a615fb5ee373fe59bdba2a6 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 9 Jan 2019 11:24:05 +0100 Subject: [PATCH 042/189] WIP: Fix of command line slicing. Slice from slic3r-console.exe --- src/libslic3r/PrintConfig.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 7da839dc37d..cb88027ba5c 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3044,7 +3044,7 @@ CLIConfigDef::CLIConfigDef() def->tooltip = L("Forces the GUI launch instead of command line slicing " "(if you supply a model file, it will be loaded into the plater)"); def->cli = "gui"; - def->default_value = new ConfigOptionBool(true); + def->default_value = new ConfigOptionBool(false); def = this->add("info", coBool); def->label = L("Output Model Info"); From 5d014414508266563dbf476494b9355b99e8cff9 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 9 Jan 2019 11:48:23 +0100 Subject: [PATCH 043/189] Modified extract_euler_angles to cope with gimball lock --- src/libslic3r/Geometry.cpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index fc5b158c774..8faa49ea0c4 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1181,22 +1181,34 @@ Transform3d assemble_transform(const Vec3d& translation, const Vec3d& rotation, Vec3d extract_euler_angles(const Eigen::Matrix& rotation_matrix) { + auto y_only = [](const Eigen::Matrix& matrix) -> bool { + return (matrix(0, 1) == 0.0) && (matrix(1, 0) == 0.0) && (matrix(1, 1) == 1.0) && (matrix(1, 2) == 0.0) && (matrix(2, 1) == 0.0); + }; + // see: https://www.learnopencv.com/rotation-matrix-to-euler-angles/ - double sy = ::sqrt(sqr(rotation_matrix(0, 0)) + sqr(rotation_matrix(1, 0))); + double cy_abs = ::sqrt(sqr(rotation_matrix(0, 0)) + sqr(rotation_matrix(1, 0))); Vec3d angles = Vec3d::Zero(); - if (sy >= 1e-6) + if (cy_abs >= 1e-6) { angles(0) = ::atan2(rotation_matrix(2, 1), rotation_matrix(2, 2)); - angles(1) = ::atan2(-rotation_matrix(2, 0), sy); + angles(1) = ::atan2(-rotation_matrix(2, 0), cy_abs); angles(2) = ::atan2(rotation_matrix(1, 0), rotation_matrix(0, 0)); + + // this is an hack to try to avoid this function to return "strange" values due to gimbal lock + if (y_only(rotation_matrix) && (angles(0) == (double)PI) && (angles(2) == (double)PI)) + { + angles(0) = 0.0; + angles(1) = ::atan2(rotation_matrix(2, 0), cy_abs) - (double)PI; + angles(2) = 0.0; + } } else { angles(0) = 0.0; - angles(1) = ::atan2(-rotation_matrix(2, 0), sy); - angles(2) = (angles(1) >-0.0) ? ::atan2(rotation_matrix(1, 2), rotation_matrix(1, 1)) : ::atan2(-rotation_matrix(1, 2), rotation_matrix(1, 1)); + angles(1) = ::atan2(-rotation_matrix(2, 0), cy_abs); + angles(2) = (angles(1) >= 0.0) ? ::atan2(rotation_matrix(1, 2), rotation_matrix(1, 1)) : ::atan2(-rotation_matrix(1, 2), rotation_matrix(1, 1)); } return angles; From c48b9e2e85da68a69aab5862ce8ad6cf57d73651 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 9 Jan 2019 11:57:59 +0100 Subject: [PATCH 044/189] Enable the GUI mode by default on OSX. --- src/slic3r.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/slic3r.cpp b/src/slic3r.cpp index d242df16891..04076d567a1 100644 --- a/src/slic3r.cpp +++ b/src/slic3r.cpp @@ -96,6 +96,11 @@ int main(int argc, char **argv) // apply command line options to a more handy CLIConfig CLIConfig cli_config; +#ifdef __APPLE__ + // Enable the GUI mode by default, to support drag & drop. + cli_config.gui.value = true; +#endif /* __APPLE__ */ + cli_config.apply(all_config, true); set_data_dir(cli_config.datadir.value); From 41d189a3558ac44c9247868616924bf69d1b9290 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 9 Jan 2019 12:15:08 +0100 Subject: [PATCH 045/189] Fixed model for mk3 bed --- resources/models/mk3_bed.stl | Bin 59984 -> 91884 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/models/mk3_bed.stl b/resources/models/mk3_bed.stl index cfa6d8c6d63e3f8e767556727c04277de82285c6..1bd1a8faac668c98333114facd74187c54433f97 100644 GIT binary patch literal 91884 zcmb`wdAuG)nLXY?2#W#2A^}8}I3UY)V1yt`a=Y*Qh7bWmh9!h$k^n;j5)}MOL}ExI zAT#VD%wS+30y3!RAo2_Q?JJuM!WR)36lO$64G2MyVOSKBU!AHxRp;q`-~9aJ_kQH& zv8qm;=Xq-B+PXT+{{Q_Ates_tAG>qD{YH6(oOl2F$=z)6D?iGzqUe+-cefqAq9G%d zB2p?vt6UVo;8%K%o98m$EK_unn}{)M+&C08$+8{)=BXZXjVQ^HQWZr)7e#sHNf8}X zsu5+Y3LKZdx=r=S@Amf`>L1mFa^O$|W004kDF=>CFaPP_kAD(;^~NDH zy?>C`4nLUT{f1PO1BW6QgH(#9960`JxBc_4JrQcj)9)M_Ysr*7505p2;V9WG1LE=q z0x?7&Um^m>_6bq;N~P#v$0mQ+CZAn)nl7saAgPsVVo)fHFm5@Y_f zk}~{8ndxb{YLaC46kRp8kL5qOe648V_RIH*sT56?P#$VwN|j}AT>fywa{4OeTNFvo zvcG@+W0BkXs*|O1PUYdAiBkSnD`i)$KKZE|8(Ps<%C1_SzihKUT4{_T)Q3$wQjOD^ zm}FW(U(KJlW-Rkm{wVWtF`SrC9-~JkL_!xul9`?y=VZNWVycx*gleMsCaq-bt7+%G`1icSsdWtnsYlGI~ zB$I=PRIjY=$qsT*tHf^0IcW=yS&J6tf1H&M13kQWsQc1S&-Syef4X6)yW{g;^fJT4 zQ%w;}g&0l6@bFZ-eED&C=R>c04vpFUsiE#WJAU5q1r9|p6=H~n%<#Zbt~Wm4Z?`EG z?3l7yr(3LdiqH4^^E%z>zdq5+3=bTNU@F9DDu&lj=PlRGyMHs&b1()7%1Cv~mmS}j zz~}z|CR6fvKR(_gR9|uc!SJA!BA5y>nu_5;s|~OI*TFY`b6R!(jJx)I_JL0K)E7_q z5fHoH*Xdrh`CM=Lgq5A{j<^23m)#TV(20W+HeFbqap8IQDMC{X=iTl z_pN(|pAVLuvfItRbG+xE3{8eBMHHvpH2m(k&sXdI=DvMznK(IW_2{U{QIo^ElcR=N zw(~3d3?I4u!s^L+=iR3W%~#P`_NS4vC(ZaWXQ@dm)m=5rvaLS+!r;GsW^Q%$q6_ZU zl2Tu(N3!gr?+y+YtIn*R@09m3FL+l|DPNZTpZOoDKJd(^s?DZ-b>g$qs}wOtMl_~hIxFYvX2GB{BFk8FE!&7la5p^SWq4jku< zSuy+%yBzO1Q0B+%eW~Ywcc(79%;!tFjbIEkQ8ZmFSCYp+J;7|l( z)LNusPJ!bapF6&KWUW_xd8kJzBNZ)gBQ%CGIEW5fefr3J@CNrRM0xlc_srM4uh7ov zE6QyIW5BLx%0a7VKJd!m7N>^tAOd;e`GK-QD$0RF5sX19MN*{6HN;DuxFRL1avY7){0Sz)_C?P#z_o$gJ%g0U#B_1BW17iwdI*#Aqsp2aciQEP2W>+*{$EooO?B8CAHn*Jx8vHgcJkZ_Tm`#_WQAY^lwpn%^V+lIQ9nMOWtkv zS63{%CfYIMfGwjPr>u2hA3LZo@>Q+we{hG|j+!Idp&V~bSrP5%@2eRDUx`{>w&B0J z))o4aL*AUzM=P>JE9Ia^;M1^nMel0guKh}jBif-_sdxMPN_z(OYS56aD?UFW$1NwL z2ME^clVSQ+d-(7+f-%Tf5np_KzZxNy`&N6-hR7@QK8heWJY@TJMJ&E+Y}AnbSR28f z3|g_rfy|z$jnJMmtaxY-j`YpCtGc(JyG79t5xh(PsNdRJwKWOov?g=^NjvA?TsN

aKB&9zs@YzX<*!fcF8jLJ5ji>|2X~K~ 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 LB}?zYs#gCmVnz~> literal 59984 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 From 1947925263f7107916af4970fc3de769fe7bcb6f Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Wed, 9 Jan 2019 12:21:43 +0100 Subject: [PATCH 046/189] Added parameter for pillar connection mode --- src/libslic3r/PrintConfig.cpp | 16 ++++++++++++++++ src/libslic3r/PrintConfig.hpp | 20 ++++++++++++++++++++ src/libslic3r/SLA/SLASupportTree.cpp | 7 ++++++- src/libslic3r/SLA/SLASupportTree.hpp | 9 +++++++++ src/libslic3r/SLAPrint.cpp | 9 +++++++++ src/slic3r/GUI/Field.cpp | 2 ++ src/slic3r/GUI/GUI.cpp | 2 ++ src/slic3r/GUI/OptionsGroup.cpp | 3 +++ src/slic3r/GUI/Preset.cpp | 1 + src/slic3r/GUI/Tab.cpp | 1 + 10 files changed, 69 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index cb88027ba5c..1efbe2209a9 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -2527,6 +2527,22 @@ void PrintConfigDef::init_sla_params() def->min = 0; def->default_value = new ConfigOptionFloat(1.0); + def = this->add("support_pillar_connection_mode", coEnum); + def->label = L("Support pillar connection mode"); + def->tooltip = L("Controls the bridge type between two neigboring 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."); + def->cli = ""; + def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); + def->enum_values.push_back("zigzag"); + def->enum_values.push_back("cross"); + def->enum_values.push_back("dynamic"); + def->enum_labels.push_back(L("Zig-Zag")); + def->enum_labels.push_back(L("Cross")); + def->enum_labels.push_back(L("Dynamic")); + def->default_value = new ConfigOptionEnum(slapcmDynamic); + def = this->add("support_pillar_widening_factor", coFloat); def->label = L("Pillar widening factor"); def->category = L("Supports"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 4e12114df0e..4842156d698 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -61,6 +61,12 @@ enum SLADisplayOrientation { sladoPortrait }; +enum SLAPillarConnectionMode { + slapcmZigZag, + slapcmCross, + slapcmDynamic +}; + template<> inline const t_config_enum_values& ConfigOptionEnum::get_enum_values() { static t_config_enum_values keys_map; if (keys_map.empty()) { @@ -162,6 +168,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 = { + {"zigzag", slapcmZigZag}, + {"cross", slapcmCross}, + {"dynamic", slapcmDynamic} + }; + + 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 @@ -949,6 +965,9 @@ class SLAPrintObjectConfig : public StaticPrintConfig // Radius in mm of the support pillars. ConfigOptionFloat support_pillar_diameter /*= 0.8*/; + // How the pillars are bridged together + ConfigOptionEnum support_pillar_connection_mode; + // TODO: unimplemented at the moment. This coefficient will have an impact // when bridges and pillars are merged. The resulting pillar should be a bit // thicker than the ones merging into it. How much thicker? I don't know @@ -1003,6 +1022,7 @@ class SLAPrintObjectConfig : public StaticPrintConfig OPT_PTR(support_head_penetration); OPT_PTR(support_head_width); OPT_PTR(support_pillar_diameter); + OPT_PTR(support_pillar_connection_mode); OPT_PTR(support_pillar_widening_factor); OPT_PTR(support_base_diameter); OPT_PTR(support_base_height); diff --git a/src/libslic3r/SLA/SLASupportTree.cpp b/src/libslic3r/SLA/SLASupportTree.cpp index 5239255b124..bc02d2b5871 100644 --- a/src/libslic3r/SLA/SLASupportTree.cpp +++ b/src/libslic3r/SLA/SLASupportTree.cpp @@ -1249,8 +1249,13 @@ bool SLASupportTree::generate(const PointSet &points, if(chkd >= bridge_distance) { result.add_bridge(sj, ej, pillar.r); + auto pcm = cfg.pillar_connection_mode; + // double bridging: (crosses) - if(pillar_dist > 2*cfg.base_radius_mm) { + if( pcm == PillarConnectionMode::cross || + (pcm == PillarConnectionMode::dynamic && + pillar_dist > 2*cfg.base_radius_mm)) + { // If the columns are close together, no need to // double bridge them Vec3d bsj(ej(X), ej(Y), sj(Z)); diff --git a/src/libslic3r/SLA/SLASupportTree.hpp b/src/libslic3r/SLA/SLASupportTree.hpp index c187cf5b345..5a86d4623c0 100644 --- a/src/libslic3r/SLA/SLASupportTree.hpp +++ b/src/libslic3r/SLA/SLASupportTree.hpp @@ -28,6 +28,12 @@ using SlicedSupports = std::vector; namespace sla { +enum class PillarConnectionMode { + zigzag, + cross, + dynamic +}; + struct SupportConfig { // Radius in mm of the pointing side of the head. double head_front_radius_mm = 0.2; @@ -46,6 +52,9 @@ struct SupportConfig { // headless pillars will have half of this value. double headless_pillar_radius_mm = 0.4; + // How to connect pillars + PillarConnectionMode pillar_connection_mode = PillarConnectionMode::dynamic; + // TODO: unimplemented at the moment. This coefficient will have an impact // when bridges and pillars are merged. The resulting pillar should be a bit // thicker than the ones merging into it. How much thicker? I don't know diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index aa759a47a36..5cddadb5b1b 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -407,6 +407,14 @@ sla::SupportConfig make_support_cfg(const SLAPrintObjectConfig& c) { scfg.tilt = c.support_critical_angle.getFloat() * PI / 180.0 ; scfg.max_bridge_length_mm = c.support_max_bridge_length.getFloat(); scfg.headless_pillar_radius_mm = 0.375*c.support_pillar_diameter.getFloat(); + switch(c.support_pillar_connection_mode.getInt()) { + case slapcmZigZag: + scfg.pillar_connection_mode = sla::PillarConnectionMode::zigzag; break; + case slapcmCross: + scfg.pillar_connection_mode = sla::PillarConnectionMode::cross; break; + case slapcmDynamic: + scfg.pillar_connection_mode = sla::PillarConnectionMode::dynamic; break; + } scfg.pillar_widening_factor = c.support_pillar_widening_factor.getFloat(); scfg.base_radius_mm = 0.5*c.support_base_diameter.getFloat(); scfg.base_height_mm = c.support_base_height.getFloat(); @@ -1058,6 +1066,7 @@ bool SLAPrintObject::invalidate_state_by_config_options(const std::vector(ret_enum); else if (m_opt_id.compare("display_orientation") == 0) m_value = static_cast(ret_enum); + else if (m_opt_id.compare("support_pillar_connection_mode") == 0) + m_value = static_cast(ret_enum); } else if (m_opt.gui_type == "f_enum_open") { const int ret_enum = static_cast(window)->GetSelection(); diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index 0a27af9fa71..6cdb2ab7ea3 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -200,6 +200,8 @@ void change_opt_value(DynamicPrintConfig& config, const t_config_option_key& opt config.set_key_value(opt_key, new ConfigOptionEnum(boost::any_cast(value))); else if (opt_key.compare("display_orientation") == 0) config.set_key_value(opt_key, new ConfigOptionEnum(boost::any_cast(value))); + else if(opt_key.compare("support_pillar_connection_mode") == 0) + config.set_key_value(opt_key, new ConfigOptionEnum(boost::any_cast(value))); } break; case coPoints:{ diff --git a/src/slic3r/GUI/OptionsGroup.cpp b/src/slic3r/GUI/OptionsGroup.cpp index bf7b3ed583d..72c6f676bd2 100644 --- a/src/slic3r/GUI/OptionsGroup.cpp +++ b/src/slic3r/GUI/OptionsGroup.cpp @@ -557,6 +557,9 @@ boost::any ConfigOptionsGroup::get_config_value(const DynamicPrintConfig& config else if (opt_key.compare("display_orientation") == 0) { ret = static_cast(config.option>(opt_key)->value); } + else if (opt_key.compare("support_pillar_connection_mode") == 0) { + ret = static_cast(config.option>(opt_key)->value); + } } break; case coPoints: diff --git a/src/slic3r/GUI/Preset.cpp b/src/slic3r/GUI/Preset.cpp index 14ddaad4932..102b0610e74 100644 --- a/src/slic3r/GUI/Preset.cpp +++ b/src/slic3r/GUI/Preset.cpp @@ -410,6 +410,7 @@ const std::vector& Preset::sla_print_options() "support_head_penetration", "support_head_width", "support_pillar_diameter", + "support_pillar_connection_mode", "support_pillar_widening_factor", "support_base_diameter", "support_base_height", diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 4601d05d382..22aed5cf9aa 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -3153,6 +3153,7 @@ void TabSLAPrint::build() optgroup = page->new_optgroup(_(L("Support pillar"))); optgroup->append_single_option_line("support_pillar_diameter"); + optgroup->append_single_option_line("support_pillar_connection_mode"); optgroup->append_single_option_line("support_pillar_widening_factor"); optgroup->append_single_option_line("support_base_diameter"); optgroup->append_single_option_line("support_base_height"); From c0df7f343ee28ccd96185a6599da8d848f692d35 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 9 Jan 2019 13:08:00 +0100 Subject: [PATCH 047/189] Updated OSX manifest to reference input / output files. Bundled OSX icon files for STL/AMF/3MF/gcode --- resources/icons/gcode.icns | Bin 0 -> 116397 bytes resources/icons/stl.icns | Bin 0 -> 68486 bytes src/platform/osx/Info.plist.in | 102 ++++++++++++++++++++++++++++++--- 3 files changed, 95 insertions(+), 7 deletions(-) create mode 100644 resources/icons/gcode.icns create mode 100644 resources/icons/stl.icns diff --git a/resources/icons/gcode.icns b/resources/icons/gcode.icns new file mode 100644 index 0000000000000000000000000000000000000000..d5be3bd5796e5286cba744d9d0eacc62a1e12243 GIT binary patch literal 116397 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 literal 0 HcmV?d00001 diff --git a/resources/icons/stl.icns b/resources/icons/stl.icns new file mode 100644 index 0000000000000000000000000000000000000000..a969895986fb598721fc51bbac1adcea17f822eb GIT binary patch literal 68486 zcmbTdbChR2w=G<@yKLLGZQHhO+qP|+UFNUUg)W<2Hotz}^WJmrchC9f-m#OBtc;nA zwRf`Tm{}vSGO>370)`E@GGXKd0&+G60s?}wRwN{ZhlzmsTSql_^>Va!WG4Ju2l{uZ z@VB)5Yoc3OnmPjk0spQ3&0vs_|6qU+O&n~U|7imPLi(GDO-#+qfx!M{1OE#P0tE8c z0{#2^3*~h2cQ})8g>NMw=6_KC9`0Wq{s$Wj5*YYD)3-7Z+`qbjgMk47f9nGM5EPV@ zRQ%u5cOuX~?*Zf#`4^x91Pu)IA6PvgRN(&({tE#4F968@2mt*r0O)@Qr0jTe;^YPB zN04Kn@3}5GgeHU>;{6Id&H-j(8@Hwmb+v_Lo`=o&BIKoF3H{pnEx(8k$<*=i=BTKF zzch5CG<#ZO3<-r-j)D%k<1P5VjpXjQVUW~kmlAM{XS3M$4khGvZ zGhY&6@E~-Dz_s6G^i8aUEwXKM6zo5ivW*SH8!xfrEr}DVN=p|5PQh51QEut}?af0f;Pg5>Xji9Xyuka&sev;Hn`Ik*W zS$EEkHxjY|K^dZkD`!8Jmu%yzCKV?T3;y|`m|USTFqA3Ag0>?|d`U*}5vsmzq2c{{ zUYR9ksxpzWy~(t7zx&s09~M~(p!eAC1o=4^2t9E684Hm#dA+kM@u#7$A~b?yILcBi6U~1kP05biT=~o5$=tc@uFJtfF19M zoY^j8iOnT}GR^e2r@V8_Vcm+oZ!pr@uL1-k`C^gl?$k?o8AO^*ZZAc-^y+!^bXi~~ z%695`YJy*Z%C6h&K+qIzYI$_jQkEM2JH6*;tL-bqK24F5C|#TOF6fKhx;Bs|&u|;k}CH4a9imr(KWf^DHq^P@3?SBT{ zDxQ#3F7Us+KCiGY@gm24Zx0G{>uQjWw+$1z?ZN)No2kJ`DiH(z$o? z$Ypx`htruGc)9oeUBtG}6yDQLXky8R!Iui-TNllr1=XtsJgxbh&^TNHcsU)62S(bT>`e&R|- z6Y~qn)@rS;>q{4k8ZKJ@wPGs>j!(E^Fut{VX8P4+wdafkWW>#Lb3f!JEr(;1sfV*dlb z3HH}n>MFEUunqfVE|D>K`4c?e!{VxeBGIRxILIa+>Ol8nu--b9dA(X?iIHx)AW^hn z<*qXZ^6lk6v@}OKF9i9#=OEbY$BF>`)dgW(1Ysy;g(Pt+eg$GrW6?Wz^J)V^csN@9 zp9ap&l94NSr`T%6*p5}QjlaJ-5eSkN>uq<4oiwI1Cd`*i`M?#< zoBNv4FRQy2Lg%xhA%4^?;#A#x!QuX1kUQ_AnX4gq#}i0*C26`rYOW&8tt<$-K8>Xx zK4=$ZCMiR`oC#@YCQr0L%R$2!JiuaHeh5@+3A_G9r#h7L`^qRA(uZu)fSK3?iYdSf zhvs1kyp6c3VLN8LbNKBSUm(zUA61N@ZU(Xa2l|^LXrhB?3!i5Xy*C2c+Ul8SEj!A% z<+#n;oDlm{@rN$$4{H#}Fh8P)eWfkeF!H{m`j|vMit&wY&_4ERl`60MfbK5@>xmw8 z7rO?!=YE<%WVd;;+SGT*MVIQV&E%A7c_q~DIXsY@$Y&vKAnjMET7zA4iU1*mRO2zT ze9ob$MD-S=5&5OWVzHqh3t=1>0bbNi`mm+B?H~$jsIJn4oBj}EuU;vMJeo;iJeU`^ z8VAT#_Yf+V)+Zn3m(QTfu~hIv<@WsBe3^DDVO`Tl*uZRbcC0sI@YSY}@S8`yC!jQ3 zO^$FaRji+Uc|r4l_h=|OnF;3BY)vM)<>diDe|%tsiSGXC;NI#qfi`$s;rQrD1tW8@P;C89cGxOdd_*fO zdQK3WwE`+)wh4XSp@T_8P_mK0r?i5DcZS413DW znw9siixUBY{KQD&9p2>DC%s3545_LKLEFtg>FOEtbMpLsWJ5_yTThc`BHl@xHR(-nBzSK_~r9gshHjQ=&Yrg1aLpx1#!sWp%0mKU0E z&a+YF;JLq3o8~Lq&DYx%sXr#g6$CyS_)obh)Nl_V)S*TfT1_4bfULyT8Fq(ppd1*n zk}JjqPP5&~q`n z?6stcm46_7JwEvnYfk?F^fwiR@eqWe|JUq(K?#G}VadI8uhu|Q^~++S*ns@m%ml*U zU!;8&B@Le}TH2dO^A*x6$ovFM(k8Z>U=v0miQwK}Zfv*Dq}qc5RgU3zYCLiowX!yf zv#~xW(liZOrd|F){$}LeXIc8;h_Ozc7%A zuth>sOkT}XA>?P?Ba(hPEzki<5NZ>fNDsuQ#pOrYm+9o28Mo9 z!Mp8B6d1}QUNbzNK*pU)ql6>)O>_Brq%XYakpWQaW*G~3_Nk3@FI?99F zqiX!eZYrz@+Jm?kTMqIheWe`!uD%^WAG1GX(sODc&Z7DDhgWf;TkzQp5ln6Y4a=c* z#a%|)3%kk5xS&vw0R_cfNwPMeowVr%^Euu7P!WNLl`MbY8^qdVew^9r_Z%F9vpU2& zF8O-Q-@gkounxEtTrm20wgRNgzdx+)vz<&uuY#Vy6RotYSS2Kab^^c7DKMGztYQA^ zGJ#KKt$Nv+!@6za@A5YdWbY+siQ{C6#kmWseH7ysiQ1=;+b!UYhrN{^JE2etr3W3m z0}LCS?A0&4ST&OI06oYsK)DRzKj1`L@h4B~cxef23sUDB*0<@R5!_zt_Z477V57sv zCYrt0C3~sgL10SNCpW$A7000-SaXzy8M8&jB_%0xcQ!W3iXYF7E#2a^1b z^U(fvr`sEl%Lhn|*uQTNNvEJEj%1N^=ry3efU@NR3O~p42XF1hFdSP~3G`-I$(ph4iU(l4GYNX` z+VwBKWq&!=x>Na1;tpXNpHX2Up1m`$Q9}+Ody71PZU6dGL~P2$4aC;4E!v58vP|Pn zsSj)2bnn>~M@!cmtkomtU^Rdfwk%FI2DyBe;{WeA{WE7|ZKBS|pN$|Xo>xE3^}av5S4 z(i^3I4Eftp1j}FY1=AukD@R;lj{QcpvpiDTx#&G{;@4+5qL^nS##OJMH7o3hB(LY4 zbE^FrdQ%NwQ2gZ0TJ8csxA+1CL}xQhDHXuuZ+ez}8n_&&hY0t^EPu#Yf1X4XL;Y|J zBY#!*;F>L-2r0l<5SaSS+O^pKVCvmPMuxgFrL2#r>B|i96;7?qRf4@YB79)I+P;W| zo=kHVbVqe2lnRB2d9VY?0K(!kjqmmz&J!oLYx$x+mEb3`S^G+A;9=P6aB8;YSeNc5 zWxe-xT!iW6b2-RZ2zOlUbpa&k{76YC`7wVtNWnnJkkLT}BY1kLg~2`^XZ@s*`$(mK z-al0wFQN&bP%{zdrQM{n1Ph!Pae8Qp6t_ez?pD$^sCB7fd= z(%iURr$EoMGTDDLARPQ>Wvl@(zZHdqsx{#@kl}jAjAFy8=6({I(m^~#uv#`KnO?wi z8{Vzl8S2fi7V9tZx6|3V3qTuwxh|bcuH%du>)<-6qc{z~E0&aPzKnp4GYYju=~xn1gv9ZXs*coETsu^&q%_;R|gE}3WtE(KO}PQm;VC@~M2&Et+4uiaIJ(^+dS{>lfr`nsD9UmRvcuqJu5INbW6_v-0aYjt2>$jAd zA6;&e#)neP7Z%RvA^qb2K^{=;2?qZobvz|eMrn8G`j%J0X})|UjK6(gW4?08f6aPQ z!SlCeY0{BvFelJPC|wo}+u-<{JtHGH&oS_=~^w z2m+&{ux~^F8L-YRx6{)LMV;1Xxw8bnA!8=)6LA&2OjZ5iiKy_2xZxr2=-Gr}`PH}Q z#aEM0iz%|&hcE7_K9mV?5R8Vv(3IF-qhJm969{gUGAAA_PVD2t~|S4|wIdEgrS@R?52<(1Z# z*VREo@`?TfM-?f#pyM029lU4E^3;`M{1)OlLH*VV82v_79^=}jkr`*h@0W1WC_OG~ z@$({*eH#lqkj~MYkTID-6u=_)FBbBCI$LA!u)`vh2UBFxkvYl%*)P1mDdje>HGy18NRF`d`I}L%>l%z@NWWfsF)xlXswk=3y(>4ih51}lAAsU6iZ4qo{Pz3 ztT)aIR?|{+qgw7jLh|VWonqv7HS~=DH%03B+U>l~c1^}uuYQFI^o33~zr3!nb*$cj zXX*Lq++A~i^d}#zZtOmkXN2eCb@hiqS*Qke4D8(PBq%7`lV|90vfxr&ILfiQ{v7LN zTbY*y*c6zQW-fwNMPHu+IHgh@f{&+5zb4#Zij#JZVd zzydu{$n4n$7e~3)slkOxO=P@|(iP=`K%e+qSYmRss93s~hDC~AHjWIGE9q{AnCdM3 zCG2v?L@^#9ktFT|Ly90|lFyEDOxhw_< zt=i_+6>^&pLOHC32svRo?(QVIHJryeDJys%t z!o{d$Xm|)?tsX!bHq4;;;j|V@|B%SXG~hPus0NR8O^r)o=>7Wsruf=@9W2;=VW!(B0#lWrzM*L2SOou#IL^%O-DphnI)$evZI8Ed)nH_>hG25+e_)b(3a8!nz%8IOp-+-` zQBkco7hef?0xTVH2hg6oS9>!)247{vIF`A4n3lPa44gtmspI5*Y$Bw=M41iPrdT&O z@yn=aP(4{f_zlQgr{uHGCCjJ@v32m=wi8S_O7Ud#9vN4;f*<-jem3!gxZr()JkMf< z{i8KVH2oG8p))U^Fiby$6aGyVw#e$g*9i=Z_(D8p@zTtb=Xn=`PxtM_bRaeVL26BM{9NqU*CauN0@J(;prXBDf&Kk$ z7PruVRW(aIaAuH_jTF)7v3m3h-@w@R5uxhCP8D=$F_gK)E6G>lLr+fe>zl-HJ@02a zvRg!fb#^QBnhYtln6|w2uBrjQ2^Bw)sx?XV{(3-LZF>-6nsQt*F&xO6lL_|nbOE40 zCZXw^|ACRrGHx*?h7TLP+d`8=WF<)KCSa+I1+!_8&TsXBd&}${vqE2)lt2AfP{3=& zs4gyHGdTVaGa^HA8G-@nIBBaP8Fc$z8K_Es+1SAWh>8}|L4wJ_Ox&PR%ZG!GD&6o} zI$p?Kv!B~n7cWRu=C9K(*JMhev`{ zCN%pz*)dxC82XT!(csy)ED;EO6zQVjhqwrB3e$;ygZ4F5&UzcLS5adx3|TZRKm`>v z(i)oi-n#;>-||K>lKjt#(zAN>BVIan=WjUcI>v&Bm1Y_#|)u!)>oG?g|7EiiH=lDP7koIexndQ@dd4g=`%iuCv?D zKMJa9@B}EQ~11Eo& zU6%%5h$On3m;48Jn<~leUJJPWus!lox~KzoP8cIx(~&;IIkGq!QF~;pIjcN4oKGRq zn^rFIKtx~J;R+>Wl0^Ai5PXrxV|ixLN#_MDCa*wU0(!|-M}!U~nEHm#`rVyv&OH&d zDY|?N9Lfc{25WxDVN0%8j5xg19FzB)KEn%g}45^@=kC9iO z>dX#QbhmM*!B;XvuJ_M#qNfw zPEaHgF4RsAuh+T#)}X4`WNlhIAza7S0$PL7V5{ot%3haEvfyO)`Yw&?_!8 zcE?N?^MsjsX$Qw5!@f9q#Yh5kg%>^+k{IC3eMqd7v-pDtS3|Sq)Q3PcWImMkG_ev+ zLT|06=@Dp$#;j8^&wgWsan~Kzs{!@e^Q6O2ZV_F-+dGo@F4}hL$1&yQ!yTp$rkDY7+aDH z55I~2;Kpw+I9rfwFz>*J<%Ee$lESJFgwZFP<%T|iZ{INCo!Wv`tIpT{k<$PXg#`U& zloYNMtuT#_Y8Ku_kSE&c-yl0SjDWRmVQj(^#8pvMq~FhtIS=||vmVVb_C5skzORK9 z>;_XzJc67@aXbx)Vef zn-?lUtaI`NMOdPTh-CNhJ8}0w&}NMfRu^?aJ=}4p9Q~#I zM$?@z-xvqq;9eIikXHMf`|-6UF~<6jyV*a?Gk6b`#Sga?te90}?bOP0y=T0j3~b}q zE@KAB!Y?Fk%L{M4-%#RDd|#lRq~Zp2wX7ym0)pyhsJ^hG5;Z@2f@viKCRR<|7L(@Q zi*4^o)1QG57Z=H9k7-`cTMJDoSQ*?3CLmLhO(k-ehH6)3WbD{Pnk$$L7cea=iuDiBJ21ftV3;Qxoa480-UG z*d*|bAyqJ)=%v#wk%M9ik^#XU#E?hlD77h=|ql-b7Qh?Q+L&a;O=5<;b5HLHLg76zi=)JUz~dI@VDPawIuE z*I`%=D?oe^UF9Uw=-|q3?$#6NSlg?nM#+UT`K>T==A&l)c^ZCy7989hwZbl@w>R&L zS_b}@C=cHT5cfHn4P0RiFwPHd7?+#qVyjzQcGL9aVB7^CU(1=irZmtz+ z?zicYTiGOPknopbt?2~X(JNxK=<8Oz-^5c;4a(d6bXW)Av4wg@+;>@1mCsLexU^3h zI)kB7mP&3)47|E6)Ff|PPg?yjg@3Sv`!c*gtOQ$fuWkWTna1IQ3@4wc*`t$kvzRJ^ zMH$$AD78_?m|!;E-dWg`+Y@-7bm{R-Ep=zRhhuA`d7mcM(Z4Xn4T^!+X zvZITRqkb$M?H~Pi+qZ0Tk#d{WKUAm9dxARIBKaj)LJ_wBMBAOa z(#Ti7rRH$PsHE~5j!Kz>c;!IAhJ*SO6|rpV5pm@Cp5y5oMRKC;d>Tg@WN-FjG+~{# zC)#e@Gx?LrV#*ilTk|>&T2814FvPoQ6t8#%$qcR+$x9uoOz@FjeP^^K>=QvR#E}zK z(G=iO3Me3vepb*d4$VlKMsKQ>_S!zA>zy>V*Pz8T^to!!#kuhvn_jfO`a%M2_(7^} zhB@Gg2Ew^twfQD1lFvAwdIud?E_apElaw@sd(NkuAW+Vl`A`6b5&%(Q2dyMjxM(p~^Q3LwON7P|Q~g+R2)|=n zVmWd@QirR(72&WKgi%%zNUbdBEIXq0h2f=n`eGtn(8*RyF?+Q)yywr`Oc&Kg7#K8d zw4Dk$!?e;OLAlEIg`HL(%xR!m^li8*1f)pdDmQjoY+_5i?R4-_PJP1vekEHudDa!y z7}QN#=YN}!ag;45l6y~)%CM5H|W;I9{!YP z#K@-lO%nkMF)z4;W;bzOlDb!L^7SO=lnT8%F@NsSR?qolwqgoM=$6sx8iap#XAp}C zayyWmnq$Z zE8wvou~!^0+^+TFu0s%^4D^4mie9UOgYwnutzietua~1P^}4yyzqL<-h;zdCob}Hh zAKwQm)ABMsn7Cb7X=9B%d97VPv_$X5>8g~ByDwdSd7!q||1Ql9^2;+i&3y^(4t(Vf zJh_h+EqEHp^5|u%0_}x({KPuSEJM8Y2SLlxq_W8B+M-Vr%H5j0g=`?KP2~pt07$Dm z!}vr7pdbc$_vEM{vP9JgU0gPf8x=*S_;_ZNOIfmHmd9z2;EJPeF$XCq4kBP`{c+Ad z8mT?20(jhP6Md+(q4XlCN3=hlOtu9p z7r}uYS&>W~*J!dqTvoBu^L??iIM#Q0jrl^fr-;3VSWikSSqI_q66Mzvucwy@f2zJC z*wLe-&wOYK9&a$2Iy^?8Od@DLFL^Vw_a^vjR%ad2^0EnzsmZI>1)#Tv7|*-n+3}-V z+Y%{K-aHj8l@%SwigJ9*9?V+Wr{h^HzKOe+dtGWM-Lak%bDm}yW8v5z9Y>Q(^wEPV zRho$dDAF<%pK*3I{5vEz+%oJAva9H-Jz4DwZ#A*Tf6>5!8Y99E?EVMrg{NAf_!c|6nMpr2bO><0tEhZ#$sBTHeJa+8Et8ieN<-6 zP_2f*U}JZUge*k(8+-Ri!6#j(>@Ad->-xnNN}I`b{nt<(B32vF#+-xZcC1Erj-^d# zH{6|`;=awBwj@5D@->fI>3i>4=#)(=%$-mD{Cj`n#!yT_0<93D7FDC01n6e@LEUS$ zCLA(I$XBWHNugy16(~={1$8REujyV)dNB+zywdiagbmAHqgh}^PH2@%E>u_HtBQI* z67v_LkQ!|IP`5tdqy^^Jmq|Q@3OG?mYDmd5&i0Y(rvYortQW+JNT9bvPioAQqF~yX z5%2kB_#bME`DQ?Efmg8cM2f21pD(OrnSc62$NZ6@5oL{4UXFl#f-f(KGvRYX6?Cec zy<PgY$S{g|w5*o3l@`vNN?YjPp*`QuyHi+VP$k;br+ zGhU}rHsg+@Lney6epxw~+Sa{yE(o;a#~7JJ%3`QYG@U!=0_S-Y)LgE7L4 z@iN-yV)GBk$Xp0|UotTdcSYtL!xwFY3?Z|#qQxh!!d{4C-86yJ9T6CUbk$y8QF+f zKRp2{U7E5a`ST&Drdh%XW8alw93T8_UM$MXr^hqd9dna%*QIs=+p1;J506-P+jt;6 zj!5nez)j~VA$n&6Ceyg`v&rI{z<0iA*6hJDd>FM;AID5DYr(74^2XF~s@w=%QhO(D2?)9ffXkO@Sw}x(!tqxg|{(gruBCgDz11eE^Pg@W*vIe88SmmuXur3tGQ zB&Z&HmtsdT;LC#156s)RVBps9EwDqw`jta@9h9`2{G1u~=^IS8aH(DkVOJc*2{NVK z8$daTCan4t^Enfi8+*xxavW|>Jo}n0VQpinsyeLj@}kaRC%Y%S%;F{%9h-@>xT00u zd{xW=2el%gUB@b0fP+XLn)x3PJEjr|tYKuBr?c>I7<7252dqu-n>sSaCDMIXG(E}R zrU|6(L&iE&$-f(T!O?L$$We&#QOm~h4R9epvRyk@bFm@zzm`Z0v}$gQpD;q4M?HO0v}KM>|O zo;`+xf{@JDcv~}yILtj1ue`-MOe931WmSw#f4`9VR>_U&XG!dFK~wo4MX5b5oEW3# z8VF&ilV8am|duV%6PXo1!qGe-p4K`oK*Id63qQun)I-j^Um$x^e}o`{odouRJQYlF zo}bCH8-QIViVVADTZj|oa>#+8i|mUfox5(R@T;(5oG|nOw|PdDo^+NE$v-sx_WoK9 zFFsiz3#FCOpp3!5@`?)8%kYdPBC%Fp%+|J!y^77*+|k`|PRm0G0?-K^6$ETCK+I=p z7;Mo0O}zM-g5RtX^m+3LHosr`qb5rkcK5xJ_LCY@M+(S_o3!`q}d+jQA+7CRp7geYzF4_uBYPd@-xbQdU>voR!iPcN#~ z&rz{>F=-F|rWQ`yB*e?(9oR>zg%VsJc4W-Eq8Ru#nFkkSD<<9@dy*0ReUjTpRH~Nh zDZ25&x_?JP>84i^>WcT;o8F|%u2dP+VlnjVK)Y62J=dNvT@D9{h%Mzi05IHQ_2TwO z5FtzWUt(#RClt=|ryiuXEVda#NY%Ak0df;H9obC((QI_WO6i^pq}8l>P}z0CMahX> zlV3vobRXfbezTi!II~@D)HWz=bHTh6RP3?|gr@%L`f5a-=TfCxiC$$9M)U(XbfwFv zGOP&5q~7xx<%m~eS=9I*NyA;QIf$X`EClArmmM~3hitk{&-mahBz6<&Ax+ivert*o z^d-E$^SxK<&!=0EsQIhkd(}?$aqi|{*-~HpTZ>Gu50{cqhy!(o?#mcMd*q>zjll_E z{-L3F^CajL+|S8M_w;$;=c^iM>0xUDZxpgKg2AN-CZ7FZ=kyR!5H*LMLz0>ll@$AG zB+EwFm7uKHzdLgc69;n-1qJx62S85GLB2YlaCb{BIfqd|2yuC1M3-?forR4>kg3t* z<#3<5i_qRY6Iaa-&PW$s(xo5@7Q(s9CnN8g^nQife~M5M)ZNVHD*sMcZw==a;Yi%A z66(Z$Yer#MIU)mTta6WWCO@nVfWa!4{e^gd#N}7K_TV~?8a_T+xxmd$uKB-$MK?f& zDr;jbMh}(V6Y6p?{FI8|MX>?18?^Fk#Nz)B5%Eu6 z@H>tRjb;&L^nQ9923*#3`!QHhNY2QFfDj}v<_NUIH_%aWGaUWkB~)rbyEO2@npb-8 zk&s|wPZ-V44a*?hOg!^Y&JI#|$5muo)gVrH`8l7V!2oNtHg3^@s+k^RS9tg&MR){! z^3bmK!DTBot zkHm;5Bu9XtrX&(`BTb@xin;eGP*3?yr_|b8XCqwcb#a$FJ^1iIM0~J9H%GMvQ<2Ij zYl*bL_%MQqh@c4BNk3PW<^Y^SD(;WQLT}VbdIV={jH6kS$aAyt`J4hOJhXXry#@QY-w*6Jep+n2^Q zMM<&YQD@ht zQ26=s7IJrFzS^EFxr6D8l+qvG9pKzlfaxr%xyARzUIJww&3r>9FchH;(rzO_+{U(` z^TxZ1vq<35K=j3gNmo)9y+~ry##YZoEA+={sS!oSD92ebyY~wbcddaal*bl+cm)tS z+%%~6It?<9@&)GZzmm);tX(_E6*?pieua7Gm`eGO2&Y(u4@1rvFjX(mSxPt)dvd~Y zO=E3#x}A@5aB}O-#=oaR*(6hYYyJ|m&Z#W){)2ZGmXAj(E7C}TGqP>v&D#DBbcZ9O zZp<0i!LErlujjDLqEH(749$?u5$Y9>AlGDc;t-E@4At02NXq|urwU@#Q_1pZsb8P{ zTlkhUQEYNjQ@dQ|m)|&&7I_%}`J5rNqVV4BT7fao8uoX(3V_JZgHS7W;4!2o2U=b=oKG%8L?vT@ILP5_R7aqj1b+11;J@CLhX zQotndzzw@4p92?#aCIGrg_<)9P#JJ;=V+cUq^yCt=SyntF^s-9e-FKTcYztQbCsMq{8Kmbiip zOHkk`HL_!PXF;llKrEg^#+}n0=bFftS7J{H39v*7@{Jr_%qL0yb}p`qFU2-k0eK+t zOQ+8Zu1hZNX==aUkGvnn%r4X#=FHJ`V&>awCt?~ps+`S68;^};?`={pm>m`(OG&wn zdm{nv`M?KfbZj^(%J99xu4jJb{Pn1qLb17i0v&ZLPVI9VZC)4yxUIbNNw^FjfIheT zz-^j5KuEK3!glEkT#Z8|p7|z{zWADbBZT1-kyU0H?GBd zsLszua+IzY$1w1GBtgGHB_g6` zzLpv-=g{8{d)lKZ@kQJWvT40U|@ zzJ1XS*p6%o!gybw=f@Gqi@7p=(|@wx*VULh;j;u3N(w$|z}Em!JwSm0d9>>IIZqka z2CFzdlcfb;TPsVq=k-|6B6xqOz(Ni4?(QIz`Rzzb?LTe8`+8_Mh@nLx`gRN6XLEv5 zSwebF)<)$bIgtHngp^yKU|Bn^d_oN(eg&#VFEx15#hG|RNkOF!Q+dfu=_}u5r1s{= zJ`TR#)Pp)0e0$68E?!6hyrgeswGZ=`yd;*vp<)Hz)#*cQsQzxlFF}LQtHGhiO#6S%FbXu}A={zZAV4VuvLS~}m z?VhI3Hv2(SKsl9KA6Q667*yDBRc8O8_WCuH@VsYA9aDpsA1b!~Xrvmcg`#CjH3@`M zga8es&4u-Y?%RDDeV<6*_wVKps46d3OADHU>GsPjL<9>$0hKj*c9n9A2^nic+`eN(3{k zU8Tl|mG_?~G)`J}X8U2%J;4PF71r{_DMe?ahOs<%PR;#(N(muinr;wYvVELK6m@@Zx zMu(YZYKO(<-8@lv4U{78)V?CbH;ji3y;+`vQsmeX$g_TX+>erFTh9(TU$g5=>_b^X zeqV)((nMSfToP~Rq#+CyfJ_&$u#LH5H@9#ACr&8c14I1*2khHNz}=#bfA0NItbE0sBURq*_p)5X^F)s{J-msL6BT=|!rrEH+k;8t)?j?oVohb; zd+#)4^9Hfr0nSHwyooLW_rz39iJrB*5AnU;*lJBhvE$^pVY)3IN`J6s3a)1ual<73 zGSOVF>>xk39g_#J0^YtUOHQ?uGH{OK?$Uu#G+2j0#eFhVi*Efr(50o+@!4OX z6Qg=HvB33XGSW|PChD2J?3JL!kT1gQ1yZk1`jK37r4NIg=u)t)v^b>`!SGoCF5C#XJ!q}{$hiH!>)mUP?_EuGixod&r zu?#sT*Tlzw8PT^{ZjbC$r*^+HQhVfedGv>}ZT|)&6y?KTxXT5{4ulmfNLvX!dai z{momcD9nX$x~<46)09m8?ZIX}jJ;+Pkt-1jRvUh!e*|2DMV|fIU44H(9i7>`1iS>( z_dq{Bb2{CN&Dl!W9xeyBm(#jhxkNfEsUg!-_QG<5(N+KmAR=p!wrsZWLB*@2vurei`zUq#YoLZHM};X z_Ds7RUVTWKtLl04Z)K?!4fC1VL!80KftX$;$3t^;4Jkc5j@K@OII_~Sv)i_8h1w=O)Oe-g8}aga*u9bI#T@g~#M#}CmJ|8|XJRknHOz8bXpIM+gyJQbq<_;fsc@!! z#$6Cot@e20I+(JkcKlpTE6U-x6sYW&WmXHJly%Mkho)Jb{e-Do0CEp18tK0YP)2>d z+|%o$%?Fxw0yjD(qgA)at>-DvdgTNq%`iKlu6+C5Oa7R>b z5Z=xxvVkG^L7h)QPRy0rlRS{>^chWOV;Poslu3AaCJk#{eA|0c7Bu`e7v7Pn4Sp(( z>^%8sh3pp>TgHsbV^eUb7^mdot#1qh;>f7QOkvkccB=I9rxf<=Exdsv#UUC=@a>Rt z_R9yccD}1xSLuW*pjlhzJ;rebp3g^NjI{Yp@zAQawbgVcZraT7d7(S@z$Q0>jOhqO|$|#C~1AghpaSV@CWojDGD+%|if} zzbkRA;5p)XMnlAc+BSPGNzhJ()cLIj*A;Y(>Ir8$ayGYHLh2-v;uSDtEWHiJ4#KXm zbx~IhghuAAe(0k&`X|rajNom}{W;e?%!gA;#0uach|B2ssOlCAt(Kogv-8?dF12Xz zjSc04n9)d4f-mR!Q?mokQ&!0~wqhP+w;6p*mbWd^=lB+Vfd20-n@Bgu#TYe=I0nBG zdqm`Fulf|Zld2c|2q&Cu2uu+B-4YmrwV`)aXuLxf0!Si3$^{71waqI_BR9STtj3L; zCyTCH1*k*zEe(Ge4T=S1&2clXs4-FFOScjP_7Mra-<~_;n?-tUG7=1ddf7*W&x|W3O*i7evBDCUa9J+AqxSngo7uE| z2MsyT;&YY{-5e5I&7-ZzmKb6+1+BUddZGN>by&FTSAoW&LFF1w6NF_TrRxd4rcUVfhvcMw{IDuyENm|sZJ@EwsjrvAsN70u#p6K$ zOiiNOi)+I_3=i8M(kUKf#b*~Zw+j+nQC2!5%6ggqo;V3MiDyy9%(Li{C^Km)ITi&pe4k?|OMkO8G@9(La zR%@#vfM#QAZaljj8pzN!WfS1box~A}VX9B#Qa}|-qLZFN!0zZ;BYP10UiIx)eoROT z8~f0aRHKji`ys^N#^2_%>O~C96?N=HJo8RrKu8GKVP&Rb(kKZS5?@TDswpsoD+=4KeVq|3hRB zbe+@_eV~SlO3hTge4ol(Y^Na6OVhfPJ3dyGD!7Gev?bPjs0|;j4nL%Ih3mA8f+-mc z28ifrZz%1ZQ4sY#KD0L51$?GPX9;DqG)K(l-)iig9k$YS zSG4~hdv6^TSGKi#<1T? z3Fynj2;Hi*?_CxONHCUjzAi6WU;Nk>j7TczQbGxwcplB9tL#H&^-I;vB}K???Kj*O zDuazp60G?cmYL#9vx2{hm|%P&bbVG*O-}|U8H*=$q7ql^sQjoWVvo1;{v+cPTb>=s zB+f(3@7nWrlGl z?_)Y87cbjAzZ-Y>Z1kM&6Zte*5W`b_QJ{V;pMQN`)o$^DG?Tkkbcz=FbGkH5aKbc^ zeoO(Dz<`t9^h;Uw3E7Kys}#;I15#pdN?86+&(vhbf6OjUvVn31NuuhK%;zGRN3CBO zE-)&{=C&G8v?bmK!oH#!V2ArkqcbmQDSsp9a&%ciyTeBncs_RNUMP?iAJ9!nrrRRX zmQjI6M1OHAT$q+Fm+$ZN?1RJdRTgepot&}RSrQpj99!B@!Do1yDVKW z(nO*>!p%{ujCI;=)-E0D(sL`r#XypL#EHY9Kt2l?jXAgxO#;W*tXC>(Z?G`q*r_u| z>tB2`HY&k>%_?&wk<)hcJ?Tva3Fj^LZq#$=^CRquPif4WxiKPr$?IjgYIt93@~7+_ zk!erLK>l$+!Oo@MbGWmM&3pSS4+mHM>)bpk) z$NeVT?i}pQYKMjMl#HwCDJ_i&j?S&By}Utfj1=*vv7|xFDwH2TI^c0wfNa|hR=?0% z7gt?8A#2KfgxE_2qL1lJH;EdSW#oBY&3TY<=xVp&yl<7NMc_}&anGh@irz=|)YUL= z*m8}=|FUt%Hi{=GGDla*C`5A${S#}_iA=}$-BC9goW3ZT_FRv=tT@qZ?y{4`J*6jV zKCA^zkMkaNrin`sW4`SL_(J86&82YU}Qh7A) z-VAEa67pRRMfAFf<^3f{ugqc!8EivdTrb50y1rtmdIMEpPdie$e_x?D^E8LMEZVvfk%oKZ(W2!Qz#>h5Jw=}$wG=IS*u5_@%#yZPi&nPSj?u zeX1ORn&;E-DcCBBpdjQ{t?pYCu;Mxsa{J^0Ys6NB{40v894dnbUYPvtN0gk&IcdSe z-}YKaiQKUxkn!JXoV`jax?Oq2zfo9%fIt6A^~2l_Mf&6}x2d-8quS+!T@2@AH7fW? zIP0V-s{%=uk0x{}j9=g4c2AU^mRt6&J0ae2oRQVIDuDKthJPlFH``FLruZc)e+p^o zzkvQA*lgAwxEzm&XbK3Z{cuDnKC0*4^2#$Zp2)NKfM4Zu$=Xn`rUK>%oeG||pFcrJ zeLf6wQVzB6F;^k|E|EGcpN&^q3BQw1HP^5u%9tlk*RSr@BwWS40U9g zPI+%&=n`z)9L~RXNz}J~@$^S8i#GiNw!7C&4?TRsO4Hq1Koo!`XBi>!sQb3U_tlF zTXK+pa%21cuG+`}r24NGn0qG!`@)O!9JDkXUky?Bs;2Kj-3g^X?;K+|boB(?ddxC; zztwt<8^;D`J=5qcIJ5N+mFiBz&=!mwCdE!MLHN0(kVZ#Sr7Hd0=rzyX+bkkB1CC|^ zV)mPYPSx|5JrtPVVsY&d>7I)YpoC2POn>*rEM;?n;mu`MR_jPDrk5h##Ls71sqC|% zAFE%)BaESzXE?t1YNfGYmk*{vtm+9#*7uEOomQf^2BXd#r*JH0tx5XnXiX6dpw)u@ zjABmDS~iRPf)Y)&)$GWDdL>7euTL)$I0Qol#QTUdDcFYHO}*5w={wKva5qrZb-69w zGIa`@Yu-^jZS;>HrIZq!(z{8z9T$YWp>DPGO)Ao-5NVG$f=Ft;)vZC^Dx<2jlSM=& z?X5bW3u(_3{7>fCy|s=)&u~JQfVpl1))m9fbH*@D*bxETO0J6JxaaGvgG;cc`Do7w z2OJnnkgYvjZ?r$?J&wL_z0h#3O@L8A895Q5b?D?uYxhap;Rx?~ z3=R%^?l^}l%z8Axa+qi8%t!SG@v#lO^nOq2TRfduf5;-Q_d}S5k2;f+`o?wLpJ*m0 zbcXs3QZFGtTOquvkyV7YUJ}}sLbT|+qVE19$&er4vo_m%)>nk#&!D0(b-Cv_ey)U({n9ZIXggT$u@Lr(pf_dKanvI zU75xJv*nQ+;)>r?j+-Z)d#61PALW)H8MeIILT2RxT-XR z>xbSkgSi+=TrcJbcehsPu+chfP&uM;o`|c)QR#F(!QbZMA*XOMdDt)Fi8Kauzs>Q|=G(Fp%o4%|5|MnA%65MD zCXR(PMQNe`dqZCy?bVzcHnZOP$N$w68Tc7ZX!tOKXk5uH~ zFJ0+i%>pKl=t>O|E?i>OzkF9)?&mrMYzh3>FqW0rl1E7 z`7npZw{e?7di~zRR-WQbJD)UWma#J<)(#d z)D@B=@|X$I@=n$G2Y;p+R0caschf{Lf8wWB^a*~aU=jLwh=P?T-)?WO6?6qtLI}10 zVy1(vtogz3ZmZHr#^_@}VB43_L6#O@i z*x;=X(M5fAoATnk*1{=w29Aq%eZ4mhhtCteT_pO3^LQV87(?G>kur^tMZ<=g_!mfs zVyUeLZvu6nCms5qh<}|K@ruSGEiQs%f%$0jf$t+&zAH+jL?~~)GnX#m@_-&MZz;K! zH`U}zXGRn!5=)fXEHhnZ(bbxR-gNYop9amqwq0>}=WEXTOnv6&4w@DBF!@u-G5FnD zTrR!@R)lbArL;eh{hoCEGB#x0h|Q9p3r$n;yn%ZpqRU*96MRz_;S(Y$Dm@ zhsQn71(LA0#J&v4-@aWQUXS$R5~W*@x};a^dPBB!p0Tv|@=mrTR@@V_Fm+;K<3P^L z&lg-ThO*}ai*m}V*>DramBHOu(i=KJF46A%x?kCSbG_(qe6XAH$b)$=LXYOLtlliY z#F4Rl8+GnQlMN#!G0o0hGBK3{Y?B%SbgHrly!S_p{MTOJW?oHa znY%r8KHJzXQjrJ|;-^!AEe|HiVPw72wyEOADwo6{dUrU|h~s0j+hOuVHBY9Lvf(M; zS1&wWBOF%OODNj?k!9suxfcM<3evN_Y*?CL&~WBjGYr$ zp>Hq}*O@Teq^Ef;=f%c;5}1!Fg^mw>&o-+iUdI#u!B40F%gc4p zU_&@*oQ33TG(xkoW<}Z=SA5z0Pq=8tSxXRpF|}cWThoq}?0_#g2_}7i>Bm#6vJs*0PRj2qMTxM^--6=yo z`DgZoJ#T(07Hw?Ee|c@ogfB7@9p;emuE^OsC8d`v_?a3}?R}Z7PdIkqZ4gm4IYH=0 zMU@&`#`jMPZ&1?E4ksV$>zNe2e2aD+@LjrDB)dKHIJj9~4VTolE?W{~s>sKn!g1up zY50o=?bZ5n8o7tKOn7hii?oHl$RNAyLuWbbG|_{PNErc92G8l&wm9%L1?}gZgLbD< zcq-EU^?hVyO%9&k-xD3>IwW5UU4zK`GP4oyo!T_}&$+ysc3-2cER%`L=epnrxMoWe zL*J!2A7`QzU;TIHSU>NDQ*tETRiSBcgdzpk9Q4L>Y6|M<`o8=D#eX)boxJ_nc8e zEgwE9C5^IRumM3bIEL=>7AyA2AzDa9FK3Flk#D8Vmnh|yBByV@=B}slnjhv3&eP1F z!r)#vrE<*v)S0kj$k2e1a0t6xZ%5NuGBT5$WOSfmcU2xdUMmOzK4Y{4Ka$?CDRl>j z@lN_3oO+12ARToK+|kgGbXXI~jwPLmsn5sYiD${q-4jSF2+89Wut-odT1Z?kEu&sNE)`8gzeB>k77 zbNDMPzq~D36QSizCZAPPq{F1$czsf%yYn2cB-iboBJaw$(YqYn?z@u(2WEB4sw7!H zHCoU@=9F-8C2;_6A^t|-46uTpDDQhYvt|jI^;TjjzvI!ge zK}hnRYVj=!!VW^05VEO+0lfw5m&hG>G>1D>!f=;e{bb9KY?!({wzgHb$0vi&Hu+alju*QNU+anB%15MwJo_jEr zlZ|OmzU@DvX?LFHJ`p56xXec2iwX%oT6y)|CxTdB;)u^`vpJjTN9dA52(?avG_^@SPMl_fUB5jwXE-rzv80OP-Nl6ZE_{U5 zY03SoQPH`@?2z!C2T!bXm~&@R6!6W^g&m+ zT{5I1(9;A;HT4!Htu|f#EOkM6#=UE3d|bS}m778#Xi1bkA0{h}Hkv4SHbqIQYTuBa z@TKtmE-{byeS?tE=oTW)V*1KA-uvkNgrW}kHcxUHZhfcp!eTnNBO$x~g;<8BSS9Z9 zC1+Ez+px{iDY+?GJP-qr3PlJTejRoLP!rbf6!vBE&*Gg=Q?fIVeeECe62b zJag(zL*Q-de-twHF3MzGmGhJt{a@H+>q55X8VC$=y7nzMP(DWZJf*q5k#mE<>W#XP z=0K7%3O4kpi!4o2Vn=6_v96>cpDwdUG;Zq6?T&o2ABDcF#``w?A_}=vDhX)` z&1Q9x@&o$d*WUghiQ~y!5=<;6V?wzQwL6niM6FF)pLgn$MveqO+HFDB%iLl<%m z;uT3MY^Af`Rtnk6f56pp@VJJZN!R_{s}(5DAG4$IX#9}CDXtSE&yr5Een1kg;+k%{ zS!o2}%JeC5o(?ZT)5q1!+}(JsJP$8tskFFcvW;frXhNDXw>0WnL=3%9GOpZq8&NcKG7Z~Z%izv5G+>}q}Ev-{z7Wx+~6J2p*Cl~jfImdW%+>Lk>F5b8wc~L7y5ZrIm2>A)VS?%2DlLPjmL`( zE7oU3@a>=5NyF9(MKyTV=M`ErV55i+=nAa!11At^i%abcO4P>oFwGkrAc;O zX9o)v`h}ph%`PQj#H7yQ*?VeBty}NiW!6`-M!MQ7vxCer7$NX^>Bg7LA zt38ob=x!bb%{Ivk+t|YfkY{~N-98+qh}Bb)$tL#LHL+nZM3Pw~?R_KZtgGZYX2NgwNQzGOQX3K7E6+aoFLq{kl>s>~ZI$C{G-l)d=h{CMtfu zp3g1?$VaoKV{8BLjy2$Lv+&B@pQ$PSa_Q$)qg!w2V`+v?-ZwpB&w8sc{9|YjJ$9RU zafngX)5Cjs+!Z$8p;Fl}xk0TWyf{8w6go-O4WHFl+xFNlUygk_fAoHwN*hHz@_g8E z=qx-s{<)&8bo}eOAP%xl*jIa`47ueW+fF7ENQf&z*chQqnf{Dzx`G8+3{tnUbN3!_ zehJ~&iJx4sA4i%Kf8t(w9Cm$G50`aLG-OTv6Oqbl4{{Cby=8bg0nmW@H=qs(v)P%u5)HjceOB>Dqan~ehk5WdoHPl+35lQ@&jwa z9@E#!tHy(OC1p>O#J$J-v;;Y1;g|u2bqJtP5SdKw=;S0KYX#4ud8ck7s0id zaE^Ln`tX6b20p%2H;O2^pJkp@bH`(GX}1;Dq5Z_Gux+(3_KANgP0i-vt?noWt72O4XrnM>e3UW(&65r#P{Vh24yt8WOLznyKRPb#@_K<-J^n4ZOi=V#!c_ z0!WhWBVsq!vufi}imc{yB(qa~d<~PiVpg=FHtPkN_D^z%YTw#tR5|Xh4Pa@po0I}k zy%O0Ws%)QeJta4SOj%wyYF%@JkjM)IPBBl6XK4qw7 zHeh^2tyS|riHm-f8Z0$SmXJa)VhqE*z1#n(F+1AMnA&=~D>W)2N*Y!5&rVmpTr<~_ zHc<^+D;^StqdM2>o_MfebHp4&XKAub7&U|;uw)3g1 z8Be~stg?(~u=Io@7vheHcxA83dN$d9r6v8z*0&(BXEFCI7mJ_Lr7$0$*EuvqO((o>&a>L3S;nfsyV?Ei0 zmAWtbaxv@z^X;sz-x>b%NZwDSj~qf?omBR0;^V@cNs_ksWxMl6JtdW&IpNYhrpr4^ zE3a8T$FtMY-jrBPW}@4vK>dxLGUQc2|bp0m{2yUE&pL zgH)S?RLPYWtKMk{F_@68KC{WB4Ela%K*b~0;>VU@cgAUwmfPD-U`33yW0&hF(aJvj z(@{G-APww!{b4So7pLDz51;UH3&-RcyM(j0pOLQ5wdLcj!{LcHTxLE5BV$SlyOgWg zi<%e(1)g&Hrzou2C<+9Mgg1{!Rh>SgeeVK!)KRN$M3<7x-Y^(A;zcE}2ve ziv1!_co&@Vgvugs9siqLQzyxFr_DVm=;#Aj@N=zPd2Am;a84_FL*+ZcjnI(bVB|3| z)K^wrZ*R#5KW#me3=bN+kVP&=K;4xm_xsY=$$-tY(b@hei*Amm#UKkpbc(UbVx*7q z1!>IXhOkf5Tu}f_<(8l5f=L~l*^-dw%@hM-{D#b@wq5@z`!N(dDFlAZi364Sul7|O zN%H0eod~5(8=R(C+2}`143Y1H!3VPMqv`2IYWRKlf6`QCmrAf>*KQ)D!KvMHhRPM0 z(>IwDhPiyj&`!_i(Xi#9^DLxQ2y&6YTGC9#LJKZ5ZTs|d>N&Xk(z5q3mHdh0%VA`7 zB<@C0tm!G*a;9S&MT6S#i-Y~lZ-qa3T{$271!5&u#8G9?7;UzRFx_d5i!*M}gpoQJ zYAjI`&uEYD=%0jj#BtDFx~lBvXpKt1yB<%O$lHW2zWvIaSW=?viNl)v&MWgJSRpjD z{hQcm*r!z3CzN`l?Mdc)=szZR+xfV&(zEtzpQj9K`|_c}Q^0?o*T%%tVoFZNrMIJd z^(Aw1kmngl?5prn#Uxzd3g^c7-aq}Rn0@4T-;LKap$f`xM$y`x;;u$C(l|Y~!AZ3t zw0%`$m| zq`o;87In+r)x>&2W~?!R!BLiU6ZC!vichvV@9c&2SYIo{s<-hNl+42DJ85ML!y-b} z>xSuNOqGu5sJk*biI;bWz49W=x)H^EP_0FaAvr}zL{iuVR>c#;>i#`jIQH(2qj?&~ z54`r9_>}i(Jm{Hvgvy82(XNhz-!Y;%%Ch{=v_AiM7pZ2EFiC^H<)lk~CLg)Wm{zmL zy)(0ftbUhA`za082+C;eut4L@s^ifeG}83Wb!<~mR z&0=e{Peqo~jtv*|SSAVK)~1eOnzfPhS2c9errTX3EbG79r^FK1$5>iY;MqTwt7lX;1yg#{i8lm`c2;_tHkDB>x*^sKaN?}U2;0`Xm=oNIaa{+NJJ_xG zq~KP4j!SJKBhxL2Pq1_*ci>=UkDqZ0)nFf^jpC&shP+`aP)pH)(pOXVv?hg;P>4M) zp)hKpHX6@Q^*?1ret`&Uh&yCO+O-_!(<#h+jBxX^*#n`I<^`oceemI=!n`M`K<{>pXj5jS1WdHf`N>n z^}Vu#(jlqu_AT z*Zp=?6@O0ixTweD?^52C3-~x$fku9EDz$nqI6WD^pckRt^v5m)dWkaDy4uUd5zF63 zPJ~>fVk(Vb|J1Kk;kLK0^Sl=h{2BJL$ zScl}$M@xl@gWcMNUv=EvR2gde|Kc2NKCZE2D?%N!+T0yyuM4Dq&WC(|Ou>Qvl=_Ly zyuNH254u6Q*y|03L#wg4y1aYt9t-Uh1OY-}{QE97oU=Wt?WNY5!5ovHnDsTBnAQPU;4aTZKG(YO3bN=P+>OjKDisC#`JRo)&h#$@IP z6}MwhqkM#TSTI;d#q=sX9kX_ar0S8)U7#H0OhFQc20J&IjH^KfiQrkf_K_Q(Q^!-8ZY^KSO%Rtg#Kw$g{aI*oY4W+zinkbx_!l)3GZYYQ%!5~^|JV}@_N zCMgzx{Udu@aLa`(vc&kt?mTxdA{UYNeI?pHSM*#3w>AD!okJOsJi=Tddpy#rcY38X ze8vo=mv4CA3mRmK^_31nYG-cvu_)QSLfEvmbfyn;XeOHRnMofWkL-BghCjDkQa)pK zMKz8xV2i9Cdk3+)x>>uS?Oy&67jO2mY}kH&Ss^li-DeT=ZvHJ4gW2^BQwO_N)rZ&o z`x1t0T%L!QqWEq5qrxp8dSgMzjVzd4mx%l(xg}4FZEX}mtxe9MLF(847uQBj@UbV; z9f$V_;)p5{yUyNUC0503kz&{*c$fJ%v$xX73d8~bTN4VhVKnIuJSH&Z3y}VKn5(}1 zo;E4&wAjYCUiRJNsF~*Erfe)+fcAL%e1K{D`lvixLSU}AobDN>7d)%nA|L4j93OAJE%W6epvLEJhgTBdihg61*WB#G>a_=qUvXrZd-_KX(qRGy_o*Gy50uL>B@w>!XH;9)`pcCRiTc@a;CdA6pbuPkR{ z|J0b8*&3ATslN+Th}(azwpDD80`?z{BPp_@7t4z-_(qx4_&P3?BIC6UeC20spBFEZ zoS&TNP{^&%f(h&|;#WEycxv%6srpvSe^_r;uQk3xpQ~k56wXKb{h131`*XS$ft+dc z45)BgC{N_c>W*@Cfnde-v>Mfige$k&=eF;nkC=_!Hb)q&3cimCD!%-wOAJ9il>- z{Ya@Vue_hI2+A}C(l?fol^Qo&O%y1Om`c3IpdQ-rF=RUPntL3sT~=fs}3r6MZN43#|Y6;TKSd_@he@JvqWTS&5t?DM=_uTyX@B zbUSd~)adAv3$9wR+qB}ak$0o=Rc(VQ5)C!CW|lx?pTdy2cp&#{(tHzZt{(>H>~>oM z+bKj~rU|GM@+YT0*))63Wc-bIlEHqcz$R%}2)jmbEkI`?2@R0KMSmf7b&(8t` z8YW5DcrtY$tqgDQOe%2#KF7xDi{ABqL6OLOJ4?2CE}a%C(-aJD&9?H1W6!RuLVb?Lh6e-U0KC#f&9xHY5Sb{ zny3#jNVvG3Rf2Zz79V2MfNLHV3S!o;>WvM^s1UTx4}mBI5NH{1$YgdET0qE4BnkVZj$>E zp_U9%Jr0c+KHH;OjD|SNu0mueLj{zR-epjzRV(hTu$l6Wlhse0hWpapln>dargOaA zp}5##kG{Ty72p=gqi1zM5>$NB%_iv`^n)na%IG!jWYZK~>DNf7htq#O)>suN-e}F_ z%t%o2s1xoOjk{g!=%>5?}HP=s5(P_=a(#(th=OFmOTA%xz->$nqk*(ozDSJ8hG5y)=u zVForsWzBQD4n&R`r<)_ZuzF>imGj2rc1%C28ql+vD+oq83%K;eFd+m`3J)^g{_%>X z&4+$3d$KBnT~SV;Lxdj|n|xj9EL>eQ@xXbU+n*7~;hjl~P>N^ZlVDyrL2Y_FxaME+ z;9`VTk(vBxbuoY5j9reaoahVkI&dcZP!sBASvOf{$Jv@;;EZCA|g04!*94|4<4>E-A zI4oM$V z1yc(QtkqT47Ut&0#`^l&^3vks(tt016AY~7dDc4C>gvkM^5Xp5^yJvkRQZcW7+4G7 zVeGZvAD)?>7#ZjsXr^y?z%$oz)*b>&i?h>HVJ>m{uWtWn4Os#8|v$5 zEFWv2s)K>GzR28oyuJ>Mva~oqGd(`s*U?m2wp9G0_92!9#MT~S3$xRcBLm&dRk@w> zMN~Dv$MAr1f6JSm93AXwsVOL(883QX{d@4yLvVE&$efxO?rX0r$p(+X=2KKXM6);W z|1sp;%+%;WS7Uj4*V6E4=CjJ*qXfTlr^knSTPw3_Hl~M0(w|g3gmX523$H9M&Cg7Z z^mo+e7w)W1500cfDF?!rxtjzV>%d%>7w4wO2D=)HbGG(YrUr*oh|3cafE;p|M25ynjU&rbqjl3i}|xBS+gS(+^1Q z1Cp@~ySeTPNNoX9i!-BrEyaV*|KNa*4UZ=hv)E$a)d$tRZ6Uju`4`j*?%6j|6{dO|&fh*u`vYp@HrQaIaIMmfr-_YFNH@3KY zbhN)b2IOQtk8uioh(d@jf_prt=u9D z+NS3glZi4P(h_!<2YSw-(A&Gaf~dH-gp9cO;q8Z}0DT?mtS`-o@N~4bv9_`_GcnZD zHn5GTn#;t?05Wf5cM&(*CxNblZ{eZ4aj}p%+{BF7Ru;yF&Q&qk=?}@#yNI)G8&K$-GmtzK74H)FC@CW2~rKCmV&M(f44|X+G z=A}eOgoT9$2Z94o{r&xXyga~W-U<)dcVT;o8yyd2LvA14Twh&YTy56cJGlo$#3dxe zgX3^gQ^SjArbqhP8!8I2(o&L>62Woku`w~xQ4yhmUJ!TY)CZN2J@nbOO`!hU+XoTI z1=ZEj&}gi+gS~^ZPsl?>aq(%%AtmEO-EH+%Wkm(~xjEU{;4HMvjP%r`_~@_@E98_1 zp`bmKf!<4?|A3791=ZzD|46HogQKH^y*>E1qT&Mfmy}hH0PiS;}Qf6FmRbOXY zOH)%LxB;`Vp`pIMuBNJ@thk^|8IZ8M_uWUFZQp|4U-@33UY-mO3=WQTK+0%kYin+-uW8l(Ez^4+VYL4YdK+*7cQxA&8H5{4wekEd&(YN< zGA%N?b9i9LZ5U-}u)nvvvtv}}Aq(n#09OvZ4!nT7-s*QAgdgs9wfAvE1NsN?jSffw zE`M;FLY^ES8yy)2K3?}93Hi{=fD8D`(~$v}LAdcO8-GU>pgK1n&zkXBw|S&F;2C>r z!}t$6_wwqYr1?HqK)%=AKFAT#!8@{NY6-FeUPf91p2g?)%>ICLjxPNHc&FbTs6WpJ zV4b{OONUpSH&B45*oSBKQ%iughk75v=j@zb`T}*FjSjdE!VmR(*#$TvIkd*@NsN?(A%DU)%f+AHnBttzG&6 zW$X=j0m6g6c7Be?4v=uLar*E!lqwr;aD_%;Bf?hc=U^f2ZR?rfif;8`uzvtMnY`89Z{SDf}%_z zWwQrfN552$5%acZXOA!4fp)C)1q{NE*4jCEI-)wb2M0wNxmPY6dL93QPafduoh!Es z_^X4#fxtny(FhwaM->0yplAcH+T~-flYeJtRsdnx$^IZfx6#4D9nf_P4ho9W^Q~X; z{udVMp@_NDOBbMuwZ0Hwaxpd@jwpT)tWH4V>R;IDy(?#+h@+u_kU{v77AFT+M>q%9 zU~mvZq)u@2`d|2&wM*v8Wad|vE5CO=iSU>PSzwsej z(LLM$!k_)dBLnMraRD5dk-$;V?F98chb`E4o<%smIvE*=9z-7Qb+dN__7Wf*;-jB3vJU{i z)%_0?GK(<1b2HZ$JBT!%YvTy)B!CR{Fi0Oe_#1NbcpNzWLmCH8{6zsA zk@2wrpWjp*tqNvOyf1!La)DX^Ea=jh8AwIJ83dL=k(QQ{l#~z`7Xypp{8CldF)+2Z z3l0qg3W>0@E1p077l})x!tL3`X*(IPGK_pEpn?9ohLA>PMrZ)gvq&qavZZtH%U^?D zA{K5h%sI;KAK!4+xz@OY>*3bM!YOG#J`}Q9k1nPB-bh$H{W1yrCfC|AN zcuCciJkM;ToYH)q$nHI#>)!<*K$NSK)t*8ZTbImLw@s>Vsf z2mge2OG`bz35E)TW(KTO}h&^;S1r?|*l5oG9BF@N%q;0%-tf%;sdUR~@j zb{4p)sHr`4)*l2X4k>iY#>gou@==o2b%?AO+qw8>f*+7@vN=|lV5qFF;tZ7T3pB$# zKgTs2v#2;gMMlRyte|sl_w4GQDFHVqmxqhp#h$8aYCwjZH_#RBtX!9ej6gLRZ95=i zcKh_w@8*xH0&h^S&$cG&lZ=6BfFGve34)hWPReu6#w;ueddLaQ?*MYH0)FKL1EU-* z^_2Lisr~@ApP~oQCr|{i?wEz8AwQ+HY(w(eXMl{Le`GjALvAr{&UYr8Qq6!-l$GV( zfL2NR6oMZz!qsK8Y=iUKr?*e9LvDYs%NZJWi+**y(qHBejG?S7=L*6VcPhxvE+~!A zlGd^b%59t8I=Kq_g@@mw-<dLyS?0>ZOyh- zREAhct6TVGHUTo%3BQQ=JDi)-jiKrgLtR}{SzxfTu zc?=2z>}43|7%1HB#ck<7?nOb-=7Nnh3>=c~4>YE8})gjfRg0m-lY5srX9y|)Ib_T8LL6rNv?j*L!~fI$8;qoYH6P~U&! z;P+HPj-F8XQ4lEE1q%P~L4;E+kV2QoZ_%VbMI)hzu^^Ca(a2yn&5Ck&2h5T(Y5ZzJ&>0SO?boHO@ zfjjOx0Yl;IK_HJ`@(94>=k6evF!z!F=rZsHaXU(Cu92?tAce7C9I7t}q^_l@siCp( zPY~|NMh=*+0%QW1?v%!lT;L{JT~79vMUt+sH1(!1qwUe?%V~} z*?Ibh*dN>CPq!|>eHUQ6{BdhPwg&^8Ho~JlevCWt7#{cWW3)TK)A{GW!2jp){Bmjj zpTqP2bBAZ3GpXgjba-02j;H(rgZ~d49;}&$v6H=>GFP8qzmWd}ho`@3<#=m#Z7s&b z+uJw9FY5om;c4mGKU@c|!f%XudqKQ${X%>b{(Fa~Vfn$>Lp}4%f##hJ1@Uelup{Xsz)5kBw$M1hLe2``vXKt=9Zy+ z#D6e-;7b6PDgek?DRwT0uPidt_c26!7|zb!HR%bQg@*b@&iS#yz5G4t?m%aFHjV9Ig9++FKd?z3Y?KH460s ze9*1ZGEYFc+)mHW5ZS=Q#q{rO9|YiHnX5amTll-{#uD#xxaxS_2j1Gv=wBGt% zs25PoSdkAPU*V|dYlv*@=%)8Kwoh7b?KIT$!O$%$^97`n^n8GBTY=ql{_6W60>a(5 zckVzTH_avf<#1IHU2j7aBL^pU?Y}rbX}yh&NB8bP6_Z5)fN+{V@NNPF3$T;B=3k7T z^xnqWMW`E4#X)&lAfW52>uHE;?g4jI|C9NH{D3zA3ke2lSttqz4u(8q180CY z1w)(=Tr~b{{-pPU8&QCjyuF2c;wod2fn8`5|A%6 z)dw5G8kjf(xRchO&7TJx30Tit=yGv1ARep(2E?s_S`fkZ+J82GGJ2gG5ssk1F&SNs zTv2SHZ)j-j2na)L_5N)BWb{HB5o(v9{YA0mNHyU)hQM|LNN4N6m_H9BeBIb?HKZ1? zrlz{8suEHWP>xtpYOQDF=mMlz{KfitNWp6>an9VKIbBTOd1+6e z$S`4eKCSRjw-Dq|Unh5szj1w(WuyQ-@lauSex;Bwj}W9#e@~6SbA5CrK>#QgEDSFo zTAGT|+RV zq8;S^N6$xITKZvyy@8%61c$jiWH`zHkDiaA6i5>MFbhwhJ(9lR&OlDgZ#nt~G z%V!uF5)v8fsv`Bbo)6mZo{zbdtfct=*WQ)DHF0(O32S1PPy71%y}p(}g4TpRfdsUb zgrKr0vIP>xN5Zb*CyIYclUlAVNY| zg!uXOHS_z`Veb9kd(NDkd*;sno;#KJ4f39vvts2s`DA`~lutN6G(hAx&?hWw^}57} zknSj-1$<$kpWm3EW#1=H3GR;anH(H6#y>SpU##Nbi$+-Yr@C1wSZ|>%?RY|GK!>Nj)ZK zqN$Jcg7x z(3v%MbuZZ-lhe4m5`Xi6AikSDgXt_`zVE`~Z|Eh}voj_%I6&n84`>|{8a8e?jc)7U z#B_ERF$cM@KHt_GqDQ4W7|b{@h#x8vmUDVU3u-ucvIDlGR@bLPOF7L?Pb;I`9}_lT06AW9Q)H%;v=(?JAS!ynNCGVTQm+ z=*1CnjXYe2rqJKQr7~Q+lDnXEjFwFnWpju=|F+osb=suq4Lb@Mq%LJ(jq4B>Gk zfM?M%>1H%r`;h&*a(HAxDrLMmGOiKFmX=L7vCrs&%aM+SrCK9l07nkJvT>+WTo+W1 z)H_57tFFRO9w!m{wF4DQZJE)!h#cwY0Du|^eK<+btt*anaGs@`$B~Wp6{Z30E*XEsbt& zBRcUmGA~ch zV4)mjk8#fci zrf6_15q>IIkAyL|62LA)CD1Vr7Hab|IM^J1EdYCQRsq)CRtz0W9gRQN=4NoH8E-To z{W)s@$)btqh@IHc)X6bIo0&=U5__8P@zJ%GYYIb#PPdWZz%R9VnM5yxNugQ~9x{}U$18Y# zxegl+UAg035ghEH3kJIr0h5TkipNk(ij|x!wvd1P4)kMbWktdJp*c9=jodnME=gXV zBjNuJic%2Em1K#9$wyQd7bmzk#_&#LOOn?}Pg_edAlH)3EGW)wmWvbo1dI`#xRxaE zk@l7n3SzZ}Y;0l4V2fA?L*!`6bnnEpB>6a5$^f{UY-HiUmH-X~98a5QF-ml`OjN08 zWMRXWv4~6xtlB7y9;h5oNg_nWP*D3pdRXK z=Gi5yBH>V}xc!y^*oG}dRPSY;S%L_jxGN|xVXD+^0!*Af2RQ7QA7 zR`#56-B2mn6DAv|6a$s=H=|N!e1-3odizKPf>@-q5bA5tr^XK|?+S7e0=WgPOsz7x zbN&3W$vODtvMSTNB^QnreZB%QA-7cBt4h6RR(kvQ(}fqtFIUyyGq1RNdmkYxzLss(+R_-J6o;q3(vA5@l{IlO)2*8HMkK{`|^k{MaVpwxS{q;=99A5uj*8WpRU}) zExKfM?pG@n1pU*vY#-Jvs(-)X8ElSNy%^tOfu>0}l)*N#+iHx_A3HH|y;;Nca~Ce3 zfK+Vb_@vky=tIJTHo#NkyLpNR6w>0W&Z3Zh{Y|V0(&E$R{$Bm(pVe)cXT;LHI!L*0 zcz#g?Dc7f$#-q?r&b(WqXGk05Ik9ZV6UgFjEP<^LB-p6|%81v@FB3g)MJUl4^YR_{ zYGH56ImrdmrC-qag!t6e3oF|JwdNH&E1xvhUOF$mK)kXsHbIoNa>)Zxt-6Ccv&vmn zmCd)$$u1Bt{!0>j1&C1S9s}a3WcT;a(Rd91gXmDVlIA8$0t_IEAv?42gIb^h} z5e=sI@)CsMpUVa2{LeS!ZC;tYR@|VjY&5Ii0l9p|45uTZIVzVAO*(n*tsX`OX;aU#Z9fPF=?~O zi~V0lKxQ8?XwL3}tm%>yPo&LlmGb7dOOqx>2!g-by=q4Mkw zRw`G%)iQfmQR&{q*#)=eT~QYUI3}l2smzlom9smRK24r}UzsQFP)d<2-)VlXj6B|2 z{A+E!T!~OXA-tj?H+^}H^2Coy<*M|I-`XlHzfmHV0HDH|T7mpkLdgCN`8q?$?|Uvk z`!+r4u&xktVqaO!^D7C-%QI4ShLHWmwN3R+ij#5C3q{M)Qgwuo{pEN!|C=bWhMs95CnF zbCyaMX#|mqjb|=lzwMS468G+oiClzA5;_JEvx<$s{8F*^p!m>R5RMNV$(@yeq7uy* zvhn?64=R0AIY>IXaIXER?e8M#C z7?L_A&JaUX(+<5&Ln@DVH4Rz+<#wGhBi~&(2!8UNC&!|qqAGo-cHky8_UASk4FV>hmGNUMxz4{?d0~gW(+Ydjg1Hs3Cw_C z28Nl2(g)D!_MfiO3?X;sju!(5J&MEi_)JPSvh&vrAb-pW6+)6X5K<_xK@6H0$h$Eb z@x%P?oB$OKB?cmFgoJM7#McNNrE|yN)uUCEtutt0Y{Q(O5jx6ZMu!N5<2X_-!QBSx z?U~a$Mh>&`m{9>?As#X=k>>(*uOlN$GjPO=@(J?-F4ml5L$h~uTF^0Wm{!D$9_`PS z@k~5CJlQnVkr3Z8XuMZB&)a=yEBWKhVgvaz+#WFUjzPn;YQE=SOAFb@sD+uei<6^6 zhQ_3$D#pf=LXnfr@i%rChTUq7Nyp})))bs3GIPRTo|)gjoKxUajsh<#m0~F&6D{mq z;mz84oMyOKYGX~Y6p=~r;tiEP674C+Sa|h^wnJRqnBF3-aDm!V$rjdbE~6kYXiPZ{ zjofY&jE^5W#z}#{t5fcnoGq*`;v}ms{xH3;2dgjgOoFRF(Ng5DxOBkzeRoSQ z@5Qi&B2FR{Kb4lfb3OmY_Uv<4_a!Y@l(Cj4htg-_ih;lEeSlSGtzVsUVDsAC+!eFl zl_CEmKZh?X9Dy&AH`kYZ8!O9MmU;B#$)YV#^?_B*{rkrou!j1kvh)8!;XNTG;pFXG zrE=t5tJ;STi{Qge4S$}$aAi|0nqVT?Tz2od9NN@9etf(fYObBXaPc=ud;%&fc<}gz z93fe~sIESF>qS%LITR-QTVvxBWk;&3>*a{KRsGYar%ImJz)QfzbF#QBwD{@M2E0YX zvuCGoKDv4Fis%~gR>9KTxJ%ETLB$7FjWspJzXlTJ}TEtBQZp4I7k_wssK zTfJH40qk@>meP7H!AQzF(XC(evBc^oNn0CI%YppH(kobg{sUDJbvbq%c`e>l*x8$Q z6t79^B(80yy+->NkMTcdB%JRny%qZ$Liqg6WF!Ob35Db@=A5g^*cEEc#})G`fR7ojIKtHg)FQuj3$}9hF3N z@TcO8vEv|z5%nVSB6CurJNnbSU_9N5b|;ZM>{e{p|0x3jZ9EuZvh^jYobbV?j1^mlOnbcwbL#o_nG_I_>ut3RH6o7kH|h*luc%P6vJ9kv|faf;l#@ zC}h8 zq==XmIVzPeO$he&UzVU&IeBbkmi|?~y*^#7^7V}HV5i;N+EkWAgn6>hWX80rESl)U z@vyU-T7(-`6v*-54R=_gQdvZ&3?6L5PHI)zodSy(ZhPCTj9M}!?J8fb>aCUMyG6}H z5H1nMmsfWH$6{l6Wfw3?dQS3PQKp8hL?OVopSgtQLp`AG_WM1@tK&yKeu=6GFYp z?}GyRm5*IlectvJte|K4udIN+9r5M7Wvp&tKKT`dgNn=Kj@_buSq_(`t9B+@VewTeNO6?0m$c_uj1hP5<*|<^N>yX60|8yjl5Mt>3WxA#YfIuO33LZ~SjH$nS*%80_Cq{;kXA z2LJ1Y`@M$u5A_dXu)o3nJzKyK|J36}-)F=4>)HEW2mhk}9S!z3*uQ5B7~-FLyy*LE z7=Jx`pCSGk#-F~&ow`56_%n>Zo-JS)f9mm~@3Ue2_3V9y=bvHx>3iI%`!kF`!}#mj z0*3LY9xwVn8^&MH-e-9J8OEQ!$DO)A!}v3dzn(2%7=P;VqVKa|{Ppa8hUeekef;%z z|5?|gc1y4Fzo`A(|JIFsYH$3XyrBgS1^$oz4pny>$i0zI@t!$94wdNnK;!1m^zK#u z;YWiVhV#69eD!+xc)@P!!5{VJ{tXy|1^zx3_)7I108(GS13;S;F}3}eGV{Kk167H zNazNSDdIXe=nk(-LbrGw4Z6o;in&@_AbP-K4I?!jqbEGJ{T1=^4S1bHOkHTOkJ=Kt z&j$PGwu`#dU>~(5bf5pt_KDH0MSE$CW;~qRUZeZ3xtjPnx>4<=b2Ra~=L79pZ>oJ9(Lk~LYHG0rhkG%+asie+&taPwigzoyL8Qs^n|CGAh zV^KY{H`KQo=R$x;KU%iFbN~PV literal 0 HcmV?d00001 diff --git a/src/platform/osx/Info.plist.in b/src/platform/osx/Info.plist.in index 099cb5c375a..35958acdedd 100644 --- a/src/platform/osx/Info.plist.in +++ b/src/platform/osx/Info.plist.in @@ -22,11 +22,99 @@ ???? CFBundleVersion @SLIC3R_BUILD_ID@ - CGDisableCoalescedUpdates - - NSPrincipalClass - NSApplication - NSHighResolutionCapable - - + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + stl + STL + + CFBundleTypeIconFile + stl.icns + CFBundleTypeName + STL + CFBundleTypeRole + Viewer + LISsAppleDefaultForType + + LSHandlerRank + Alternate + + + CFBundleTypeExtensions + + obj + OBJ + + CFBundleTypeIconFile + Slic3r.icns + CFBundleTypeName + STL + CFBundleTypeRole + Viewer + LISsAppleDefaultForType + + LSHandlerRank + Alternate + + + CFBundleTypeExtensions + + amf + AMF + + CFBundleTypeIconFile + Slic3r.icns + CFBundleTypeName + AMF + CFBundleTypeRole + Viewer + LISsAppleDefaultForType + + LSHandlerRank + Alternate + + + CFBundleTypeExtensions + + 3mf + 3MF + + CFBundleTypeIconFile + Slic3r.icns + CFBundleTypeName + 3MF + CFBundleTypeRole + Viewer + LISsAppleDefaultForType + + LSHandlerRank + Alternate + + + CFBundleTypeExtensions + + gcode + GCODE + + CFBundleTypeIconFile + gcode.icns + CFBundleTypeName + GCODE + CFBundleTypeRole + Editor + LISsAppleDefaultForType + + LSHandlerRank + Alternate + + + LSMinimumSystemVersion + 10.9 + NSPrincipalClass + NSApplication + NSHighResolutionCapable + + From 8515852efc5296f3e0e3e8cdcd01d619b7ae1a44 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 9 Jan 2019 14:09:08 +0100 Subject: [PATCH 048/189] Ignore the extra "Process Serial Number" parameter generated by the OSX finder https://stackoverflow.com/questions/10242115/os-x-strange-psn-command-line-parameter-when-launched-from-finder --- src/libslic3r/Config.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index c9fbe90ace2..6f22ba89e8a 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -561,6 +561,12 @@ bool DynamicConfig::read_cli(int argc, char** argv, t_config_option_keys* extra) extra->push_back(token); continue; } +#ifdef __APPLE__ + if (boost::starts_with(token, "-psn_")) + // OSX launcher may add a "process serial number", for example "-psn_0_989382" to the command line. + // While it is supposed to be dropped since OSX 10.9, we will rather ignore it. + continue; +#endif /* __APPLE__ */ // Stop parsing tokens as options when -- is supplied. if (token == "--") { parse_options = false; From 713ec1f06549315c198fff787880321198028e59 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 9 Jan 2019 14:15:18 +0100 Subject: [PATCH 049/189] Fix of Segfault moving support blocker #1506 Fixed unsafe access to support layers from the G-code preview UI. --- src/slic3r/GUI/GUI_Preview.cpp | 35 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index 1092c761f03..560d5b69cb4 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -685,29 +685,24 @@ void Preview::load_print_as_fff() // we require that there's at least one object and the posSlice step // is performed on all of them(this ensures that _shifted_copies was // populated and we know the number of layers) - unsigned int n_layers = 0; + bool has_layers = false; const Print *print = m_process->fff_print(); - if (print->is_step_done(posSlice)) - { - std::set zs; + if (print->is_step_done(posSlice)) { for (const PrintObject* print_object : print->objects()) - { - const LayerPtrs& layers = print_object->layers(); - const SupportLayerPtrs& support_layers = print_object->support_layers(); - for (const Layer* layer : layers) - { - zs.insert(layer->print_z); + if (! print_object->layers().empty()) { + has_layers = true; + break; } - for (const SupportLayer* layer : support_layers) - { - zs.insert(layer->print_z); + } + if (print->is_step_done(posSupportMaterial)) { + for (const PrintObject* print_object : print->objects()) + if (! print_object->support_layers().empty()) { + has_layers = true; + break; } - } - - n_layers = (unsigned int)zs.size(); } - if (n_layers == 0) + if (! has_layers) { reset_sliders(); m_canvas->reset_legend_texture(); @@ -761,8 +756,8 @@ void Preview::load_print_as_fff() show_hide_ui_elements("full"); // recalculates zs and update sliders accordingly - n_layers = (unsigned int)m_canvas->get_current_print_zs(true).size(); - if (n_layers == 0) + has_layers = ! m_canvas->get_current_print_zs(true).empty(); + if (! has_layers) { // all layers filtered out reset_sliders(); @@ -777,7 +772,7 @@ void Preview::load_print_as_fff() } - if (n_layers > 0) + if (has_layers) update_sliders(m_canvas->get_current_print_zs(true)); m_loaded = true; From a476e4ca0f88d31c5307d4f1c921e149004fdf63 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 9 Jan 2019 15:07:10 +0100 Subject: [PATCH 050/189] One more fix of Segfault moving support blocker #1506 Fixed unsafe access to support layers from the G-code preview UI. --- src/slic3r/GUI/GLCanvas3D.cpp | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 9d70fbc1b2e..253fcb951ba 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -6915,22 +6915,31 @@ void GLCanvas3D::_load_print_object_toolpaths(const PrintObject& print_object, c } } ctxt; + ctxt.has_perimeters = print_object.is_step_done(posPerimeters); + ctxt.has_infill = print_object.is_step_done(posInfill); + ctxt.has_support = print_object.is_step_done(posSupportMaterial); + ctxt.tool_colors = tool_colors.empty() ? nullptr : &tool_colors; + ctxt.shifted_copies = &print_object.copies(); // order layers by print_z - ctxt.layers.reserve(print_object.layers().size() + print_object.support_layers().size()); - for (const Layer *layer : print_object.layers()) - ctxt.layers.push_back(layer); - for (const Layer *layer : print_object.support_layers()) - ctxt.layers.push_back(layer); + { + size_t nlayers = 0; + if (ctxt.has_perimeters || ctxt.has_infill) + nlayers = print_object.layers().size(); + if (ctxt.has_support) + nlayers += print_object.support_layers().size(); + ctxt.layers.reserve(nlayers); + } + if (ctxt.has_perimeters || ctxt.has_infill) + for (const Layer *layer : print_object.layers()) + ctxt.layers.push_back(layer); + if (ctxt.has_support) + for (const Layer *layer : print_object.support_layers()) + ctxt.layers.push_back(layer); std::sort(ctxt.layers.begin(), ctxt.layers.end(), [](const Layer *l1, const Layer *l2) { return l1->print_z < l2->print_z; }); // Maximum size of an allocation block: 32MB / sizeof(float) - ctxt.has_perimeters = print_object.is_step_done(posPerimeters); - ctxt.has_infill = print_object.is_step_done(posInfill); - ctxt.has_support = print_object.is_step_done(posSupportMaterial); - ctxt.tool_colors = tool_colors.empty() ? nullptr : &tool_colors; - BOOST_LOG_TRIVIAL(debug) << "Loading print object toolpaths in parallel - start"; //FIXME Improve the heuristics for a grain size. From c258375fe298083e2d10f270db5039d6ca7e3e04 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 9 Jan 2019 15:40:12 +0100 Subject: [PATCH 051/189] Trying to redefine GUI_App::MacOpenFiles to get events from the Finder --- src/slic3r/GUI/GUI_App.cpp | 11 +++++++++++ src/slic3r/GUI/GUI_App.hpp | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index ce7ea8bac96..b2282a5ee3b 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -742,6 +742,17 @@ void GUI_App::load_current_presets() } } +#ifdef __APPLE__ +// wxWidgets override to get an event on open files. +void GUI_App::MacOpenFiles(const wxArrayString &fileNames) +{ + std::vector files; + for (size_t i = 0; i < fileNames.Len(); ++ i) + files.emplace_back(fileNames[i].ToUTF8().data()); + this->plater()->load_files(files, true, true); +} +#endif /* __APPLE */ + Sidebar& GUI_App::sidebar() { return plater_->sidebar(); diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index e388910d727..4944bbd2de1 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -144,6 +144,11 @@ class GUI_App : public wxApp void delete_tab_from_list(Tab* tab); void load_current_presets(); +#ifdef __APPLE__ + // wxWidgets override to get an event on open files. + void MacOpenFiles(const wxArrayString &fileNames) override; +#endif /* __APPLE */ + Sidebar& sidebar(); ObjectManipulation* obj_manipul(); ObjectSettings* obj_settings(); From 0222492e29226fab81b79f35e35208f55c8a9d52 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 9 Jan 2019 16:05:36 +0100 Subject: [PATCH 052/189] Fixed a typo from the last commit, fixed one compilation warning. --- src/slic3r/GUI/GUI_App.cpp | 2 +- src/slic3r/GUI/wxExtensions.hpp | 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 b2282a5ee3b..c1ef3e10db5 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -747,7 +747,7 @@ void GUI_App::load_current_presets() void GUI_App::MacOpenFiles(const wxArrayString &fileNames) { std::vector files; - for (size_t i = 0; i < fileNames.Len(); ++ i) + for (size_t i = 0; i < fileNames.GetCount(); ++ i) files.emplace_back(fileNames[i].ToUTF8().data()); this->plater()->load_files(files, true, true); } diff --git a/src/slic3r/GUI/wxExtensions.hpp b/src/slic3r/GUI/wxExtensions.hpp index b6f7a4220cc..18e7155be04 100644 --- a/src/slic3r/GUI/wxExtensions.hpp +++ b/src/slic3r/GUI/wxExtensions.hpp @@ -329,7 +329,7 @@ class PrusaObjectDataViewModelNode { if (GetChildCount() == 0) return; - for (size_t id = GetChildCount() - 1; id >= 0; --id) + for (int id = int(GetChildCount()) - 1; id >= 0; --id) { if (m_children.Item(id)->GetChildCount() > 0) m_children[id]->RemoveAllChildren(); From d681eef10e9e3b83b1f9cbc65bab705ceb15e77a Mon Sep 17 00:00:00 2001 From: hexane360 Date: Mon, 7 Jan 2019 17:30:47 -0700 Subject: [PATCH 053/189] Added version check for Eigen (>=3.0) --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6cc3b3a266b..34edb3822e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -248,7 +248,7 @@ endif() # Find eigen3 or use bundled version if (NOT SLIC3R_STATIC) - find_package(Eigen3) + find_package(Eigen3 3) endif () if (NOT Eigen3_FOUND) set(Eigen3_FOUND 1) From cde0aa4443b43b21956b12e932c5d70e3924a4db Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 7 Jan 2019 19:17:10 +0100 Subject: [PATCH 054/189] Fix: wxWidgets 3.0 back-compat Fix #1599 --- CMakeLists.txt | 1 + deps/CMakeLists.txt | 1 + deps/deps-linux.cmake | 14 +++++++++++--- doc/How to build - Windows.md | 2 +- src/CMakeLists.txt | 14 +++++++++++++- src/slic3r/GUI/GLTexture.cpp | 2 +- src/slic3r/GUI/GUI.cpp | 6 +++--- src/slic3r/GUI/GUI_App.cpp | 8 ++++---- src/slic3r/GUI/wxExtensions.cpp | 7 +++++-- 9 files changed, 40 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 04e023c0906..76c937cae16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ endif() option(SLIC3R_STATIC "Compile Slic3r with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL}) option(SLIC3R_GUI "Compile Slic3r with GUI components (OpenGL, wxWidgets)" 1) option(SLIC3R_FHS "Assume Slic3r is to be installed in a FHS directory structure" 0) +option(SLIC3R_WX_STABLE "Build against wxWidgets stable (3.0) as oppsed to dev (3.1) on Linux" 0) option(SLIC3R_PROFILE "Compile Slic3r with an invasive Shiny profiler" 0) option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 1) option(SLIC3R_MSVC_PDB "Generate PDB files on MSVC in Release mode" 1) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 1b23c586486..386320d815f 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -33,6 +33,7 @@ endif () set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory") option(DEP_DEBUG "Build debug variants (only applicable on Windows)" ON) +option(DEP_WX_STABLE "Build against wxWidgets stable 3.0 as opposed to default 3.1 (Linux only)" OFF) message(STATUS "Slic3r deps DESTDIR: ${DESTDIR}") message(STATUS "Slic3r deps debug build: ${DEP_DEBUG}") diff --git a/deps/deps-linux.cmake b/deps/deps-linux.cmake index 3f504b4003a..bf39f59e756 100644 --- a/deps/deps-linux.cmake +++ b/deps/deps-linux.cmake @@ -88,16 +88,24 @@ ExternalProject_Add(dep_libcurl INSTALL_COMMAND make install "DESTDIR=${DESTDIR}" ) +if (DEP_WX_STABLE) + set(DEP_WX_URL "https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.4/wxWidgets-3.0.4.tar.bz2") + set(DEP_WX_HASH "SHA256=96157f988d261b7368e5340afa1a0cad943768f35929c22841f62c25b17bf7f0") +else () + set(DEP_WX_URL "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.1/wxWidgets-3.1.1.tar.bz2") + set(DEP_WX_HASH "SHA256=c925dfe17e8f8b09eb7ea9bfdcfcc13696a3e14e92750effd839f5e10726159e") +endif() + ExternalProject_Add(dep_wxwidgets EXCLUDE_FROM_ALL 1 - URL "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.1/wxWidgets-3.1.1.tar.bz2" - URL_HASH SHA256=c925dfe17e8f8b09eb7ea9bfdcfcc13696a3e14e92750effd839f5e10726159e + URL "${DEP_WX_URL}" + URL_HASH "${DEP_WX_HASH}" BUILD_IN_SOURCE 1 PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/wxwidgets-pngprefix.h" src/png/pngprefix.h CONFIGURE_COMMAND ./configure "--prefix=${DESTDIR}/usr/local" --disable-shared - --with-gtk=2 + --with-gtk=2 --with-opengl --enable-unicode --enable-graphics_ctx diff --git a/doc/How to build - Windows.md b/doc/How to build - Windows.md index 898c830d096..90fcfde7db0 100644 --- a/doc/How to build - Windows.md +++ b/doc/How to build - Windows.md @@ -7,7 +7,7 @@ CMake installer can be downloaded from [the official website](https://cmake.org/ Building with newer versions of MSVS (2015, 2017) may work too as reported by some of our users. -_Note:_ Thanks to **@supermerill** for testing and inspiration on this guide. +_Note:_ Thanks to [**@supermerill**](https://github.com/supermerill) for testing and inspiration on this guide. ### Dependencies diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fa043cf9eed..fd5a735d757 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -59,7 +59,19 @@ if (SLIC3R_GUI) endif() endif() - find_package(wxWidgets REQUIRED COMPONENTS base core adv html gl) + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + if (SLIC3R_WX_STABLE) + find_package(wxWidgets 3.0 REQUIRED COMPONENTS base core adv html gl) + else () + find_package(wxWidgets 3.1 QUIET COMPONENTS base core adv html gl) + if (NOT wxWidgets_FOUND) + message(FATAL_ERROR "\nCould not find wxWidgets 3.1.\nHint: On Linux you can set -DSLIC3R_WX_STABLE=1 to use wxWidgets 3.0") + endif () + endif () + else () + find_package(wxWidgets 3.1 REQUIRED COMPONENTS base core adv html gl) + endif () + include(${wxWidgets_USE_FILE}) endif() diff --git a/src/slic3r/GUI/GLTexture.cpp b/src/slic3r/GUI/GLTexture.cpp index 0ac7e983e38..292ef472a07 100644 --- a/src/slic3r/GUI/GLTexture.cpp +++ b/src/slic3r/GUI/GLTexture.cpp @@ -36,7 +36,7 @@ bool GLTexture::load_from_file(const std::string& filename, bool generate_mipmap // Load a PNG with an alpha channel. wxImage image; - if (!image.LoadFile(wxString::FromUTF8(filename), wxBITMAP_TYPE_PNG)) + if (!image.LoadFile(wxString::FromUTF8(filename.c_str()), wxBITMAP_TYPE_PNG)) { reset(); return false; diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index 6cdb2ab7ea3..bb5ab29e0d4 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -234,7 +234,7 @@ void show_error(wxWindow* parent, const wxString& message) void show_error_id(int id, const std::string& message) { auto *parent = id != 0 ? wxWindow::FindWindowById(id) : nullptr; - show_error(parent, wxString::FromUTF8(message.data())); + show_error(parent, from_u8(message)); } void show_info(wxWindow* parent, const wxString& message, const wxString& title) @@ -324,7 +324,7 @@ wxString from_path(const boost::filesystem::path &path) #ifdef _WIN32 return wxString(path.string()); #else - return wxString::FromUTF8(path.string()); + return from_u8(path.string()); #endif } @@ -405,7 +405,7 @@ void desktop_open_datadir_folder() const auto path = data_dir(); #ifdef _WIN32 - const auto widepath = wxString::FromUTF8(path.data()); + const wxString widepath = from_u8(path); const wchar_t *argv[] = { L"explorer", widepath.GetData(), nullptr }; ::wxExecute(const_cast(argv), wxEXEC_ASYNC, nullptr); #elif __APPLE__ diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index c1ef3e10db5..1eaa6ccc2ae 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -67,7 +67,7 @@ wxString file_wildcards(FileType file_type, const std::string &custom_extension) out += std::string(";*") + custom_extension; } } - return wxString::FromUTF8(out.c_str()); + return from_u8(out); } static std::string libslic3r_translate_callback(const char *s) { return wxGetTranslation(wxString(s, wxConvUTF8)).utf8_str().data(); } @@ -464,7 +464,7 @@ bool GUI_App::select_language( wxArrayString & names, { m_wxLocale = new wxLocale; m_wxLocale->Init(identifiers[index]); - m_wxLocale->AddCatalogLookupPathPrefix(wxString::FromUTF8(localization_dir())); + m_wxLocale->AddCatalogLookupPathPrefix(from_u8(localization_dir())); m_wxLocale->AddCatalog(/*GetAppName()*/"Slic3rPE"); //FIXME This is a temporary workaround, the correct solution is to switch to "C" locale during file import / export only. wxSetlocale(LC_NUMERIC, "C"); @@ -492,7 +492,7 @@ bool GUI_App::load_language() { m_wxLocale = new wxLocale; m_wxLocale->Init(identifiers[i]); - m_wxLocale->AddCatalogLookupPathPrefix(wxString::FromUTF8(localization_dir())); + m_wxLocale->AddCatalogLookupPathPrefix(from_u8(localization_dir())); m_wxLocale->AddCatalog(/*GetAppName()*/"Slic3rPE"); //FIXME This is a temporary workaround, the correct solution is to switch to "C" locale during file import / export only. wxSetlocale(LC_NUMERIC, "C"); @@ -520,7 +520,7 @@ void GUI_App::get_installed_languages(wxArrayString & names, wxArrayLong & ident names.Clear(); identifiers.Clear(); - wxDir dir(wxString::FromUTF8(localization_dir())); + wxDir dir(from_u8(localization_dir())); wxString filename; const wxLanguageInfo * langinfo; wxString name = wxLocale::GetLanguageName(wxLANGUAGE_DEFAULT); diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 61aee6a67b2..e7891731231 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -9,9 +9,12 @@ #include #include "BitmapCache.hpp" +#include "GUI.hpp" #include "GUI_App.hpp" #include "GUI_ObjectList.hpp" +using Slic3r::GUI::from_u8; + wxDEFINE_EVENT(wxCUSTOMEVT_TICKSCHANGED, wxEvent); wxDEFINE_EVENT(wxCUSTOMEVT_LAST_VOLUME_IS_DELETED, wxCommandEvent); @@ -37,7 +40,7 @@ wxMenuItem* append_menu_item(wxMenu* menu, int id, const wxString& string, const wxMenuItem* append_menu_item(wxMenu* menu, int id, const wxString& string, const wxString& description, std::function cb, const std::string& icon, wxEvtHandler* event_handler) { - const wxBitmap& bmp = !icon.empty() ? wxBitmap(wxString::FromUTF8(Slic3r::var(icon)), wxBITMAP_TYPE_PNG) : wxNullBitmap; + const wxBitmap& bmp = !icon.empty() ? wxBitmap(from_u8(Slic3r::var(icon)), wxBITMAP_TYPE_PNG) : wxNullBitmap; return append_menu_item(menu, id, string, description, cb, bmp, event_handler); } @@ -48,7 +51,7 @@ wxMenuItem* append_submenu(wxMenu* menu, wxMenu* sub_menu, int id, const wxStrin wxMenuItem* item = new wxMenuItem(menu, id, string, description); if (!icon.empty()) - item->SetBitmap(wxBitmap(wxString::FromUTF8(Slic3r::var(icon)), wxBITMAP_TYPE_PNG)); + item->SetBitmap(wxBitmap(from_u8(Slic3r::var(icon)), wxBITMAP_TYPE_PNG)); item->SetSubMenu(sub_menu); menu->Append(item); From a33b64c9a301b23f4a0d99996993de5106b0ec73 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 10 Jan 2019 08:37:54 +0100 Subject: [PATCH 055/189] Gizmo shortcuts disabled if selection is empty --- src/slic3r/GUI/GLCanvas3D.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 253fcb951ba..8875bc157d7 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2983,7 +2983,7 @@ bool GLCanvas3D::Gizmos::is_running() const bool GLCanvas3D::Gizmos::handle_shortcut(int key, const Selection& selection) { - if (!m_enabled) + if (!m_enabled || selection.is_empty()) return false; bool handled = false; From ef446f6930ce757aa86aa57262a6c772037c70ee Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 10 Jan 2019 10:35:30 +0100 Subject: [PATCH 056/189] Fixed orientation of visual hints for sidebar size fields --- src/slic3r/GUI/GLCanvas3D.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 8875bc157d7..20ecc70b961 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2041,7 +2041,7 @@ void GLCanvas3D::Selection::render_sidebar_hints(const std::string& sidebar_fiel if (is_single_full_instance()) { ::glTranslated(center(0), center(1), center(2)); - if (boost::starts_with(sidebar_field, "scale")) + if (boost::starts_with(sidebar_field, "scale") || boost::starts_with(sidebar_field, "size")) { Transform3d orient_matrix = (*m_volumes)[*m_list.begin()]->get_instance_transformation().get_matrix(true, false, true, true); ::glMultMatrixd(orient_matrix.data()); From c62a51ead1cba1c3c33f1fe39a586a43b3540dd8 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 10 Jan 2019 11:05:58 +0100 Subject: [PATCH 057/189] Implemented ModeSizer with ModeButtons for the mode view changing from the settings tabs and plater --- resources/icons/mode_expert_sq.png | Bin 0 -> 164 bytes resources/icons/mode_middle_sq.png | Bin 0 -> 158 bytes resources/icons/mode_off_sq.png | Bin 0 -> 159 bytes resources/icons/mode_simple_sq.png | Bin 0 -> 158 bytes src/libslic3r/Config.hpp | 2 +- src/slic3r/GUI/GUI_App.cpp | 36 ++++---- src/slic3r/GUI/GUI_App.hpp | 4 +- src/slic3r/GUI/GUI_ObjectList.cpp | 4 +- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 2 +- src/slic3r/GUI/Plater.cpp | 12 ++- src/slic3r/GUI/Plater.hpp | 5 +- src/slic3r/GUI/Tab.cpp | 10 ++- src/slic3r/GUI/Tab.hpp | 3 + src/slic3r/GUI/wxExtensions.cpp | 99 +++++++++++++++++++++- src/slic3r/GUI/wxExtensions.hpp | 52 +++++++++++- 15 files changed, 199 insertions(+), 30 deletions(-) create mode 100644 resources/icons/mode_expert_sq.png create mode 100644 resources/icons/mode_middle_sq.png create mode 100644 resources/icons/mode_off_sq.png create mode 100644 resources/icons/mode_simple_sq.png diff --git a/resources/icons/mode_expert_sq.png b/resources/icons/mode_expert_sq.png new file mode 100644 index 0000000000000000000000000000000000000000..742ffc08891d60c465c4cba7bf33cbf207579870 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^96&6jA5L~c#`DCC7XMsm# zF$0582?#UZOOvkv3bL1Y`ns||X5`{9kU8CJ7y}eC^mK6y(Kw%+AW?B($K2kx`_HY9 z=ZP`W;*p!0fTkU4d1!`vSboFyt=akR{ E05GC4r2qf` literal 0 HcmV?d00001 diff --git a/resources/icons/mode_middle_sq.png b/resources/icons/mode_middle_sq.png new file mode 100644 index 0000000000000000000000000000000000000000..6df2a52fe837117ff0646670696efffd5f6a81b9 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^96&6jA5L~c#`DCC7XMsm# zF$0582?#UZOOvkv3bL1Y`ns||X5`|qG~f2QI22@nr;B5V#`)v~iHZY1{!3i0XG^qZ wWAm$JYkMy)DREEEDe!>HiI#^86ATy_JUQ8}xt6zj0JSlAy85}Sb4q9e0I>ZleEjA5L~c#`DCC7XMsm# zF$0582?#UZOOvkv3bL1Y`ns||X5`{zF>$%TkOmae@pN$v(Kw%+AW?C^qWs#L|G(Va ycwTjN@tD8ApT48wolF;#nv)t2KWj5114C#H$Afu3yE1_K7(8A5T-G@yGywq6tSkTk literal 0 HcmV?d00001 diff --git a/resources/icons/mode_simple_sq.png b/resources/icons/mode_simple_sq.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8ab7bd46c8f701ca331e95a18b251054c0cf03 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^96&6jA5L~c#`DCC7XMsm# zF$0582?#UZOOvkv3bL1Y`ns||X5`|qGM=^hNk7N{PZ!4!jq}L~5)}t5p11s{PxMS< wGYd;=i{Jm>Xix1waaTrRMd7ygrh^O&r^`9I`v3VK2Wn&RboFyt=akR{00Jy79RL6T literal 0 HcmV?d00001 diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index e0544b1534e..c521f1cbb98 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -63,7 +63,7 @@ enum ConfigOptionType { }; enum ConfigOptionMode { - comSimple, + comSimple = 0, comAdvanced, comExpert }; diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index ce7ea8bac96..b2111c4b1a0 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -556,21 +556,23 @@ Tab* GUI_App::get_tab(Preset::Type type) return nullptr; } -ConfigMenuIDs GUI_App::get_view_mode() +ConfigOptionMode GUI_App::get_mode() { if (!app_config->has("view_mode")) - return ConfigMenuModeSimple; + return comSimple; const auto mode = app_config->get("view_mode"); - return mode == "expert" ? ConfigMenuModeExpert : - mode == "simple" ? ConfigMenuModeSimple : ConfigMenuModeAdvanced; + return mode == "expert" ? comExpert : + mode == "simple" ? comSimple : comAdvanced; } -ConfigOptionMode GUI_App::get_opt_mode() { - const ConfigMenuIDs mode = wxGetApp().get_view_mode(); - - return mode == ConfigMenuModeSimple ? comSimple : - mode == ConfigMenuModeExpert ? comExpert : comAdvanced; +void GUI_App::save_mode(const /*ConfigOptionMode*/int mode) +{ + const std::string mode_str = mode == comExpert ? "expert" : + mode == comSimple ? "simple" : "advanced"; + app_config->set("view_mode", mode_str); + app_config->save(); + update_mode(); } // Update view mode according to selected menu @@ -578,13 +580,15 @@ void GUI_App::update_mode() { wxWindowUpdateLocker noUpdates(&sidebar()); - ConfigMenuIDs mode = wxGetApp().get_view_mode(); + const ConfigOptionMode mode = wxGetApp().get_mode(); - obj_list()->get_sizer()->Show(mode == ConfigMenuModeExpert); + obj_list()->get_sizer()->Show(mode == comExpert); sidebar().set_mode_value(mode); -// sidebar().show_buttons(mode == ConfigMenuModeExpert); +// sidebar().show_buttons(mode == comExpert); obj_list()->update_selections(); + sidebar().update_mode_sizer(mode); + sidebar().Layout(); for (auto tab : tabs_list) @@ -612,7 +616,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu) mode_menu->AppendRadioItem(config_id_base + ConfigMenuModeSimple, _(L("Simple")), _(L("Simple View Mode"))); mode_menu->AppendRadioItem(config_id_base + ConfigMenuModeAdvanced, _(L("Advanced")), _(L("Advanced View Mode"))); mode_menu->AppendRadioItem(config_id_base + ConfigMenuModeExpert, _(L("Expert")), _(L("Expert View Mode"))); - mode_menu->Check(config_id_base + get_view_mode(), true); + mode_menu->Check(config_id_base + ConfigMenuModeSimple + get_mode(), true); local_menu->AppendSubMenu(mode_menu, _(L("Mode")), _(L("Slic3r View Mode"))); local_menu->AppendSeparator(); local_menu->Append(config_id_base + ConfigMenuLanguage, _(L("Change Application Language"))); @@ -682,11 +686,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu) }); mode_menu->Bind(wxEVT_MENU, [this, config_id_base](wxEvent& event) { int id_mode = event.GetId() - config_id_base; - std::string mode = id_mode == ConfigMenuModeExpert ? "expert" : - id_mode == ConfigMenuModeSimple ? "simple" : "advanced"; - app_config->set("view_mode", mode); - app_config->save(); - update_mode(); + save_mode(id_mode - ConfigMenuModeSimple); }); menu->Append(local_menu, _(L("&Configuration"))); } diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index e388910d727..6027be71efa 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -134,8 +134,8 @@ class GUI_App : public wxApp void get_installed_languages(wxArrayString & names, wxArrayLong & identifiers); Tab* get_tab(Preset::Type type); - ConfigMenuIDs get_view_mode(); - ConfigOptionMode get_opt_mode(); + ConfigOptionMode get_mode(); + void save_mode(const /*ConfigOptionMode*/int mode) ; void update_mode(); void add_config_menu(wxMenuBar *menu); diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index bc54b23210f..77906fe0da2 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -680,7 +680,7 @@ void ObjectList::append_menu_items_add_volume(wxMenu* menu) menu->Destroy(settings_id); } - if (wxGetApp().get_view_mode() == ConfigMenuModeSimple) + if (wxGetApp().get_mode() == comSimple) { append_menu_item(menu, wxID_ANY, _(L("Add part")), "", [this](wxCommandEvent&) { load_subobject(ModelVolume::MODEL_PART); }, *m_bmp_vector[ModelVolume::MODEL_PART]); @@ -719,7 +719,7 @@ wxMenuItem* ObjectList::append_menu_item_settings(wxMenu* menu) if (settings_id != wxNOT_FOUND) menu->Destroy(settings_id); - if (wxGetApp().get_view_mode() == ConfigMenuModeSimple) + if (wxGetApp().get_mode() == comSimple) return nullptr; auto menu_item = new wxMenuItem(menu, wxID_ANY, _(L("Add settings"))); diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index a03b0a21201..dbf429f964e 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -224,7 +224,7 @@ void ObjectManipulation::Show(const bool show) m_og->Show(show); - if (show && wxGetApp().get_view_mode() != ConfigMenuModeSimple) { + if (show && wxGetApp().get_mode() != comSimple) { m_og->get_grid_sizer()->Show(size_t(0), false); m_og->get_grid_sizer()->Show(size_t(1), false); } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 9fb87a197a7..56917c42fd0 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -434,6 +434,7 @@ struct Sidebar::priv wxScrolledWindow *scrolled; + PrusaModeSizer *mode_sizer; wxFlexGridSizer *sizer_presets; PresetComboBox *combo_print; std::vector combos_filament; @@ -492,6 +493,9 @@ Sidebar::Sidebar(Plater *parent) auto *scrolled_sizer = new wxBoxSizer(wxVERTICAL); p->scrolled->SetSizer(scrolled_sizer); + // Sizer with buttons for mode changing + p->mode_sizer = new PrusaModeSizer(p->scrolled); + // The preset chooser p->sizer_presets = new wxFlexGridSizer(5, 2, 1, 2); p->sizer_presets->AddGrowableCol(1, 1); @@ -558,6 +562,7 @@ Sidebar::Sidebar(Plater *parent) p->sliced_info = new SlicedInfo(p->scrolled); // Sizer in the scrolled area + scrolled_sizer->Add(p->mode_sizer, 0, wxALIGN_CENTER_HORIZONTAL | wxBOTTOM, 5); scrolled_sizer->Add(p->sizer_presets, 0, wxEXPAND | wxLEFT, 2); scrolled_sizer->Add(p->sizer_params, 1, wxEXPAND); scrolled_sizer->Add(p->object_info, 0, wxEXPAND | wxTOP | wxLEFT, 20); @@ -673,6 +678,11 @@ void Sidebar::update_presets(Preset::Type preset_type) wxGetApp().preset_bundle->export_selections(*wxGetApp().app_config); } +void Sidebar::update_mode_sizer(const Slic3r::ConfigOptionMode& mode) +{ + p->mode_sizer->SetMode(mode); +} + ObjectManipulation* Sidebar::obj_manipul() { return p->object_manipulation; @@ -711,7 +721,7 @@ void Sidebar::update_objects_list_extruder_column(int extruders_count) void Sidebar::show_info_sizer() { if (!p->plater->is_single_full_object_selection() || - m_mode < ConfigMenuModeExpert || + m_mode < comExpert || p->plater->model().objects.empty()) { p->object_info->Show(false); return; diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index 11a4f0453a4..373d7dc28e6 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -57,7 +57,7 @@ class PresetComboBox : public wxBitmapComboBox class Sidebar : public wxPanel { - /*ConfigMenuIDs*/int m_mode; + /*ConfigOptionMode*/int m_mode; public: Sidebar(Plater *parent); Sidebar(Sidebar &&) = delete; @@ -69,6 +69,7 @@ class Sidebar : public wxPanel void init_filament_combo(PresetComboBox **combo, const int extr_idx); void remove_unused_filament_combos(const int current_extruder_count); void update_presets(Slic3r::Preset::Type preset_type); + void update_mode_sizer(const Slic3r::ConfigOptionMode& mode); ObjectManipulation* obj_manipul(); ObjectList* obj_list(); @@ -84,7 +85,7 @@ class Sidebar : public wxPanel void show_reslice(bool show); void show_send(bool show); bool is_multifilament(); - void set_mode_value(const /*ConfigMenuIDs*/int mode) { m_mode = mode; } + void set_mode_value(const /*ConfigOptionMode*/int mode) { m_mode = mode; } std::vector& combos_filament(); private: diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 4601d05d382..dc3f5fbca6f 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -168,6 +168,9 @@ void Tab::create_preset_tab() m_modified_label_clr = wxGetApp().get_label_clr_modified(); m_default_text_clr = wxGetApp().get_label_clr_default(); + // Sizer with buttons for mode changing + m_mode_sizer = new PrusaModeSizer(panel); + m_hsizer = new wxBoxSizer(wxHORIZONTAL); sizer->Add(m_hsizer, 0, wxBOTTOM, 3); m_hsizer->Add(m_presets_choice, 1, wxLEFT | wxRIGHT | wxTOP | wxALIGN_CENTER_VERTICAL, 3); @@ -182,6 +185,8 @@ void Tab::create_preset_tab() m_hsizer->Add(m_undo_btn, 0, wxALIGN_CENTER_VERTICAL); m_hsizer->AddSpacer(32); m_hsizer->Add(m_question_btn, 0, wxALIGN_CENTER_VERTICAL); + m_hsizer->AddStretchSpacer(32); + m_hsizer->Add(m_mode_sizer, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5); //Horizontal sizer to hold the tree and the selected page. m_hsizer = new wxBoxSizer(wxHORIZONTAL); @@ -669,7 +674,7 @@ void Tab::reload_config() void Tab::update_visibility() { - const ConfigOptionMode mode = wxGetApp().get_opt_mode(); + const ConfigOptionMode mode = wxGetApp().get_mode(); Freeze(); for (auto page : m_pages) @@ -685,6 +690,9 @@ void Tab::update_visibility() wxTheApp->CallAfter([this]() { update_changed_tree_ui(); }); + + // update mode for ModeSizer + m_mode_sizer->SetMode(mode); } Field* Tab::get_field(const t_config_option_key& opt_key, int opt_index/* = -1*/) const diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index b3288a80d77..b1ec505abd9 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -31,6 +31,7 @@ #include "BedShapeDialog.hpp" #include "Event.hpp" +class PrusaModeSizer; namespace Slic3r { namespace GUI { @@ -123,6 +124,8 @@ class Tab: public wxPanel wxTreeCtrl* m_treectrl; wxImageList* m_icons; + PrusaModeSizer* m_mode_sizer; + struct PresetDependencies { Preset::Type type = Preset::TYPE_INVALID; wxCheckBox *checkbox = nullptr; diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 61aee6a67b2..3219a1e3252 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -2195,7 +2195,6 @@ PrusaLockButton::PrusaLockButton( wxWindow *parent, m_bmp_lock_off = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("one_layer_lock_off.png")), wxBITMAP_TYPE_PNG); m_bmp_unlock_on = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("one_layer_unlock_on.png")), wxBITMAP_TYPE_PNG); m_bmp_unlock_off = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("one_layer_unlock_off.png")), wxBITMAP_TYPE_PNG); - m_lock_icon_dim = m_bmp_lock_on.GetSize().x; #ifdef __WXMSW__ SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); @@ -2234,6 +2233,104 @@ void PrusaLockButton::enter_button(const bool enter) Update(); } + + +// ---------------------------------------------------------------------------- +// PrusaModeButton +// ---------------------------------------------------------------------------- + +PrusaModeButton::PrusaModeButton( wxWindow *parent, + wxWindowID id, + const wxString& mode/* = wxEmptyString*/, + const wxBitmap& bmp_on/* = wxNullBitmap*/, + const wxPoint& pos/* = wxDefaultPosition*/, + const wxSize& size/* = wxDefaultSize*/) : + wxButton(parent, id, mode, pos, size, wxBU_EXACTFIT | wxNO_BORDER), + m_bmp_on(bmp_on) +{ +#ifdef __WXMSW__ + SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); +#endif // __WXMSW__ + m_bmp_off = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("mode_off_sq.png")), wxBITMAP_TYPE_PNG); + + SetBitmap(m_bmp_on); + + //button events + Bind(wxEVT_BUTTON, &PrusaModeButton::OnButton, this); + Bind(wxEVT_ENTER_WINDOW, &PrusaModeButton::OnEnterBtn, this); + Bind(wxEVT_LEAVE_WINDOW, &PrusaModeButton::OnLeaveBtn, this); +} + +void PrusaModeButton::OnButton(wxCommandEvent& event) +{ + m_is_selected = true; + focus_button(m_is_selected); + + event.Skip(); +} + +void PrusaModeButton::SetState(const bool state) +{ + m_is_selected = state; + focus_button(m_is_selected); +} + +void PrusaModeButton::focus_button(const bool focus) +{ + const wxBitmap& bmp = focus ? m_bmp_on : m_bmp_off; + SetBitmap(bmp); + const wxFont& new_font = focus ? Slic3r::GUI::wxGetApp().bold_font() : Slic3r::GUI::wxGetApp().small_font(); + SetFont(new_font); + + Refresh(); + Update(); +} + + +// ---------------------------------------------------------------------------- +// PrusaModeSizer +// ---------------------------------------------------------------------------- + +PrusaModeSizer::PrusaModeSizer(wxWindow *parent) : + wxFlexGridSizer(3, 0, 5) +{ + SetFlexibleDirection(wxHORIZONTAL); + + const wxBitmap bmp_simple_on = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("mode_simple_sq.png")), wxBITMAP_TYPE_PNG); + const wxBitmap bmp_advanced_on = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("mode_middle_sq.png")), wxBITMAP_TYPE_PNG); + const wxBitmap bmp_expert_on = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("mode_expert_sq.png")), wxBITMAP_TYPE_PNG); + + mode_btns.reserve(3); + + mode_btns.push_back(new PrusaModeButton(parent, wxID_ANY, "Simple", bmp_simple_on)); + mode_btns.push_back(new PrusaModeButton(parent, wxID_ANY, "Advanced", bmp_advanced_on)); + mode_btns.push_back(new PrusaModeButton(parent, wxID_ANY, "Expert", bmp_expert_on)); + + for (auto btn : mode_btns) + { + btn->Bind(wxEVT_BUTTON, [btn, this](wxCommandEvent &event) { + event.Skip(); + int mode_id = 0; + for (auto cur_btn : mode_btns) { + if (cur_btn == btn) + break; + else + mode_id++; + } + Slic3r::GUI::wxGetApp().save_mode(mode_id); + }); + + Add(btn); + } + +} + +void PrusaModeSizer::SetMode(const Slic3r::ConfigOptionMode& mode) +{ + for (int m = 0; m < mode_btns.size(); m++) + mode_btns[m]->SetState(m == mode); +} + // ************************************** EXPERIMENTS *************************************** // ***************************************************************************** diff --git a/src/slic3r/GUI/wxExtensions.hpp b/src/slic3r/GUI/wxExtensions.hpp index b6f7a4220cc..1fad86e10b3 100644 --- a/src/slic3r/GUI/wxExtensions.hpp +++ b/src/slic3r/GUI/wxExtensions.hpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -863,8 +864,57 @@ class PrusaLockButton : public wxButton wxBitmap m_bmp_lock_off; wxBitmap m_bmp_unlock_on; wxBitmap m_bmp_unlock_off; +}; - int m_lock_icon_dim; + +// ---------------------------------------------------------------------------- +// PrusaModeButton +// ---------------------------------------------------------------------------- + +class PrusaModeButton : public wxButton +{ +public: + PrusaModeButton( + wxWindow *parent, + wxWindowID id, + const wxString& mode = wxEmptyString, + const wxBitmap& bmp_on = wxNullBitmap, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize); + ~PrusaModeButton() {} + + void OnButton(wxCommandEvent& event); + void OnEnterBtn(wxMouseEvent& event) { focus_button(true); event.Skip(); } + void OnLeaveBtn(wxMouseEvent& event) { focus_button(m_is_selected); event.Skip(); } + + void SetState(const bool state); + +protected: + void focus_button(const bool focus); + +private: + bool m_is_selected = false; + + wxBitmap m_bmp_on; + wxBitmap m_bmp_off; +}; + + + +// ---------------------------------------------------------------------------- +// PrusaModeSizer +// ---------------------------------------------------------------------------- + +class PrusaModeSizer : public wxFlexGridSizer +{ +public: + PrusaModeSizer( wxWindow *parent); + ~PrusaModeSizer() {} + + void SetMode(const Slic3r::ConfigOptionMode& mode); + +private: + std::vector mode_btns; }; From 5f9d36e5b061ae4d4a125b5067a5ed6a232f71dd Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 10 Jan 2019 13:13:11 +0100 Subject: [PATCH 058/189] Rotate gizmo oriented in the current instance reference system for single volume rotations --- src/slic3r/GUI/GLCanvas3D.cpp | 6 +++--- src/slic3r/GUI/GLCanvas3D.hpp | 2 +- src/slic3r/GUI/GLGizmo.cpp | 33 +++++++++++++++++++++------------ src/slic3r/GUI/GLGizmo.hpp | 24 ++++++++++++------------ 4 files changed, 37 insertions(+), 28 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 20ecc70b961..3a4cc017552 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2957,14 +2957,14 @@ bool GLCanvas3D::Gizmos::grabber_contains_mouse() const return (curr != nullptr) ? (curr->get_hover_id() != -1) : false; } -void GLCanvas3D::Gizmos::update(const Linef3& mouse_ray, bool shift_down, const Point* mouse_pos) +void GLCanvas3D::Gizmos::update(const Linef3& mouse_ray, const Selection& selection, bool shift_down, const Point* mouse_pos) { if (!m_enabled) return; GLGizmoBase* curr = _get_current(); if (curr != nullptr) - curr->update(GLGizmoBase::UpdateData(mouse_ray, mouse_pos, shift_down)); + curr->update(GLGizmoBase::UpdateData(mouse_ray, mouse_pos, shift_down), selection); } GLCanvas3D::Gizmos::EType GLCanvas3D::Gizmos::get_current_type() const @@ -5168,7 +5168,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) m_canvas->CaptureMouse(); m_mouse.dragging = true; - m_gizmos.update(mouse_ray(pos), evt.ShiftDown(), &pos); + m_gizmos.update(mouse_ray(pos), m_selection, evt.ShiftDown(), &pos); switch (m_gizmos.get_current_type()) { diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 63a4edbefe8..f00c2b64985 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -675,7 +675,7 @@ class GLCanvas3D bool overlay_contains_mouse(const GLCanvas3D& canvas, const Vec2d& mouse_pos) const; bool grabber_contains_mouse() const; - void update(const Linef3& mouse_ray, bool shift_down, const Point* mouse_pos = nullptr); + void update(const Linef3& mouse_ray, const Selection& selection, bool shift_down, const Point* mouse_pos = nullptr); Rect get_reset_rect_viewport(const GLCanvas3D& canvas) const; EType get_current_type() const; diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index 7fff44e6fec..dda89d5f9cf 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -228,10 +228,10 @@ void GLGizmoBase::stop_dragging() on_stop_dragging(); } -void GLGizmoBase::update(const UpdateData& data) +void GLGizmoBase::update(const UpdateData& data, const GLCanvas3D::Selection& selection) { if (m_hover_id != -1) - on_update(data); + on_update(data, selection); } float GLGizmoBase::picking_color_component(unsigned int id) const @@ -368,9 +368,9 @@ void GLGizmoRotate::on_start_dragging(const GLCanvas3D::Selection& selection) m_snap_fine_out_radius = m_snap_fine_in_radius + m_radius * ScaleLongTooth; } -void GLGizmoRotate::on_update(const UpdateData& data) +void GLGizmoRotate::on_update(const UpdateData& data, const GLCanvas3D::Selection& selection) { - Vec2d mouse_pos = to_2d(mouse_position_in_local_plane(data.mouse_ray)); + Vec2d mouse_pos = to_2d(mouse_position_in_local_plane(data.mouse_ray, selection)); Vec2d orig_dir = Vec2d::UnitX(); Vec2d new_dir = mouse_pos.normalized(); @@ -442,7 +442,7 @@ void GLGizmoRotate::on_render(const GLCanvas3D::Selection& selection) const ::glEnable(GL_DEPTH_TEST); ::glPushMatrix(); - transform_to_local(); + transform_to_local(selection); ::glLineWidth((m_hover_id != -1) ? 2.0f : 1.5f); ::glColor3fv((m_hover_id != -1) ? m_drag_color : m_highlight_color); @@ -473,7 +473,7 @@ void GLGizmoRotate::on_render_for_picking(const GLCanvas3D::Selection& selection ::glPushMatrix(); - transform_to_local(); + transform_to_local(selection); const BoundingBoxf3& box = selection.get_bounding_box(); render_grabbers_for_picking(box); @@ -635,10 +635,16 @@ void GLGizmoRotate::render_grabber_extension(const BoundingBoxf3& box, bool pick ::glDisable(GL_LIGHTING); } -void GLGizmoRotate::transform_to_local() const +void GLGizmoRotate::transform_to_local(const GLCanvas3D::Selection& selection) const { ::glTranslated(m_center(0), m_center(1), m_center(2)); + if (selection.is_single_volume() || selection.is_single_modifier()) + { + Transform3d orient_matrix = selection.get_volume(*selection.get_volume_idxs().begin())->get_instance_transformation().get_matrix(true, false, true, true); + ::glMultMatrixd(orient_matrix.data()); + } + switch (m_axis) { case X: @@ -662,7 +668,7 @@ void GLGizmoRotate::transform_to_local() const } } -Vec3d GLGizmoRotate::mouse_position_in_local_plane(const Linef3& mouse_ray) const +Vec3d GLGizmoRotate::mouse_position_in_local_plane(const Linef3& mouse_ray, const GLCanvas3D::Selection& selection) const { double half_pi = 0.5 * (double)PI; @@ -690,6 +696,9 @@ Vec3d GLGizmoRotate::mouse_position_in_local_plane(const Linef3& mouse_ray) cons } } + if (selection.is_single_volume() || selection.is_single_modifier()) + m = m * selection.get_volume(*selection.get_volume_idxs().begin())->get_instance_transformation().get_matrix(true, false, true, true).inverse(); + m.translate(-m_center); return transform(mouse_ray, m).intersect_plane(0.0); @@ -841,7 +850,7 @@ void GLGizmoScale3D::on_start_dragging(const GLCanvas3D::Selection& selection) } } -void GLGizmoScale3D::on_update(const UpdateData& data) +void GLGizmoScale3D::on_update(const UpdateData& data, const GLCanvas3D::Selection& selection) { if ((m_hover_id == 0) || (m_hover_id == 1)) do_scale_x(data); @@ -1209,7 +1218,7 @@ void GLGizmoMove3D::on_stop_dragging() m_displacement = Vec3d::Zero(); } -void GLGizmoMove3D::on_update(const UpdateData& data) +void GLGizmoMove3D::on_update(const UpdateData& data, const GLCanvas3D::Selection& selection) { if (m_hover_id == 0) m_displacement(0) = calc_projection(data); @@ -2137,7 +2146,7 @@ void GLGizmoSlaSupports::delete_current_grabber(bool delete_all) m_parent.post_event(SimpleEvent(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS)); } -void GLGizmoSlaSupports::on_update(const UpdateData& data) +void GLGizmoSlaSupports::on_update(const UpdateData& data, const GLCanvas3D::Selection& selection) { if (m_hover_id != -1 && data.mouse_pos) { Vec3f new_pos; @@ -2379,7 +2388,7 @@ void GLGizmoCut::on_start_dragging(const GLCanvas3D::Selection& selection) m_drag_center(2) = m_cut_z; } -void GLGizmoCut::on_update(const UpdateData& data) +void GLGizmoCut::on_update(const UpdateData& data, const GLCanvas3D::Selection& selection) { if (m_hover_id != -1) { set_cut_z(m_start_z + calc_projection(data.mouse_ray)); diff --git a/src/slic3r/GUI/GLGizmo.hpp b/src/slic3r/GUI/GLGizmo.hpp index d10efa966cf..ddd57b6455a 100644 --- a/src/slic3r/GUI/GLGizmo.hpp +++ b/src/slic3r/GUI/GLGizmo.hpp @@ -134,7 +134,7 @@ class GLGizmoBase void stop_dragging(); bool is_dragging() const { return m_dragging; } - void update(const UpdateData& data); + void update(const UpdateData& data, const GLCanvas3D::Selection& selection); void render(const GLCanvas3D::Selection& selection) const { on_render(selection); } void render_for_picking(const GLCanvas3D::Selection& selection) const { on_render_for_picking(selection); } @@ -158,7 +158,7 @@ class GLGizmoBase virtual void on_disable_grabber(unsigned int id) {} virtual void on_start_dragging(const GLCanvas3D::Selection& selection) {} virtual void on_stop_dragging() {} - virtual void on_update(const UpdateData& data) = 0; + virtual void on_update(const UpdateData& data, const GLCanvas3D::Selection& selection) = 0; virtual void on_render(const GLCanvas3D::Selection& selection) const = 0; virtual void on_render_for_picking(const GLCanvas3D::Selection& selection) const = 0; @@ -221,7 +221,7 @@ class GLGizmoRotate : public GLGizmoBase virtual bool on_init(); virtual std::string on_get_name() const { return ""; } virtual void on_start_dragging(const GLCanvas3D::Selection& selection); - virtual void on_update(const UpdateData& data); + virtual void on_update(const UpdateData& data, const GLCanvas3D::Selection& selection); virtual void on_render(const GLCanvas3D::Selection& selection) const; virtual void on_render_for_picking(const GLCanvas3D::Selection& selection) const; @@ -234,9 +234,9 @@ class GLGizmoRotate : public GLGizmoBase void render_grabber(const BoundingBoxf3& box) const; void render_grabber_extension(const BoundingBoxf3& box, bool picking) const; - void transform_to_local() const; + void transform_to_local(const GLCanvas3D::Selection& selection) const; // returns the intersection of the mouse ray with the plane perpendicular to the gizmo axis, in local coordinate - Vec3d mouse_position_in_local_plane(const Linef3& mouse_ray) const; + Vec3d mouse_position_in_local_plane(const Linef3& mouse_ray, const GLCanvas3D::Selection& selection) const; }; class GLGizmoRotate3D : public GLGizmoBase @@ -279,11 +279,11 @@ class GLGizmoRotate3D : public GLGizmoBase } virtual void on_start_dragging(const GLCanvas3D::Selection& selection); virtual void on_stop_dragging(); - virtual void on_update(const UpdateData& data) + virtual void on_update(const UpdateData& data, const GLCanvas3D::Selection& selection) { for (GLGizmoRotate& g : m_gizmos) { - g.update(data); + g.update(data, selection); } } virtual void on_render(const GLCanvas3D::Selection& selection) const; @@ -328,7 +328,7 @@ class GLGizmoScale3D : public GLGizmoBase virtual std::string on_get_name() const; virtual bool on_is_activable(const GLCanvas3D::Selection& selection) const { return !selection.is_wipe_tower(); } virtual void on_start_dragging(const GLCanvas3D::Selection& selection); - virtual void on_update(const UpdateData& data); + virtual void on_update(const UpdateData& data, const GLCanvas3D::Selection& selection); virtual void on_render(const GLCanvas3D::Selection& selection) const; virtual void on_render_for_picking(const GLCanvas3D::Selection& selection) const; @@ -375,7 +375,7 @@ class GLGizmoMove3D : public GLGizmoBase virtual std::string on_get_name() const; virtual void on_start_dragging(const GLCanvas3D::Selection& selection); virtual void on_stop_dragging(); - virtual void on_update(const UpdateData& data); + virtual void on_update(const UpdateData& data, const GLCanvas3D::Selection& selection); virtual void on_render(const GLCanvas3D::Selection& selection) const; virtual void on_render_for_picking(const GLCanvas3D::Selection& selection) const; @@ -425,7 +425,7 @@ class GLGizmoFlatten : public GLGizmoBase virtual std::string on_get_name() const; virtual bool on_is_activable(const GLCanvas3D::Selection& selection) const; virtual void on_start_dragging(const GLCanvas3D::Selection& selection); - virtual void on_update(const UpdateData& data) {} + virtual void on_update(const UpdateData& data, const GLCanvas3D::Selection& selection) {} virtual void on_render(const GLCanvas3D::Selection& selection) const; virtual void on_render_for_picking(const GLCanvas3D::Selection& selection) const; virtual void on_set_state() @@ -481,7 +481,7 @@ class GLGizmoSlaSupports : public GLGizmoBase private: bool on_init(); - void on_update(const UpdateData& data); + void on_update(const UpdateData& data, const GLCanvas3D::Selection& selection); virtual void on_render(const GLCanvas3D::Selection& selection) const; virtual void on_render_for_picking(const GLCanvas3D::Selection& selection) const; @@ -553,7 +553,7 @@ class GLGizmoCut : public GLGizmoBase virtual void on_set_state(); virtual bool on_is_activable(const GLCanvas3D::Selection& selection) const; virtual void on_start_dragging(const GLCanvas3D::Selection& selection); - virtual void on_update(const UpdateData& data); + virtual void on_update(const UpdateData& data, const GLCanvas3D::Selection& selection); virtual void on_render(const GLCanvas3D::Selection& selection) const; virtual void on_render_for_picking(const GLCanvas3D::Selection& selection) const; From fcf41c7eb8b7617cbbf8bcfe2ecf9c7bda7c579e Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 10 Jan 2019 13:41:59 +0100 Subject: [PATCH 059/189] Fixed OSX compilation bug --- src/slic3r/GUI/Plater.cpp | 2 +- src/slic3r/GUI/wxExtensions.cpp | 2 +- src/slic3r/GUI/wxExtensions.hpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 56917c42fd0..eebd5fefab9 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -562,7 +562,7 @@ Sidebar::Sidebar(Plater *parent) p->sliced_info = new SlicedInfo(p->scrolled); // Sizer in the scrolled area - scrolled_sizer->Add(p->mode_sizer, 0, wxALIGN_CENTER_HORIZONTAL | wxBOTTOM, 5); + scrolled_sizer->Add(p->mode_sizer, 0, wxALIGN_RIGHT/*CENTER_HORIZONTAL*/ | wxBOTTOM | wxRIGHT, 5); scrolled_sizer->Add(p->sizer_presets, 0, wxEXPAND | wxLEFT, 2); scrolled_sizer->Add(p->sizer_params, 1, wxEXPAND); scrolled_sizer->Add(p->object_info, 0, wxEXPAND | wxTOP | wxLEFT, 20); diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 6c0b4a5e55e..01c61899e6c 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -2328,7 +2328,7 @@ PrusaModeSizer::PrusaModeSizer(wxWindow *parent) : } -void PrusaModeSizer::SetMode(const Slic3r::ConfigOptionMode& mode) +void PrusaModeSizer::SetMode(const int mode) { for (int m = 0; m < mode_btns.size(); m++) mode_btns[m]->SetState(m == mode); diff --git a/src/slic3r/GUI/wxExtensions.hpp b/src/slic3r/GUI/wxExtensions.hpp index 8979239d5e5..d151a7afa36 100644 --- a/src/slic3r/GUI/wxExtensions.hpp +++ b/src/slic3r/GUI/wxExtensions.hpp @@ -911,7 +911,7 @@ class PrusaModeSizer : public wxFlexGridSizer PrusaModeSizer( wxWindow *parent); ~PrusaModeSizer() {} - void SetMode(const Slic3r::ConfigOptionMode& mode); + void SetMode(const /*ConfigOptionMode*/int mode); private: std::vector mode_btns; From e5062e866206d05230878b09d51a4b5eaaa7527c Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 10 Jan 2019 13:49:06 +0100 Subject: [PATCH 060/189] deps: Use wxWidgets 3.1.2 on Mac, use system SDK by default, various bugfixes --- deps/CMakeLists.txt | 21 ++++++++++++---- deps/deps-linux.cmake | 13 ++++++++++ deps/deps-macos.cmake | 43 ++++++++++++++++++++++++++------- deps/deps-unix-common.cmake | 13 ---------- deps/deps-windows.cmake | 4 +-- doc/How to build - Mac OS.md | 47 ++++++++++++++++++------------------ 6 files changed, 89 insertions(+), 52 deletions(-) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 386320d815f..1e025adac20 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -51,11 +51,22 @@ if (MSVC) message(FATAL_ERROR "Unable to detect architecture") endif () elseif (APPLE) - set(DEPS_OSX_TARGET "10.9" CACHE STRING "OS X SDK version to build against") - set(DEPS_OSX_SYSROOT - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${DEPS_OSX_TARGET}.sdk" - CACHE PATH "OS X SDK directory" - ) + message("OS X SDK Path: ${CMAKE_OSX_SYSROOT}") + if (CMAKE_OSX_DEPLOYMENT_TARGET) + set(DEP_OSX_TARGET "${CMAKE_OSX_DEPLOYMENT_TARGET}") + message("OS X Deployment Target: ${DEP_OSX_TARGET}") + else () + # Attempt to infer the SDK version from the CMAKE_OSX_SYSROOT, + # this is done because wxWidgets need the min version explicitly set + string(REGEX MATCH "[0-9]+[.][0-9]+[.]sdk$" DEP_OSX_TARGET "${CMAKE_OSX_SYSROOT}") + string(REGEX MATCH "^[0-9]+[.][0-9]+" DEP_OSX_TARGET "${DEP_OSX_TARGET}") + + if (NOT DEP_OSX_TARGET) + message(FATAL_ERROR "Could not determine OS X SDK version. Please use -DCMAKE_OSX_DEPLOYMENT_TARGET=") + endif () + + message("OS X Deployment Target (inferred from default): ${DEP_OSX_TARGET}") + endif () include("deps-macos.cmake") else () diff --git a/deps/deps-linux.cmake b/deps/deps-linux.cmake index bf39f59e756..125553f77e5 100644 --- a/deps/deps-linux.cmake +++ b/deps/deps-linux.cmake @@ -25,6 +25,19 @@ ExternalProject_Add(dep_boost INSTALL_COMMAND "" # b2 does that already ) +ExternalProject_Add(dep_libpng + EXCLUDE_FROM_ALL 1 + URL "https://github.com/glennrp/libpng/archive/v1.6.36.tar.gz" + URL_HASH SHA256=5bef5a850a9255365a2dc344671b7e9ef810de491bd479c2506ac3c337e2d84f + CMAKE_GENERATOR "${DEP_MSVC_GEN}" + CMAKE_ARGS + -DPNG_SHARED=OFF + -DPNG_TESTS=OFF + ${DEP_CMAKE_OPTS} + INSTALL_COMMAND make install "DESTDIR=${DESTDIR}" + INSTALL_COMMAND "" +) + ExternalProject_Add(dep_libopenssl EXCLUDE_FROM_ALL 1 URL "https://github.com/openssl/openssl/archive/OpenSSL_1_1_0g.tar.gz" diff --git a/deps/deps-macos.cmake b/deps/deps-macos.cmake index 720ec50d088..4676b14fc89 100644 --- a/deps/deps-macos.cmake +++ b/deps/deps-macos.cmake @@ -1,13 +1,24 @@ +# This ensures dependencies don't use SDK features which are not available in the version specified by Deployment target +# That can happen when one uses a recent SDK but specifies an older Deployment target +set(DEP_WERRORS_SDK "-Werror=partial-availability -Werror=unguarded-availability -Werror=unguarded-availability-new") + set(DEP_CMAKE_OPTS "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" - "-DCMAKE_OSX_SYSROOT=${DEPS_OSX_SYSROOT}" - "-DCMAKE_OSX_DEPLOYMENT_TARGET=${DEPS_OSX_TARGET}" + "-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}" + "-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}" + "-DCMAKE_CXX_FLAGS=${DEP_WERRORS_SDK}" + "-DCMAKE_C_FLAGS=${DEP_WERRORS_SDK}" ) include("deps-unix-common.cmake") +set(DEP_BOOST_OSX_TARGET "") +if (CMAKE_OSX_DEPLOYMENT_TARGET) + set(DEP_BOOST_OSX_TARGET "-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") +endif () + ExternalProject_Add(dep_boost EXCLUDE_FROM_ALL 1 URL "https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz" @@ -23,8 +34,8 @@ ExternalProject_Add(dep_boost variant=release threading=multi boost.locale.icu=off - "cflags=-fPIC -mmacosx-version-min=${DEPS_OSX_TARGET}" - "cxxflags=-fPIC -mmacosx-version-min=${DEPS_OSX_TARGET}" + "cflags=-fPIC ${DEP_BOOST_OSX_TARGET}" + "cxxflags=-fPIC ${DEP_BOOST_OSX_TARGET}" install INSTALL_COMMAND "" # b2 does that already ) @@ -76,18 +87,32 @@ ExternalProject_Add(dep_libcurl INSTALL_COMMAND make install "DESTDIR=${DESTDIR}" ) +ExternalProject_Add(dep_libpng + EXCLUDE_FROM_ALL 1 + URL "https://github.com/glennrp/libpng/archive/v1.6.36.tar.gz" + URL_HASH SHA256=5bef5a850a9255365a2dc344671b7e9ef810de491bd479c2506ac3c337e2d84f + CMAKE_GENERATOR "${DEP_MSVC_GEN}" + CMAKE_ARGS + -DPNG_SHARED=OFF + -DPNG_TESTS=OFF + ${DEP_CMAKE_OPTS} + INSTALL_COMMAND make install "DESTDIR=${DESTDIR}" + INSTALL_COMMAND "" +) + + ExternalProject_Add(dep_wxwidgets EXCLUDE_FROM_ALL 1 - URL "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.1/wxWidgets-3.1.1.tar.bz2" - URL_HASH SHA256=c925dfe17e8f8b09eb7ea9bfdcfcc13696a3e14e92750effd839f5e10726159e + URL "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.tar.bz2" + URL_HASH SHA256=4cb8d23d70f9261debf7d6cfeca667fc0a7d2b6565adb8f1c484f9b674f1f27a BUILD_IN_SOURCE 1 PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/wxwidgets-pngprefix.h" src/png/pngprefix.h - CONFIGURE_COMMAND ./configure + CONFIGURE_COMMAND env "CXXFLAGS=${DEP_WERRORS_SDK}" "CFLAGS=${DEP_WERRORS_SDK}" ./configure "--prefix=${DESTDIR}/usr/local" --disable-shared --with-osx_cocoa - "--with-macosx-version-min=${DEPS_OSX_TARGET}" - "--with-macosx-sdk=${DEPS_OSX_SYSROOT}" + --with-macosx-sdk=${CMAKE_OSX_SYSROOT} + "--with-macosx-version-min=${DEP_OSX_TARGET}" --with-opengl --with-regex=builtin --with-libpng=builtin diff --git a/deps/deps-unix-common.cmake b/deps/deps-unix-common.cmake index e4c718d211b..6c0a1b18227 100644 --- a/deps/deps-unix-common.cmake +++ b/deps/deps-unix-common.cmake @@ -35,16 +35,3 @@ ExternalProject_Add(dep_nlopt INSTALL_COMMAND make install "DESTDIR=${DESTDIR}" INSTALL_COMMAND "" ) - -ExternalProject_Add(dep_libpng - EXCLUDE_FROM_ALL 1 - URL "http://prdownloads.sourceforge.net/libpng/libpng-1.6.35.tar.xz?download" - URL_HASH SHA256=23912ec8c9584917ed9b09c5023465d71709dce089be503c7867fec68a93bcd7 - CMAKE_GENERATOR "${DEP_MSVC_GEN}" - CMAKE_ARGS - -DPNG_SHARED=OFF - -DPNG_TESTS=OFF - ${DEP_CMAKE_OPTS} - INSTALL_COMMAND make install "DESTDIR=${DESTDIR}" - INSTALL_COMMAND "" -) diff --git a/deps/deps-windows.cmake b/deps/deps-windows.cmake index 17dfae8bd1c..ec61cb422d5 100644 --- a/deps/deps-windows.cmake +++ b/deps/deps-windows.cmake @@ -155,8 +155,8 @@ endif () ExternalProject_Add(dep_libpng DEPENDS dep_zlib EXCLUDE_FROM_ALL 1 - URL "http://prdownloads.sourceforge.net/libpng/libpng-1.6.35.tar.xz?download" - URL_HASH SHA256=23912ec8c9584917ed9b09c5023465d71709dce089be503c7867fec68a93bcd7 + URL "https://github.com/glennrp/libpng/archive/v1.6.36.tar.gz" + URL_HASH SHA256=5bef5a850a9255365a2dc344671b7e9ef810de491bd479c2506ac3c337e2d84f CMAKE_GENERATOR "${DEP_MSVC_GEN}" CMAKE_ARGS -DPNG_SHARED=OFF diff --git a/doc/How to build - Mac OS.md b/doc/How to build - Mac OS.md index a2d7cf7fe03..a1c8d904915 100644 --- a/doc/How to build - Mac OS.md +++ b/doc/How to build - Mac OS.md @@ -1,26 +1,7 @@ # Building Slic3r PE on Mac OS -To build Slic3r PE on Mac OS, you will need to install XCode and an appropriate SDK. -You will also need [CMake](https://cmake.org/) installed (available on Brew) and possibly git. - -Currently Slic3r PE is built against the Mac OS X SDK version 10.9. -Building against older SDKs is unsupported. Building against newer SDKs might work, -but there may be subtle issues, such as dark mode not working very well on Mojave or other GUI problems. - -You can obtain the SDK 10.9 for example [in this repository](https://github.com/phracker/MacOSX-SDKs). -If you don't already have the 10.9 version as part of your Mac OS installation, please download it -and place it into a reachable location. - -The default location for Mac OS SDKs is: - - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ - -Wherever the 10.9 SDK is, please note down its location, it will be required to build Slic3r. - -On my system, for example, the path to the SDK is - - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk +To build Slic3r PE on Mac OS, you will need to install XCode, [CMake](https://cmake.org/) (available on Brew) and possibly git. ### Dependencies @@ -30,11 +11,16 @@ Use the following commands to build the dependencies: mkdir build cd build - cmake .. -DDEPS_OSX_SYSROOT= + cmake .. + make This will create a dependencies bundle inside the `build/destdir` directory. You can also customize the bundle output path using the `-DDESTDIR=` option passed to `cmake`. +**Warning**: Once the dependency bundle is installed in a destdir, the destdir cannot be moved elsewhere. +(This is because wxWidgets hardcode the installation path.) + + ### Building Slic3r If dependencies built without an error, you can proceed to build Slic3r itself. @@ -42,7 +28,7 @@ Go back to top level Slic3r sources directory and use these commands: mkdir build cd build - cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DCMAKE_OSX_SYSROOT= + cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" The `CMAKE_PREFIX_PATH` is the path to the dependencies bundle but with `/usr/local` appended - if you set a custom path using the `DESTDIR` option, you will need to change this accordingly. **Warning:** the `CMAKE_PREFIX_PATH` needs to be an absolute path. @@ -56,7 +42,22 @@ where `N` is the number of CPU cores, so, for example `make -j4` for a 4-core ma Alternatively, if you would like to use XCode GUI, modify the `cmake` command to include the `-GXcode` option: - cmake .. -GXcode -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DCMAKE_OSX_SYSROOT= + cmake .. -GXcode -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" and then open the `Slic3r.xcodeproj` file. This should open up XCode where you can perform build using the GUI or perform other tasks. + +### Note on Mac OS X SDKs + +By default Slic3r builds against whichever SDK is the default on the current system. + +This can be customized. The `CMAKE_OSX_SYSROOT` option sets the path to the SDK directory location +and the `CMAKE_OSX_DEPLOYMENT_TARGET` option sets the target OS X system version (eg. `10.14` or similar). +Note you can set just one value and the other will be guessed automatically. +In case you set both, the two settings need to agree with each other. (Building with a lower deployment target +is currently unsupported because some of the dependencies don't support this, most notably wxWidgets.) + +Please note that the `CMAKE_OSX_DEPLOYMENT_TARGET` and `CMAKE_OSX_SYSROOT` options need to be set the same +on both the dependencies bundle as well as Slic3r PE itself. + +Official Mac Slic3r builds are currently built against SDK 10.9 to ensure compatibility with older Macs. From ad245a0021c551a6ce467b8110c83327a57bb492 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 10 Jan 2019 14:43:07 +0100 Subject: [PATCH 061/189] Deactivate current gizmo if user delete all objects from the scene --- src/slic3r/GUI/GLCanvas3D.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 3a4cc017552..ad59ad8c559 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -4675,6 +4675,11 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re m_camera.set_scene_box(scene_bounding_box(), *this); m_camera.set_target(m_camera.get_target(), *this); + // if no object is selected, deactivate active gizmo, if any + // otherwise it will be shown after cleaning the scene (while it is active) + if (m_selection.is_empty()) + m_gizmos.reset_all_states(); + // and force this canvas to be redrawn. m_dirty = true; } From 7492badf773cd442ad4bf81c9a4c0ed874a90e27 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 10 Jan 2019 14:45:09 +0100 Subject: [PATCH 062/189] =?UTF-8?q?Partial=20fix=20of=20"Nefunguje=20menu?= =?UTF-8?q?=20po=20zm=C4=9Bn=C4=9B=20jazyka=20#1630"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/slic3r/GUI/MainFrame.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index a721d1e1894..6181010cf6e 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -200,7 +200,7 @@ bool MainFrame::can_export_gcode() const bool MainFrame::can_change_view() const { int page_id = m_tabpanel->GetSelection(); - return (page_id != wxNOT_FOUND) ? m_tabpanel->GetPageText((size_t)page_id).Lower() == "plater" : false; + return page_id != wxNOT_FOUND && dynamic_cast(m_tabpanel->GetPage((size_t)page_id)) != nullptr; } bool MainFrame::can_select() const From 50c2b6efe755fab673be2a4a021b2fe560cbbbbc Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 10 Jan 2019 15:21:05 +0100 Subject: [PATCH 063/189] Fix gui decision logic to be the same as in 1.41 --- src/slic3r.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r.cpp b/src/slic3r.cpp index 04076d567a1..0b7dada70fa 100644 --- a/src/slic3r.cpp +++ b/src/slic3r.cpp @@ -126,7 +126,7 @@ int main(int argc, char **argv) print_config.apply(c); } - if ((argc == 1 || cli_config.gui.value) && ! cli_config.no_gui.value && ! cli_config.help.value && cli_config.save.value.empty()) { + if ((input_files.empty() || cli_config.gui.value) && ! cli_config.no_gui.value && ! cli_config.help.value && cli_config.save.value.empty()) { #if 1 GUI::GUI_App *gui = new GUI::GUI_App(); GUI::GUI_App::SetInstance(gui); From 2b0e1633cf2b1ff8c7906c3c117d7dada001cbee Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 10 Jan 2019 16:06:24 +0100 Subject: [PATCH 064/189] Fix of "macos crash on WipeTower when using multi extruder + tower + support #1632" Added a new validation into Print::validation() to verify, that the non-soluble supports need to be printed with "current" extruder. This check was already there, though for the global parameters only. Now the check is performed inside the Print class for the object override parameters as well. Improved the Print::validate() handling. The Print::validate() is only called if the Print::apply() indicates a change, or if the slicing was executed by the user explicitely (with the "Slice now" button, with the "Send to octoprint" button, or by switching to the print path preview). --- src/libslic3r/Print.cpp | 28 +++++++++++++++++++--------- src/slic3r/GUI/Plater.cpp | 18 ++++++++++-------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 0ac5c977121..f87f1283e50 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1257,12 +1257,12 @@ std::string Print::validate() const if (! equal_layering(slicing_params, slicing_params0)) return L("The Wipe Tower is only supported for multiple objects if they are sliced equally."); - if ( m_config.variable_layer_height ) { // comparing layer height profiles + if (m_config.variable_layer_height) { // comparing layer height profiles bool failed = false; // layer_height_profile should be set by Print::apply(). - if (tallest_object->layer_height_profile.size() >= object->layer_height_profile.size() ) { + if (tallest_object->layer_height_profile.size() >= object->layer_height_profile.size()) { int i = 0; - while ( i < object->layer_height_profile.size() && i < tallest_object->layer_height_profile.size()) { + while (i < object->layer_height_profile.size() && i < tallest_object->layer_height_profile.size()) { if (std::abs(tallest_object->layer_height_profile[i] - object->layer_height_profile[i])) { failed = true; break; @@ -1303,15 +1303,25 @@ std::string Print::validate() const #endif for (PrintObject *object : m_objects) { - if ((object->config().support_material_extruder == -1 || object->config().support_material_interface_extruder == -1) && - (object->config().raft_layers > 0 || object->config().support_material.value)) { - // The object has some form of support and either support_material_extruder or support_material_interface_extruder - // will be printed with the current tool without a forced tool change. Play safe, assert that all object nozzles - // are of the same diameter. - if (nozzle_diameters.size() > 1) + if (object->config().raft_layers > 0 || object->config().support_material.value) { + if ((object->config().support_material_extruder == 0 || object->config().support_material_interface_extruder == 0) && nozzle_diameters.size() > 1) { + // The object has some form of support and either support_material_extruder or support_material_interface_extruder + // will be printed with the current tool without a forced tool change. Play safe, assert that all object nozzles + // are of the same diameter. return L("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."); + } + if (object->config().support_material_contact_distance == 0) { + // Soluble interface + if (object->config().support_material_contact_distance == 0 && ! object->config().support_material_synchronize_layers) + return L("For the Wipe Tower to work with the soluble supports, the support layers need to be synchronized with the object layers."); + } else { + // Non-soluble interface + if (object->config().support_material_extruder != 0 || object->config().support_material_interface_extruder != 0) + return L("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)."); + } } // validate first_layer_height diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index eebd5fefab9..7015084cd2e 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -983,7 +983,7 @@ struct Plater::priv UPDATE_BACKGROUND_PROCESS_FORCE_EXPORT = 16, }; // returns bit mask of UpdateBackgroundProcessReturnState - unsigned int update_background_process(); + unsigned int update_background_process(bool force_validation = false); // Restart background processing thread based on a bitmask of UpdateBackgroundProcessReturnState. bool restart_background_process(unsigned int state); void update_restart_background_process(bool force_scene_update, bool force_preview_update); @@ -1178,7 +1178,7 @@ void Plater::priv::update(bool force_full_scene_refresh) if (this->printer_technology == ptSLA) // Update the SLAPrint from the current Model, so that the reload_scene() // pulls the correct data. - update_status = this->update_background_process(); + update_status = this->update_background_process(false); this->view3D->reload_scene(false, force_full_scene_refresh); this->preview->reload_print(); if (this->printer_technology == ptSLA) @@ -1826,7 +1826,7 @@ void Plater::priv::update_print_volume_state() // Update background processing thread from the current config and Model. // Returns a bitmask of UpdateBackgroundProcessReturnState. -unsigned int Plater::priv::update_background_process() +unsigned int Plater::priv::update_background_process(bool force_validation) { // bitmap of enum UpdateBackgroundProcessReturnState unsigned int return_state = 0; @@ -1866,19 +1866,21 @@ unsigned int Plater::priv::update_background_process() } } - if (! this->background_process.empty()) { + if ((invalidated != Print::APPLY_STATUS_UNCHANGED || force_validation) && ! this->background_process.empty()) { + // The state of the Print changed, and it is non-zero. Let's validate it and give the user feedback on errors. std::string err = this->background_process.validate(); if (err.empty()) { if (invalidated != Print::APPLY_STATUS_UNCHANGED && this->background_processing_enabled()) return_state |= UPDATE_BACKGROUND_PROCESS_RESTART; } else { // The print is not valid. + // The error returned from the Print needs to be translated into the local language. GUI::show_error(this->q, _(err)); return_state |= UPDATE_BACKGROUND_PROCESS_INVALID; } } - if (invalidated != Print::APPLY_STATUS_UNCHANGED && was_running && ! this->background_process.running() && + if (invalidated != Print::APPLY_STATUS_UNCHANGED && was_running && ! this->background_process.running() && (return_state & UPDATE_BACKGROUND_PROCESS_RESTART) == 0) { // The background processing was killed and it will not be restarted. wxCommandEvent evt(EVT_PROCESS_COMPLETED); @@ -1923,7 +1925,7 @@ void Plater::priv::export_gcode(fs::path output_path, PrintHostJob upload_job) } // bitmask of UpdateBackgroundProcessReturnState - unsigned int state = update_background_process(); + unsigned int state = update_background_process(true); if (state & priv::UPDATE_BACKGROUND_PROCESS_REFRESH_SCENE) view3D->reload_scene(false); @@ -1942,7 +1944,7 @@ void Plater::priv::export_gcode(fs::path output_path, PrintHostJob upload_job) void Plater::priv::update_restart_background_process(bool force_update_scene, bool force_update_preview) { // bitmask of UpdateBackgroundProcessReturnState - unsigned int state = this->update_background_process(); + unsigned int state = this->update_background_process(false); if (force_update_scene || (state & UPDATE_BACKGROUND_PROCESS_REFRESH_SCENE) != 0) view3D->reload_scene(false); @@ -2858,7 +2860,7 @@ void Plater::reslice() { //FIXME Don't reslice if export of G-code or sending to OctoPrint is running. // bitmask of UpdateBackgroundProcessReturnState - unsigned int state = this->p->update_background_process(); + unsigned int state = this->p->update_background_process(true); if (state & priv::UPDATE_BACKGROUND_PROCESS_REFRESH_SCENE) this->p->view3D->reload_scene(false); // Only restarts if the state is valid. From 2a896e6ba1ee0d01bc3448d54ebc2ab08fcf6609 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 10 Jan 2019 17:24:23 +0100 Subject: [PATCH 065/189] Added a colored band for DoubleSlider --- src/slic3r/GUI/wxExtensions.cpp | 55 +++++++++++++++++++++++++++++++++ src/slic3r/GUI/wxExtensions.hpp | 1 + 2 files changed, 56 insertions(+) diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 01c61899e6c..cec19427ffd 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -12,6 +12,7 @@ #include "GUI.hpp" #include "GUI_App.hpp" #include "GUI_ObjectList.hpp" +#include "libslic3r/GCode/PreviewData.hpp" using Slic3r::GUI::from_u8; @@ -1665,6 +1666,10 @@ void PrusaDoubleSlider::render() const wxCoord lower_pos = get_position_from_value(m_lower_value); const wxCoord higher_pos = get_position_from_value(m_higher_value); + // draw colored band on the background of a scroll line + // and only in a case of no-empty m_values + draw_colored_band(dc); + // draw line draw_scroll_line(dc, lower_pos, higher_pos); @@ -1837,6 +1842,56 @@ void PrusaDoubleSlider::draw_ticks(wxDC& dc) } } +void PrusaDoubleSlider::draw_colored_band(wxDC& dc) +{ + int height, width; + get_size(&width, &height); + + wxRect main_band = m_rect_lower_thumb; + if (is_horizontal()) { + main_band.SetLeft(SLIDER_MARGIN); + main_band.SetRight(width - SLIDER_MARGIN + 1); + } + else { + const int cut = 2; + main_band.x += cut; + main_band.width -= 2*cut; + main_band.SetTop(SLIDER_MARGIN); + main_band.SetBottom(height - SLIDER_MARGIN + 1); + } + + if (m_ticks.empty()) { + dc.SetPen(GetParent()->GetBackgroundColour()); + dc.SetBrush(GetParent()->GetBackgroundColour()); + dc.DrawRectangle(main_band); + return; + } + + const std::vector& clr_bytes = Slic3r::GCodePreviewData::Range::Default_Colors[0].as_bytes(); + wxColour clr = wxColour(clr_bytes[0], clr_bytes[1], clr_bytes[2], clr_bytes[3]); + dc.SetPen(clr); + dc.SetBrush(clr); + dc.DrawRectangle(main_band); + + int i = 1; + for (auto tick : m_ticks) + { + if (i == Slic3r::GCodePreviewData::Range::Colors_Count) + i = 0; + const wxCoord pos = get_position_from_value(tick); + is_horizontal() ? main_band.SetLeft(SLIDER_MARGIN + pos) : + main_band.SetBottom(pos-1); + + const std::vector& clr_b = Slic3r::GCodePreviewData::Range::Default_Colors[i].as_bytes(); + + clr = wxColour(clr_b[0], clr_b[1], clr_b[2], clr_b[3]); + dc.SetPen(clr); + dc.SetBrush(clr); + dc.DrawRectangle(main_band); + i++; + } +} + void PrusaDoubleSlider::draw_one_layer_icon(wxDC& dc) { wxBitmap* icon = m_is_one_layer ? diff --git a/src/slic3r/GUI/wxExtensions.hpp b/src/slic3r/GUI/wxExtensions.hpp index d151a7afa36..fcce18e100c 100644 --- a/src/slic3r/GUI/wxExtensions.hpp +++ b/src/slic3r/GUI/wxExtensions.hpp @@ -756,6 +756,7 @@ class PrusaDoubleSlider : public wxControl void draw_thumb(wxDC& dc, const wxCoord& pos_coord, const SelectedSlider& selection); void draw_thumbs(wxDC& dc, const wxCoord& lower_pos, const wxCoord& higher_pos); void draw_ticks(wxDC& dc); + void draw_colored_band(wxDC& dc); void draw_one_layer_icon(wxDC& dc); void draw_thumb_item(wxDC& dc, const wxPoint& pos, const SelectedSlider& selection); void draw_info_line_with_icon(wxDC& dc, const wxPoint& pos, SelectedSlider selection); From 6fc1e5e6b60cb5ba6f6192e870eb0dcd8b154834 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 10 Jan 2019 17:52:14 +0100 Subject: [PATCH 066/189] PrintHost: Add upload queue keyboard shortcut --- src/slic3r/GUI/KBShortcutsDialog.cpp | 1 + src/slic3r/GUI/MainFrame.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/KBShortcutsDialog.cpp b/src/slic3r/GUI/KBShortcutsDialog.cpp index 303f3dae89b..93930163511 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.cpp +++ b/src/slic3r/GUI/KBShortcutsDialog.cpp @@ -115,6 +115,7 @@ void KBShortcutsDialog::fill_shortcuts() main_shortcuts.push_back(Shortcut(ctrl+"5" ,L("Switch to 3D"))); main_shortcuts.push_back(Shortcut(ctrl+"6" ,L("Switch to Preview"))); main_shortcuts.push_back(Shortcut(ctrl+"P" ,L("Preferences"))); + main_shortcuts.push_back(Shortcut(ctrl+"J" ,L("Print host upload queue"))); main_shortcuts.push_back(Shortcut("0-6" ,L("Camera view "))); main_shortcuts.push_back(Shortcut("+" ,L("Add Instance to selected object "))); main_shortcuts.push_back(Shortcut("-" ,L("Remove Instance from selected object"))); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 6181010cf6e..e7b44aab06c 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -363,7 +363,7 @@ void MainFrame::init_menubar() #endif // _WIN32 windowMenu->AppendSeparator(); - append_menu_item(windowMenu, wxID_ANY, L("Print Host Upload Queue"), L("Display the Print Host Upload Queue window"), + append_menu_item(windowMenu, wxID_ANY, L("Print Host Upload Queue\tCtrl+J"), L("Display the Print Host Upload Queue window"), [this](wxCommandEvent&) { m_printhost_queue_dlg->Show(); }, "arrow_up.png"); } From 6b70f604607caa7ef986720b795558faaba0badb Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 10 Jan 2019 18:08:38 +0100 Subject: [PATCH 067/189] Fix of SPE-753 Slicer crash when SLA printer is selected and printer profile is changed First, there was a bug in the preset Tabs, where a "printer_technology" was incorrectly queried on "print" and "filament" (or "sla_print" and "sla_material") profiles. Second, there was an unsafe "printer_technology" getter, which would add the missing key to the config container when queried for. --- src/slic3r/GUI/Preset.hpp | 14 +++++++++++--- src/slic3r/GUI/PresetBundle.cpp | 2 +- src/slic3r/GUI/Tab.cpp | 14 ++++++++------ 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/slic3r/GUI/Preset.hpp b/src/slic3r/GUI/Preset.hpp index 24112cf10a8..021fea22c02 100644 --- a/src/slic3r/GUI/Preset.hpp +++ b/src/slic3r/GUI/Preset.hpp @@ -161,9 +161,17 @@ class Preset } const std::string& compatible_printers_condition() const { return const_cast(this)->compatible_printers_condition(); } - static PrinterTechnology& printer_technology(DynamicPrintConfig &cfg) { return cfg.option>("printer_technology", true)->value; } - PrinterTechnology& printer_technology() { return Preset::printer_technology(this->config); } - const PrinterTechnology& printer_technology() const { return Preset::printer_technology(const_cast(this)->config); } + // Return a printer technology, return ptFFF if the printer technology is not set. + static PrinterTechnology printer_technology(const DynamicPrintConfig &cfg) { + auto *opt = cfg.option>("printer_technology"); + // The following assert may trigger when importing some legacy profile, + // but it is safer to keep it here to capture the cases where the "printer_technology" key is queried, where it should not. + assert(opt != nullptr); + return (opt == nullptr) ? ptFFF : opt->value; + } + PrinterTechnology printer_technology() const { return Preset::printer_technology(this->config); } + // This call returns a reference, it may add a new entry into the DynamicPrintConfig. + PrinterTechnology& printer_technology_ref() { return this->config.option>("printer_technology", true)->value; } // Mark this preset as compatible if it is compatible with active_printer. bool update_compatible(const Preset &active_printer, const DynamicPrintConfig *extra_config, const Preset *active_print = nullptr); diff --git a/src/slic3r/GUI/PresetBundle.cpp b/src/slic3r/GUI/PresetBundle.cpp index 0021ce307ea..4c6c52763c4 100644 --- a/src/slic3r/GUI/PresetBundle.cpp +++ b/src/slic3r/GUI/PresetBundle.cpp @@ -81,7 +81,7 @@ PresetBundle::PresetBundle() : this->sla_prints.default_preset().inherits(); this->printers.add_default_preset(Preset::sla_printer_options(), static_cast(SLAFullPrintConfig::defaults()), "- default SLA -"); - this->printers.preset(1).printer_technology() = ptSLA; + this->printers.preset(1).printer_technology_ref() = ptSLA; for (size_t i = 0; i < 2; ++ i) { // The following ugly switch is to avoid printers.preset(0) to return the edited instance, as the 0th default is the current one. Preset &preset = this->printers.default_preset(i); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 53ead470e61..4daaf5d63b0 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2296,11 +2296,13 @@ void Tab::load_current_preset() (preset.is_default || preset.is_system) ? m_btn_delete_preset->Disable() : m_btn_delete_preset->Enable(true); update(); - // For the printer profile, generate the extruder pages. - if (preset.printer_technology() == ptFFF) - on_preset_loaded(); - else - wxGetApp().sidebar().update_objects_list_extruder_column(1); + if (m_name == "printer") { + // For the printer profile, generate the extruder pages. + if (preset.printer_technology() == ptFFF) + on_preset_loaded(); + else + wxGetApp().sidebar().update_objects_list_extruder_column(1); + } // Reload preset pages with the new configuration values. reload_config(); @@ -2325,7 +2327,7 @@ void Tab::load_current_preset() // update show/hide tabs if (m_name == "printer") { - PrinterTechnology& printer_technology = m_presets->get_edited_preset().printer_technology(); + const PrinterTechnology printer_technology = m_presets->get_edited_preset().printer_technology(); if (printer_technology != static_cast(this)->m_printer_technology) { for (auto tab : wxGetApp().tabs_list) { From 2f6bf3e3f2126792f94cbab8fcb68dc2a8b8f30d Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 10 Jan 2019 18:17:22 +0100 Subject: [PATCH 068/189] Fix of 2b0e1633cf2b1ff8c7906c3c117d7dada001cbee, where the Print::validate() tested wipe tower specific stuff incorrectly even if the wipe tower was not active. --- src/libslic3r/Print.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index f87f1283e50..16fbb373872 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1312,16 +1312,18 @@ std::string Print::validate() const "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."); } - if (object->config().support_material_contact_distance == 0) { - // Soluble interface - if (object->config().support_material_contact_distance == 0 && ! object->config().support_material_synchronize_layers) - return L("For the Wipe Tower to work with the soluble supports, the support layers need to be synchronized with the object layers."); - } else { - // Non-soluble interface - if (object->config().support_material_extruder != 0 || object->config().support_material_interface_extruder != 0) - return L("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)."); - } + if (this->has_wipe_tower()) { + if (object->config().support_material_contact_distance == 0) { + // Soluble interface + if (object->config().support_material_contact_distance == 0 && ! object->config().support_material_synchronize_layers) + return L("For the Wipe Tower to work with the soluble supports, the support layers need to be synchronized with the object layers."); + } else { + // Non-soluble interface + if (object->config().support_material_extruder != 0 || object->config().support_material_interface_extruder != 0) + return L("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)."); + } + } } // validate first_layer_height From 14096da20ad1a0949c920d8ad7a4b4bf724225f8 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 11 Jan 2019 09:00:35 +0100 Subject: [PATCH 069/189] Fixed #1577 --- src/slic3r/GUI/wxExtensions.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index cec19427ffd..096db2c5f2c 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -2092,6 +2092,8 @@ void PrusaDoubleSlider::OnMotion(wxMouseEvent& event) void PrusaDoubleSlider::OnLeftUp(wxMouseEvent& event) { + if (!HasCapture()) + return; this->ReleaseMouse(); m_is_left_down = false; Refresh(); @@ -2230,6 +2232,8 @@ void PrusaDoubleSlider::OnRightDown(wxMouseEvent& event) void PrusaDoubleSlider::OnRightUp(wxMouseEvent& event) { + if (!HasCapture()) + return; this->ReleaseMouse(); m_is_right_down = m_is_one_layer = false; From a0245c69a63b0c3da4c2283ec9dd89341ac37678 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 11 Jan 2019 09:23:35 +0100 Subject: [PATCH 070/189] New algorithm to extract euler angles from rotation matrix --- src/libslic3r/Geometry.cpp | 58 ++++++++++++++++++++++++++++++++++ src/libslic3r/Technologies.hpp | 9 ++++++ 2 files changed, 67 insertions(+) diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index 8faa49ea0c4..bb97f323f15 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1181,6 +1181,61 @@ Transform3d assemble_transform(const Vec3d& translation, const Vec3d& rotation, Vec3d extract_euler_angles(const Eigen::Matrix& rotation_matrix) { +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_NEW_EULER_ANGLES + bool x_only = (rotation_matrix(0, 0) == 1.0) && (rotation_matrix(0, 1) == 0.0) && (rotation_matrix(0, 2) == 0.0) && (rotation_matrix(1, 0) == 0.0) && (rotation_matrix(2, 0) == 0.0); + bool y_only = (rotation_matrix(0, 1) == 0.0) && (rotation_matrix(1, 0) == 0.0) && (rotation_matrix(1, 1) == 1.0) && (rotation_matrix(1, 2) == 0.0) && (rotation_matrix(2, 1) == 0.0); + bool z_only = (rotation_matrix(0, 2) == 0.0) && (rotation_matrix(1, 2) == 0.0) && (rotation_matrix(2, 0) == 0.0) && (rotation_matrix(2, 1) == 0.0) && (rotation_matrix(2, 2) == 1.0); +// bool xy_only = (rotation_matrix(0, 1) == 0.0); // Rx * Ry + bool yx_only = (rotation_matrix(1, 0) == 0.0); // Ry * Rx +// bool xz_only = (rotation_matrix(0, 2) == 0.0); // Rx * Rz +// bool zx_only = (rotation_matrix(2, 0) == 0.0); // Rz * Rx +// bool yz_only = (rotation_matrix(1, 2) == 0.0); // Ry * Rz +// bool zy_only = (rotation_matrix(2, 1) == 0.0); // Rz * Ry + + Vec3d angles = Vec3d::Zero(); + if (x_only || y_only || z_only) + { + angles = rotation_matrix.eulerAngles(0, 1, 2); + if (x_only && (std::abs(angles(1)) == (double)PI) && (std::abs(angles(2)) == (double)PI)) + { + angles(0) -= (double)PI; + angles(1) = 0.0; + angles(2) = 0.0; + } + } + else + { + double cy_abs = ::sqrt(sqr(rotation_matrix(0, 0)) + sqr(rotation_matrix(1, 0))); + angles(0) = ::atan2(rotation_matrix(2, 1), rotation_matrix(2, 2)); + angles(1) = ::atan2(-rotation_matrix(2, 0), cy_abs); + angles(2) = ::atan2(rotation_matrix(1, 0), rotation_matrix(0, 0)); + if (yx_only && (angles(2) == (double)PI)) + { + angles(0) -= (double)PI; + angles(1) = (double)PI - angles(1); + angles(2) = 0.0; + } + } + + // debug check + Geometry::Transformation t; + t.set_rotation(angles); + if (!t.get_matrix().matrix().block(0, 0, 3, 3).isApprox(rotation_matrix)) + { + std::cout << "something went wrong in extracting euler angles from matrix" << std::endl; + +// Eigen::Matrix m = t.get_matrix().matrix().block(0, 0, 3, 3); +// for (int r = 0; r < 3; ++r) +// { +// for (int c = 0; c < 3; ++c) +// { +// std::cout << r << ", " << c << ": " << m(r, c) << " - " << rotation_matrix(r, c) << std::endl; +// } +// } + } +#else +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ auto y_only = [](const Eigen::Matrix& matrix) -> bool { return (matrix(0, 1) == 0.0) && (matrix(1, 0) == 0.0) && (matrix(1, 1) == 1.0) && (matrix(1, 2) == 0.0) && (matrix(2, 1) == 0.0); }; @@ -1210,6 +1265,9 @@ Vec3d extract_euler_angles(const Eigen::Matrix& angles(1) = ::atan2(-rotation_matrix(2, 0), cy_abs); angles(2) = (angles(1) >= 0.0) ? ::atan2(rotation_matrix(1, 2), rotation_matrix(1, 1)) : ::atan2(-rotation_matrix(1, 2), rotation_matrix(1, 1)); } +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // ENABLE_NEW_EULER_ANGLES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ return angles; } diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index bab7f3b73a8..256c6feb05d 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -49,3 +49,12 @@ #endif // _technologies_h_ +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//==================== +// 1.42.0.alpha3 techs +//==================== +#define ENABLE_1_42_0_ALPHA3 1 + +// Changed algorithm to extract euler angles from rotation matrix +#define ENABLE_NEW_EULER_ANGLES (1 && ENABLE_1_42_0_ALPHA3) +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ From a552a7bc7889cad24a79c267c9743b7338bf0157 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 11 Jan 2019 11:15:32 +0100 Subject: [PATCH 071/189] Fixed a buggy test for a single extruder diameter for Single Extruder Multi Material prints & soluble supports. Disabled assert testing for the existence of "printer_technology" fields as it triggers on loading of legacy AMF/3MF files. --- src/libslic3r/Print.cpp | 26 +++++++++++++++----------- src/slic3r/GUI/Preset.hpp | 2 +- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 16fbb373872..f8d9f054adf 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1282,16 +1282,20 @@ std::string Print::validate() const } } - { - // find the smallest nozzle diameter - std::vector extruders = this->extruders(); - if (extruders.empty()) - return L("The supplied settings will cause an empty print."); - - std::vector nozzle_diameters; - for (unsigned int extruder_id : extruders) - nozzle_diameters.push_back(m_config.nozzle_diameter.get_at(extruder_id)); - double min_nozzle_diameter = *std::min_element(nozzle_diameters.begin(), nozzle_diameters.end()); + { + // find the smallest nozzle diameter + std::vector extruders = this->extruders(); + if (extruders.empty()) + return L("The supplied settings will cause an empty print."); + + // Find the smallest used nozzle diameter and the number of unique nozzle diameters. + double min_nozzle_diameter = DBL_MAX; + double max_nozzle_diameter = 0; + for (unsigned int extruder_id : extruders) { + double dmr = m_config.nozzle_diameter.get_at(extruder_id); + min_nozzle_diameter = std::min(min_nozzle_diameter, dmr); + max_nozzle_diameter = std::max(max_nozzle_diameter, dmr); + } #if 0 // We currently allow one to assign extruders with a higher index than the number @@ -1304,7 +1308,7 @@ std::string Print::validate() const for (PrintObject *object : m_objects) { if (object->config().raft_layers > 0 || object->config().support_material.value) { - if ((object->config().support_material_extruder == 0 || object->config().support_material_interface_extruder == 0) && nozzle_diameters.size() > 1) { + if ((object->config().support_material_extruder == 0 || object->config().support_material_interface_extruder == 0) && max_nozzle_diameter - min_nozzle_diameter > EPSILON) { // The object has some form of support and either support_material_extruder or support_material_interface_extruder // will be printed with the current tool without a forced tool change. Play safe, assert that all object nozzles // are of the same diameter. diff --git a/src/slic3r/GUI/Preset.hpp b/src/slic3r/GUI/Preset.hpp index 021fea22c02..eae406bef2b 100644 --- a/src/slic3r/GUI/Preset.hpp +++ b/src/slic3r/GUI/Preset.hpp @@ -166,7 +166,7 @@ class Preset auto *opt = cfg.option>("printer_technology"); // The following assert may trigger when importing some legacy profile, // but it is safer to keep it here to capture the cases where the "printer_technology" key is queried, where it should not. - assert(opt != nullptr); +// assert(opt != nullptr); return (opt == nullptr) ? ptFFF : opt->value; } PrinterTechnology printer_technology() const { return Preset::printer_technology(this->config); } From 1e21388fe9f40589009062a1ef8e3b3d6bab4698 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 11 Jan 2019 11:46:54 +0100 Subject: [PATCH 072/189] Fix of an undefined DBL_MAX on clang / OSX --- src/libslic3r/Print.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index f8d9f054adf..1981f338e35 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -13,6 +13,7 @@ #include "PrintExport.hpp" #include +#include #include #include #include @@ -1289,7 +1290,7 @@ std::string Print::validate() const return L("The supplied settings will cause an empty print."); // Find the smallest used nozzle diameter and the number of unique nozzle diameters. - double min_nozzle_diameter = DBL_MAX; + double min_nozzle_diameter = std::numeric_limits::max(); double max_nozzle_diameter = 0; for (unsigned int extruder_id : extruders) { double dmr = m_config.nozzle_diameter.get_at(extruder_id); From 04c0b59bc65b1984988b2322ffc2b477ea69cf03 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 11 Jan 2019 12:47:40 +0100 Subject: [PATCH 073/189] Fixed wrong ModeButtons layout on settings tabs under OSX --- src/slic3r/GUI/Tab.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 4daaf5d63b0..05852097ba9 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -172,8 +172,8 @@ void Tab::create_preset_tab() m_mode_sizer = new PrusaModeSizer(panel); m_hsizer = new wxBoxSizer(wxHORIZONTAL); - sizer->Add(m_hsizer, 0, wxBOTTOM, 3); - m_hsizer->Add(m_presets_choice, 1, wxLEFT | wxRIGHT | wxTOP | wxALIGN_CENTER_VERTICAL, 3); + sizer->Add(m_hsizer, 0, wxEXPAND | wxBOTTOM, 3); + m_hsizer->Add(m_presets_choice, 0, wxLEFT | wxRIGHT | wxTOP | wxALIGN_CENTER_VERTICAL, 3); m_hsizer->AddSpacer(4); m_hsizer->Add(m_btn_save_preset, 0, wxALIGN_CENTER_VERTICAL); m_hsizer->AddSpacer(4); @@ -185,8 +185,12 @@ void Tab::create_preset_tab() m_hsizer->Add(m_undo_btn, 0, wxALIGN_CENTER_VERTICAL); m_hsizer->AddSpacer(32); m_hsizer->Add(m_question_btn, 0, wxALIGN_CENTER_VERTICAL); - m_hsizer->AddStretchSpacer(32); - m_hsizer->Add(m_mode_sizer, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5); + // m_hsizer->AddStretchSpacer(32); + // StretchSpacer has a strange behavior under OSX, so + // There is used just additional sizer for m_mode_sizer with right alignment + auto mode_sizer = new wxBoxSizer(wxVERTICAL); + mode_sizer->Add(m_mode_sizer, 1, wxALIGN_RIGHT); + m_hsizer->Add(mode_sizer, 1, wxALIGN_CENTER_VERTICAL | wxRIGHT, wxOSX ? 15 : 5); //Horizontal sizer to hold the tree and the selected page. m_hsizer = new wxBoxSizer(wxHORIZONTAL); @@ -681,18 +685,16 @@ void Tab::update_visibility() page->update_visibility(mode); update_page_tree_visibility(); - m_hsizer->Layout(); - Refresh(); + // update mode for ModeSizer + m_mode_sizer->SetMode(mode); + Layout(); Thaw(); // to update tree items color wxTheApp->CallAfter([this]() { update_changed_tree_ui(); }); - - // update mode for ModeSizer - m_mode_sizer->SetMode(mode); } Field* Tab::get_field(const t_config_option_key& opt_key, int opt_index/* = -1*/) const From 6db40feaced23cc63854ae80ba955c5d4745922e Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Fri, 11 Jan 2019 12:24:25 +0100 Subject: [PATCH 074/189] Build: Add a flag to disable PCH --- CMakeLists.txt | 13 ++++++++++--- src/libslic3r/CMakeLists.txt | 2 +- src/slic3r/CMakeLists.txt | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 76c937cae16..e2677824cdc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,6 +27,7 @@ option(SLIC3R_GUI "Compile Slic3r with GUI components (OpenGL, wxWidgets)" option(SLIC3R_FHS "Assume Slic3r is to be installed in a FHS directory structure" 0) option(SLIC3R_WX_STABLE "Build against wxWidgets stable (3.0) as oppsed to dev (3.1) on Linux" 0) option(SLIC3R_PROFILE "Compile Slic3r with an invasive Shiny profiler" 0) +option(SLIC3R_PCH "Use precompiled headers" 1) option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 1) option(SLIC3R_MSVC_PDB "Generate PDB files on MSVC in Release mode" 1) option(SLIC3R_PERL_XS "Compile XS Perl module and enable Perl unit and integration tests" 0) @@ -37,6 +38,15 @@ option(SLIC3R_SYNTAXONLY "Only perform source code correctness checking, option(SLIC3R_BUILD_SANDBOXES "Build development sandboxes" OFF) option(SLIC3R_BUILD_TESTS "Build unit tests" OFF) +# Print out the SLIC3R_* cache options +get_cmake_property(_cache_vars CACHE_VARIABLES) +list (SORT _cache_vars) +foreach (_cache_var ${_cache_vars}) + if("${_cache_var}" MATCHES "^SLIC3R_") + message(STATUS "${_cache_var}: ${${_cache_var}}") + endif () +endforeach() + if (MSVC) if (SLIC3R_MSVC_COMPILE_PARALLEL) add_compile_options(/MP) @@ -46,7 +56,6 @@ if (MSVC) add_compile_options(-bigobj -Zm316) endif () - # Display and check CMAKE_PREFIX_PATH message(STATUS "SLIC3R_STATIC: ${SLIC3R_STATIC}") if (NOT "${CMAKE_PREFIX_PATH}" STREQUAL "") @@ -65,8 +74,6 @@ foreach (DIR ${PREFIX_PATH_CHECK}) endif () endforeach () -message(STATUS "SLIC3R_FHS: ${SLIC3R_FHS}") - # Add our own cmake module path. list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules/) diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt index 7870bd1fb50..c97d3d97265 100644 --- a/src/libslic3r/CMakeLists.txt +++ b/src/libslic3r/CMakeLists.txt @@ -171,7 +171,7 @@ add_library(libslic3r STATIC SLA/SLASpatIndex.hpp ) -if (NOT SLIC3R_SYNTAXONLY) +if (SLIC3R_PCH AND NOT SLIC3R_SYNTAXONLY) add_precompiled_header(libslic3r pchheader.hpp FORCEINCLUDE) endif () diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt index d7942143906..783c6529365 100644 --- a/src/slic3r/CMakeLists.txt +++ b/src/slic3r/CMakeLists.txt @@ -128,6 +128,6 @@ add_library(libslic3r_gui STATIC ) target_link_libraries(libslic3r_gui libslic3r avrdude imgui) -if (NOT SLIC3R_SYNTAXONLY) +if (SLIC3R_PCH AND NOT SLIC3R_SYNTAXONLY) add_precompiled_header(libslic3r_gui pchheader.hpp FORCEINCLUDE) endif () From 3205961655e5a60cbdf692a51f60e55c6b9941b2 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 11 Jan 2019 16:32:16 +0100 Subject: [PATCH 075/189] Use OSXDisableAllSmartSubstitutions() for TextCtrl field under OSX --- src/slic3r/GUI/Field.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 817de5d4f90..2af2dc27daf 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -248,6 +248,9 @@ void TextCtrl::BUILD() { const long style = m_opt.multiline ? wxTE_MULTILINE : wxTE_PROCESS_ENTER/*0*/; auto temp = new wxTextCtrl(m_parent, wxID_ANY, text_value, wxDefaultPosition, size, style); +#ifdef __WXOSX__ + temp->OSXDisableAllSmartSubstitutions(); +#endif // __WXOSX__ temp->SetToolTip(get_tooltip_text(text_value)); From c63aff6dda9fcb35049b70998e18b9b041159b3f Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Fri, 11 Jan 2019 17:05:57 +0100 Subject: [PATCH 076/189] Build: Fix deployment target on Mac #1421 --- CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e2677824cdc..fd8a27e86b9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,10 +113,12 @@ if(WIN32) endif() if (APPLE) - if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "OS X Deployment target (SDK version)" FORCE) + message("OS X SDK Path: ${CMAKE_OSX_SYSROOT}") + if (CMAKE_OSX_DEPLOYMENT_TARGET) + message("OS X Deployment Target: ${CMAKE_OSX_DEPLOYMENT_TARGET}") + else () + message("OS X Deployment Target: (default)") endif () - message(STATUS "Mac OS deployment target (SDK version): ${CMAKE_OSX_DEPLOYMENT_TARGET}") endif () if (CMAKE_SYSTEM_NAME STREQUAL "Linux") From 201d7aa5e85797808535dd7098697b3dd2e7f470 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Fri, 11 Jan 2019 17:06:46 +0100 Subject: [PATCH 077/189] Mac: Disable auto window menu, fix upload queue window size --- src/slic3r/GUI/MainFrame.cpp | 4 ++++ src/slic3r/GUI/PrintHostDialogs.cpp | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index e7b44aab06c..bea46682f47 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -220,6 +220,10 @@ bool MainFrame::can_delete_all() const void MainFrame::init_menubar() { +#ifdef __APPLE__ + wxMenuBar::SetAutoWindowMenu(false); +#endif + // File menu wxMenu* fileMenu = new wxMenu; { diff --git a/src/slic3r/GUI/PrintHostDialogs.cpp b/src/slic3r/GUI/PrintHostDialogs.cpp index c2a94181e59..5790823a130 100644 --- a/src/slic3r/GUI/PrintHostDialogs.cpp +++ b/src/slic3r/GUI/PrintHostDialogs.cpp @@ -93,7 +93,8 @@ PrintHostQueueDialog::PrintHostQueueDialog(wxWindow *parent) { enum { HEIGHT = 800, WIDTH = 400, SPACING = 5 }; - SetMinSize(wxSize(HEIGHT, WIDTH)); + SetSize(wxSize(HEIGHT, WIDTH)); + SetSize(GetMinSize()); auto *topsizer = new wxBoxSizer(wxVERTICAL); From 801cf8451736f7e26b534420241c174d7269ae1e Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Fri, 11 Jan 2019 17:14:18 +0100 Subject: [PATCH 078/189] doc: Fix a typo --- doc/How to build - Linux et al.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/How to build - Linux et al.md b/doc/How to build - Linux et al.md index e665cd14cd2..1378d903a9e 100644 --- a/doc/How to build - Linux et al.md +++ b/doc/How to build - Linux et al.md @@ -17,7 +17,7 @@ where `N` is the number of CPU cores available. Additional CMake flags may be applicable as explained below. -### Dependenciy resolution +### Dependency resolution By default Slic3r looks for dependencies the default way CMake looks for them, ie. in default system locations. On Linux this will typically make Slic3r depend on dynamically loaded libraries from the system, however, Slic3r can be told From b82a9d90903209108bd2eed0d7d960ceb2271059 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 11 Jan 2019 17:17:23 +0100 Subject: [PATCH 079/189] Fix of #1619 --- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index dbf429f964e..7c6ac111a35 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -390,13 +390,13 @@ void ObjectManipulation::update_if_dirty() m_cache.size = m_new_size; if (m_cache.rotation(0) != m_new_rotation(0)) - m_og->set_value("rotation_x", double_to_string(round_nearest(Geometry::rad2deg(m_new_rotation(0)), 0), 2)); + m_og->set_value("rotation_x", double_to_string(Geometry::rad2deg(m_new_rotation(0)), 2)); if (m_cache.rotation(1) != m_new_rotation(1)) - m_og->set_value("rotation_y", double_to_string(round_nearest(Geometry::rad2deg(m_new_rotation(1)), 0), 2)); + m_og->set_value("rotation_y", double_to_string(Geometry::rad2deg(m_new_rotation(1)), 2)); if (m_cache.rotation(2) != m_new_rotation(2)) - m_og->set_value("rotation_z", double_to_string(round_nearest(Geometry::rad2deg(m_new_rotation(2)), 0), 2)); + m_og->set_value("rotation_z", double_to_string(Geometry::rad2deg(m_new_rotation(2)), 2)); m_cache.rotation = m_new_rotation; From 4affd6ace7587b1fe2de6bb8466b85ac116ccdae Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 14 Jan 2019 08:56:01 +0100 Subject: [PATCH 080/189] Code cleanup --- src/libslic3r/Geometry.cpp | 36 +++++++++++++++------------------- src/libslic3r/Technologies.hpp | 8 +++----- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index bb97f323f15..11a9955133b 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1181,7 +1181,6 @@ Transform3d assemble_transform(const Vec3d& translation, const Vec3d& rotation, Vec3d extract_euler_angles(const Eigen::Matrix& rotation_matrix) { -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_NEW_EULER_ANGLES bool x_only = (rotation_matrix(0, 0) == 1.0) && (rotation_matrix(0, 1) == 0.0) && (rotation_matrix(0, 2) == 0.0) && (rotation_matrix(1, 0) == 0.0) && (rotation_matrix(2, 0) == 0.0); bool y_only = (rotation_matrix(0, 1) == 0.0) && (rotation_matrix(1, 0) == 0.0) && (rotation_matrix(1, 1) == 1.0) && (rotation_matrix(1, 2) == 0.0) && (rotation_matrix(2, 1) == 0.0); @@ -1218,24 +1217,23 @@ Vec3d extract_euler_angles(const Eigen::Matrix& } } - // debug check - Geometry::Transformation t; - t.set_rotation(angles); - if (!t.get_matrix().matrix().block(0, 0, 3, 3).isApprox(rotation_matrix)) - { - std::cout << "something went wrong in extracting euler angles from matrix" << std::endl; - -// Eigen::Matrix m = t.get_matrix().matrix().block(0, 0, 3, 3); -// for (int r = 0; r < 3; ++r) -// { -// for (int c = 0; c < 3; ++c) -// { -// std::cout << r << ", " << c << ": " << m(r, c) << " - " << rotation_matrix(r, c) << std::endl; -// } -// } - } +// // debug check +// Geometry::Transformation t; +// t.set_rotation(angles); +// if (!t.get_matrix().matrix().block(0, 0, 3, 3).isApprox(rotation_matrix)) +// { +// std::cout << "something went wrong in extracting euler angles from matrix" << std::endl; +// +//// Eigen::Matrix m = t.get_matrix().matrix().block(0, 0, 3, 3); +//// for (int r = 0; r < 3; ++r) +//// { +//// for (int c = 0; c < 3; ++c) +//// { +//// std::cout << r << ", " << c << ": " << m(r, c) << " - " << rotation_matrix(r, c) << std::endl; +//// } +//// } +// } #else -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ auto y_only = [](const Eigen::Matrix& matrix) -> bool { return (matrix(0, 1) == 0.0) && (matrix(1, 0) == 0.0) && (matrix(1, 1) == 1.0) && (matrix(1, 2) == 0.0) && (matrix(2, 1) == 0.0); }; @@ -1265,9 +1263,7 @@ Vec3d extract_euler_angles(const Eigen::Matrix& angles(1) = ::atan2(-rotation_matrix(2, 0), cy_abs); angles(2) = (angles(1) >= 0.0) ? ::atan2(rotation_matrix(1, 2), rotation_matrix(1, 1)) : ::atan2(-rotation_matrix(1, 2), rotation_matrix(1, 1)); } -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // ENABLE_NEW_EULER_ANGLES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ return angles; } diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 256c6feb05d..4af839054d2 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -49,12 +49,10 @@ #endif // _technologies_h_ -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //==================== -// 1.42.0.alpha3 techs +// 1.42.0.alpha4 techs //==================== -#define ENABLE_1_42_0_ALPHA3 1 +#define ENABLE_1_42_0_ALPHA4 1 // Changed algorithm to extract euler angles from rotation matrix -#define ENABLE_NEW_EULER_ANGLES (1 && ENABLE_1_42_0_ALPHA3) -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#define ENABLE_NEW_EULER_ANGLES (1 && ENABLE_1_42_0_ALPHA4) From 8ab45a82588a37bd8849eb198a409028c06e987d Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 14 Jan 2019 09:23:24 +0100 Subject: [PATCH 081/189] Fixed #1638 --- src/slic3r/GUI/MainFrame.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index bea46682f47..8a19ccee949 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -421,7 +421,7 @@ void MainFrame::init_menubar() append_menu_item(helpMenu, wxID_ANY, _(L("About Slic3r")), _(L("Show about dialog")), [this](wxCommandEvent&) { Slic3r::GUI::about(); }); helpMenu->AppendSeparator(); - append_menu_item(helpMenu, wxID_ANY, _(L("Keyboard Shortcuts")) + "\t?", _(L("Show the list of the keyboard shortcuts")), + append_menu_item(helpMenu, wxID_ANY, _(L("Keyboard Shortcuts")) + "\t\xA0?", _(L("Show the list of the keyboard shortcuts")), [this](wxCommandEvent&) { wxGetApp().keyboard_shortcuts(); }); } From e7fad6f3bc2a8a47124a7a7f375cb2d5391265a2 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 14 Jan 2019 09:29:17 +0100 Subject: [PATCH 082/189] Added min displacement threshold for newly selected objects to avoid unwanted displacement when selecting them --- src/libslic3r/Technologies.hpp | 2 + src/slic3r/GUI/GLCanvas3D.cpp | 73 ++++++++++++++++++++-------------- src/slic3r/GUI/GLCanvas3D.hpp | 27 ++++++++++--- 3 files changed, 67 insertions(+), 35 deletions(-) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 4af839054d2..629407ee2d0 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -56,3 +56,5 @@ // Changed algorithm to extract euler angles from rotation matrix #define ENABLE_NEW_EULER_ANGLES (1 && ENABLE_1_42_0_ALPHA4) +// Added minimum threshold for click and drag movements +#define ENABLE_MOVE_MIN_THRESHOLD (1 && ENABLE_1_42_0_ALPHA4) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index ad59ad8c559..27f0d54c3e5 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1122,11 +1122,18 @@ void GLCanvas3D::LayersEditing::_render_profile(const PrintObject& print_object, const Point GLCanvas3D::Mouse::Drag::Invalid_2D_Point(INT_MAX, INT_MAX); const Vec3d GLCanvas3D::Mouse::Drag::Invalid_3D_Point(DBL_MAX, DBL_MAX, DBL_MAX); +#if ENABLE_MOVE_MIN_THRESHOLD +const int GLCanvas3D::Mouse::Drag::MoveThresholdPx = 5; +#endif // ENABLE_MOVE_MIN_THRESHOLD GLCanvas3D::Mouse::Drag::Drag() : start_position_2D(Invalid_2D_Point) , start_position_3D(Invalid_3D_Point) , move_volume_idx(-1) +#if ENABLE_MOVE_MIN_THRESHOLD + , move_requires_threshold(false) + , move_start_threshold_position_2D(Invalid_2D_Point) +#endif // ENABLE_MOVE_MIN_THRESHOLD { } @@ -1139,26 +1146,6 @@ GLCanvas3D::Mouse::Mouse() { } -void GLCanvas3D::Mouse::set_start_position_2D_as_invalid() -{ - drag.start_position_2D = Drag::Invalid_2D_Point; -} - -void GLCanvas3D::Mouse::set_start_position_3D_as_invalid() -{ - drag.start_position_3D = Drag::Invalid_3D_Point; -} - -bool GLCanvas3D::Mouse::is_start_position_2D_defined() const -{ - return (drag.start_position_2D != Drag::Invalid_2D_Point); -} - -bool GLCanvas3D::Mouse::is_start_position_3D_defined() const -{ - return (drag.start_position_3D != Drag::Invalid_3D_Point); -} - GLCanvas3D::Selection::VolumeCache::TransformCache::TransformCache() : position(Vec3d::Zero()) , rotation(Vec3d::Zero()) @@ -4955,6 +4942,14 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) int toolbar_contains_mouse = m_toolbar.contains_mouse(m_mouse.position, *this); int view_toolbar_contains_mouse = (m_view_toolbar != nullptr) ? m_view_toolbar->contains_mouse(m_mouse.position, *this) : -1; +#if ENABLE_MOVE_MIN_THRESHOLD + if (m_mouse.drag.move_requires_threshold && m_mouse.is_move_start_threshold_position_2D_defined() && m_mouse.is_move_threshold_met(pos)) + { + m_mouse.drag.move_requires_threshold = false; + m_mouse.set_move_start_threshold_position_2D_as_invalid(); + } +#endif // ENABLE_MOVE_MIN_THRESHOLD + if (evt.Entering()) { //#if defined(__WXMSW__) || defined(__linux__) @@ -5087,6 +5082,13 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) { bool add_as_single = !already_selected && !shift_down; m_selection.add(m_hover_volume_id, add_as_single); +#if ENABLE_MOVE_MIN_THRESHOLD + m_mouse.drag.move_requires_threshold = !already_selected; + if (already_selected) + m_mouse.set_move_start_threshold_position_2D_as_invalid(); + else + m_mouse.drag.move_start_threshold_position_2D = pos; +#endif // ENABLE_MOVE_MIN_THRESHOLD } #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION @@ -5153,19 +5155,26 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) } else if (evt.Dragging() && evt.LeftIsDown() && !gizmos_overlay_contains_mouse && (m_layers_editing.state == LayersEditing::Unknown) && (m_mouse.drag.move_volume_idx != -1)) { - m_mouse.dragging = true; +#if ENABLE_MOVE_MIN_THRESHOLD + if (!m_mouse.drag.move_requires_threshold) + { +#endif // ENABLE_MOVE_MIN_THRESHOLD + m_mouse.dragging = true; - // Get new position at the same Z of the initial click point. - float z0 = 0.0f; - float z1 = 1.0f; - // we do not want to translate objects if the user just clicked on an object while pressing shift to remove it from the selection and then drag - Vec3d cur_pos = m_selection.contains_volume(m_hover_volume_id) ? Linef3(_mouse_to_3d(pos, &z0), _mouse_to_3d(pos, &z1)).intersect_plane(m_mouse.drag.start_position_3D(2)) : m_mouse.drag.start_position_3D; + // Get new position at the same Z of the initial click point. + float z0 = 0.0f; + float z1 = 1.0f; + // we do not want to translate objects if the user just clicked on an object while pressing shift to remove it from the selection and then drag + Vec3d cur_pos = m_selection.contains_volume(m_hover_volume_id) ? Linef3(_mouse_to_3d(pos, &z0), _mouse_to_3d(pos, &z1)).intersect_plane(m_mouse.drag.start_position_3D(2)) : m_mouse.drag.start_position_3D; - m_regenerate_volumes = false; - m_selection.translate(cur_pos - m_mouse.drag.start_position_3D); - wxGetApp().obj_manipul()->update_settings_value(m_selection); + m_regenerate_volumes = false; + m_selection.translate(cur_pos - m_mouse.drag.start_position_3D); + wxGetApp().obj_manipul()->update_settings_value(m_selection); - m_dirty = true; + m_dirty = true; +#if ENABLE_MOVE_MIN_THRESHOLD + } +#endif // ENABLE_MOVE_MIN_THRESHOLD } else if (evt.Dragging() && m_gizmos.is_dragging()) { @@ -5216,7 +5225,11 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) else if (evt.LeftIsDown()) { // if dragging over blank area with left button, rotate +#if ENABLE_MOVE_MIN_THRESHOLD + if ((m_hover_volume_id == -1) && m_mouse.is_start_position_3D_defined()) +#else if (m_mouse.is_start_position_3D_defined()) +#endif // ENABLE_MOVE_MIN_THRESHOLD { const Vec3d& orig = m_mouse.drag.start_position_3D; m_camera.phi += (((float)pos(0) - (float)orig(0)) * TRACKBALLSIZE); diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index f00c2b64985..f1ccdf54be4 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -347,10 +347,17 @@ class GLCanvas3D { static const Point Invalid_2D_Point; static const Vec3d Invalid_3D_Point; +#if ENABLE_MOVE_MIN_THRESHOLD + static const int MoveThresholdPx; +#endif // ENABLE_MOVE_MIN_THRESHOLD Point start_position_2D; Vec3d start_position_3D; int move_volume_idx; +#if ENABLE_MOVE_MIN_THRESHOLD + bool move_requires_threshold; + Point move_start_threshold_position_2D; +#endif // ENABLE_MOVE_MIN_THRESHOLD public: Drag(); @@ -365,11 +372,21 @@ class GLCanvas3D Mouse(); - void set_start_position_2D_as_invalid(); - void set_start_position_3D_as_invalid(); - - bool is_start_position_2D_defined() const; - bool is_start_position_3D_defined() const; + void set_start_position_2D_as_invalid() { drag.start_position_2D = Drag::Invalid_2D_Point; } + void set_start_position_3D_as_invalid() { drag.start_position_3D = Drag::Invalid_3D_Point; } +#if ENABLE_MOVE_MIN_THRESHOLD + void set_move_start_threshold_position_2D_as_invalid() { drag.move_start_threshold_position_2D = Drag::Invalid_2D_Point; } +#endif // ENABLE_MOVE_MIN_THRESHOLD + + bool is_start_position_2D_defined() const { return (drag.start_position_2D != Drag::Invalid_2D_Point); } + bool is_start_position_3D_defined() const { return (drag.start_position_3D != Drag::Invalid_3D_Point); } +#if ENABLE_MOVE_MIN_THRESHOLD + bool is_move_start_threshold_position_2D_defined() const { return (drag.move_start_threshold_position_2D != Drag::Invalid_2D_Point); } + bool is_move_threshold_met(const Point& mouse_pos) const { + return (std::abs(mouse_pos(0) - drag.move_start_threshold_position_2D(0)) > Drag::MoveThresholdPx) + || (std::abs(mouse_pos(1) - drag.move_start_threshold_position_2D(1)) > Drag::MoveThresholdPx); + } +#endif // ENABLE_MOVE_MIN_THRESHOLD }; public: From 8696c70af4eec17377ed2c14cd0e41b561fb551f Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 14 Jan 2019 10:27:28 +0100 Subject: [PATCH 083/189] Upgraded the bundled Eigen to 3.7 --- src/eigen/Eigen/Core | 4 +- src/eigen/Eigen/src/Cholesky/LDLT.h | 3 +- src/eigen/Eigen/src/Core/Array.h | 2 - src/eigen/Eigen/src/Core/ConditionEstimator.h | 2 +- src/eigen/Eigen/src/Core/MapBase.h | 6 +- src/eigen/Eigen/src/Core/MathFunctions.h | 36 ++-- src/eigen/Eigen/src/Core/Matrix.h | 2 - src/eigen/Eigen/src/Core/MatrixBase.h | 26 ++- src/eigen/Eigen/src/Core/SolveTriangular.h | 3 + .../Eigen/src/Core/arch/AVX/PacketMath.h | 13 +- .../Eigen/src/Core/arch/AVX512/PacketMath.h | 6 +- src/eigen/Eigen/src/Core/arch/CUDA/Half.h | 193 ++++++++++-------- .../Eigen/src/Core/arch/CUDA/PacketMathHalf.h | 3 +- .../Eigen/src/Core/arch/SSE/PacketMath.h | 2 +- .../Core/products/GeneralBlockPanelKernel.h | 15 +- .../GeneralMatrixMatrixTriangular_BLAS.h | 2 +- .../src/Core/util/DisableStupidWarnings.h | 14 +- src/eigen/Eigen/src/Core/util/Macros.h | 2 +- src/eigen/Eigen/src/Core/util/Memory.h | 10 +- src/eigen/Eigen/src/Core/util/Meta.h | 22 ++ .../src/Core/util/ReenableStupidWarnings.h | 2 +- .../src/Eigenvalues/MatrixBaseEigenvalues.h | 2 - .../ConjugateGradient.h | 5 +- src/eigen/Eigen/src/Jacobi/Jacobi.h | 13 +- src/eigen/Eigen/src/SVD/SVDBase.h | 4 +- src/eigen/Eigen/src/SparseCore/SparseMatrix.h | 6 +- src/eigen/Eigen/src/SparseLU/SparseLU.h | 2 - .../Eigen/src/SparseLU/SparseLU_panel_bmod.h | 2 +- .../Eigen/src/SuperLUSupport/SuperLUSupport.h | 4 +- src/eigen/README.md | 7 +- .../Eigen/src/SparseExtra/BlockSparseMatrix.h | 2 +- .../src/SparseExtra/DynamicSparseMatrix.h | 14 +- .../Eigen/src/SparseExtra/MarketIO.h | 18 +- 33 files changed, 273 insertions(+), 174 deletions(-) diff --git a/src/eigen/Eigen/Core b/src/eigen/Eigen/Core index 4d4901e0308..b923b8c000c 100644 --- a/src/eigen/Eigen/Core +++ b/src/eigen/Eigen/Core @@ -53,9 +53,9 @@ #endif #define EIGEN_DEVICE_FUNC __host__ __device__ - // We need math_functions.hpp to ensure that that EIGEN_USING_STD_MATH macro + // We need cuda_runtime.h to ensure that that EIGEN_USING_STD_MATH macro // works properly on the device side - #include + #include #else #define EIGEN_DEVICE_FUNC #endif diff --git a/src/eigen/Eigen/src/Cholesky/LDLT.h b/src/eigen/Eigen/src/Cholesky/LDLT.h index 0313a54bf3f..15ccf24f144 100644 --- a/src/eigen/Eigen/src/Cholesky/LDLT.h +++ b/src/eigen/Eigen/src/Cholesky/LDLT.h @@ -305,7 +305,8 @@ template<> struct ldlt_inplace if (size <= 1) { transpositions.setIdentity(); - if (numext::real(mat.coeff(0,0)) > static_cast(0) ) sign = PositiveSemiDef; + if(size==0) sign = ZeroSign; + else if (numext::real(mat.coeff(0,0)) > static_cast(0) ) sign = PositiveSemiDef; else if (numext::real(mat.coeff(0,0)) < static_cast(0)) sign = NegativeSemiDef; else sign = ZeroSign; return true; diff --git a/src/eigen/Eigen/src/Core/Array.h b/src/eigen/Eigen/src/Core/Array.h index e10020d4fd2..16770fc7b3a 100644 --- a/src/eigen/Eigen/src/Core/Array.h +++ b/src/eigen/Eigen/src/Core/Array.h @@ -153,8 +153,6 @@ class Array : Base(std::move(other)) { Base::_check_template_params(); - if (RowsAtCompileTime!=Dynamic && ColsAtCompileTime!=Dynamic) - Base::_set_noalias(other); } EIGEN_DEVICE_FUNC Array& operator=(Array&& other) EIGEN_NOEXCEPT_IF(std::is_nothrow_move_assignable::value) diff --git a/src/eigen/Eigen/src/Core/ConditionEstimator.h b/src/eigen/Eigen/src/Core/ConditionEstimator.h index aa7efdc7657..51a2e5f1b6f 100644 --- a/src/eigen/Eigen/src/Core/ConditionEstimator.h +++ b/src/eigen/Eigen/src/Core/ConditionEstimator.h @@ -160,7 +160,7 @@ rcond_estimate_helper(typename Decomposition::RealScalar matrix_norm, const Deco { typedef typename Decomposition::RealScalar RealScalar; eigen_assert(dec.rows() == dec.cols()); - if (dec.rows() == 0) return RealScalar(1); + if (dec.rows() == 0) return NumTraits::infinity(); if (matrix_norm == RealScalar(0)) return RealScalar(0); if (dec.rows() == 1) return RealScalar(1); const RealScalar inverse_matrix_norm = rcond_invmatrix_L1_norm_estimate(dec); diff --git a/src/eigen/Eigen/src/Core/MapBase.h b/src/eigen/Eigen/src/Core/MapBase.h index 020f939ad6e..668922ffccb 100644 --- a/src/eigen/Eigen/src/Core/MapBase.h +++ b/src/eigen/Eigen/src/Core/MapBase.h @@ -43,6 +43,7 @@ template class MapBase enum { RowsAtCompileTime = internal::traits::RowsAtCompileTime, ColsAtCompileTime = internal::traits::ColsAtCompileTime, + InnerStrideAtCompileTime = internal::traits::InnerStrideAtCompileTime, SizeAtCompileTime = Base::SizeAtCompileTime }; @@ -187,8 +188,11 @@ template class MapBase void checkSanity(typename internal::enable_if<(internal::traits::Alignment>0),void*>::type = 0) const { #if EIGEN_MAX_ALIGN_BYTES>0 + // innerStride() is not set yet when this function is called, so we optimistically assume the lowest plausible value: + const Index minInnerStride = InnerStrideAtCompileTime == Dynamic ? 1 : Index(InnerStrideAtCompileTime); + EIGEN_ONLY_USED_FOR_DEBUG(minInnerStride); eigen_assert(( ((internal::UIntPtr(m_data) % internal::traits::Alignment) == 0) - || (cols() * rows() * innerStride() * sizeof(Scalar)) < internal::traits::Alignment ) && "data is not aligned"); + || (cols() * rows() * minInnerStride * sizeof(Scalar)) < internal::traits::Alignment ) && "data is not aligned"); #endif } diff --git a/src/eigen/Eigen/src/Core/MathFunctions.h b/src/eigen/Eigen/src/Core/MathFunctions.h index 6eb974d41da..b249ce0c8b0 100644 --- a/src/eigen/Eigen/src/Core/MathFunctions.h +++ b/src/eigen/Eigen/src/Core/MathFunctions.h @@ -616,21 +616,28 @@ template struct random_default_impl { static inline Scalar run(const Scalar& x, const Scalar& y) - { - typedef typename conditional::IsSigned,std::ptrdiff_t,std::size_t>::type ScalarX; - if(y=x the result converted to an unsigned long is still correct. - std::size_t range = ScalarX(y)-ScalarX(x); - std::size_t offset = 0; - // rejection sampling - std::size_t divisor = 1; - std::size_t multiplier = 1; - if(range::type ScalarU; + // ScalarX is the widest of ScalarU and unsigned int. + // We'll deal only with ScalarX and unsigned int below thus avoiding signed + // types and arithmetic and signed overflows (which are undefined behavior). + typedef typename conditional<(ScalarU(-1) > unsigned(-1)), ScalarU, unsigned>::type ScalarX; + // The following difference doesn't overflow, provided our integer types are two's + // complement and have the same number of padding bits in signed and unsigned variants. + // This is the case in most modern implementations of C++. + ScalarX range = ScalarX(y) - ScalarX(x); + ScalarX offset = 0; + ScalarX divisor = 1; + ScalarX multiplier = 1; + const unsigned rand_max = RAND_MAX; + if (range <= rand_max) divisor = (rand_max + 1) / (range + 1); + else multiplier = 1 + range / (rand_max + 1); + // Rejection sampling. do { - offset = (std::size_t(std::rand()) * multiplier) / divisor; + offset = (unsigned(std::rand()) * multiplier) / divisor; } while (offset > range); return Scalar(ScalarX(x) + offset); } @@ -1006,7 +1013,8 @@ inline int log2(int x) /** \returns the square root of \a x. * - * It is essentially equivalent to \code using std::sqrt; return sqrt(x); \endcode, + * It is essentially equivalent to + * \code using std::sqrt; return sqrt(x); \endcode * but slightly faster for float/double and some compilers (e.g., gcc), thanks to * specializations when SSE is enabled. * diff --git a/src/eigen/Eigen/src/Core/Matrix.h b/src/eigen/Eigen/src/Core/Matrix.h index 90c336d8cad..7f4a7af93c6 100644 --- a/src/eigen/Eigen/src/Core/Matrix.h +++ b/src/eigen/Eigen/src/Core/Matrix.h @@ -274,8 +274,6 @@ class Matrix : Base(std::move(other)) { Base::_check_template_params(); - if (RowsAtCompileTime!=Dynamic && ColsAtCompileTime!=Dynamic) - Base::_set_noalias(other); } EIGEN_DEVICE_FUNC Matrix& operator=(Matrix&& other) EIGEN_NOEXCEPT_IF(std::is_nothrow_move_assignable::value) diff --git a/src/eigen/Eigen/src/Core/MatrixBase.h b/src/eigen/Eigen/src/Core/MatrixBase.h index 05db488131c..e6c35907c39 100644 --- a/src/eigen/Eigen/src/Core/MatrixBase.h +++ b/src/eigen/Eigen/src/Core/MatrixBase.h @@ -444,16 +444,24 @@ template class MatrixBase ///////// MatrixFunctions module ///////// typedef typename internal::stem_function::type StemFunction; - const MatrixExponentialReturnValue exp() const; +#define EIGEN_MATRIX_FUNCTION(ReturnType, Name, Description) \ + /** \returns an expression of the matrix Description of \c *this. \brief This function requires the unsupported MatrixFunctions module. To compute the coefficient-wise Description use ArrayBase::##Name . */ \ + const ReturnType Name() const; +#define EIGEN_MATRIX_FUNCTION_1(ReturnType, Name, Description, Argument) \ + /** \returns an expression of the matrix Description of \c *this. \brief This function requires the unsupported MatrixFunctions module. To compute the coefficient-wise Description use ArrayBase::##Name . */ \ + const ReturnType Name(Argument) const; + + EIGEN_MATRIX_FUNCTION(MatrixExponentialReturnValue, exp, exponential) + /** \brief Helper function for the unsupported MatrixFunctions module.*/ const MatrixFunctionReturnValue matrixFunction(StemFunction f) const; - const MatrixFunctionReturnValue cosh() const; - const MatrixFunctionReturnValue sinh() const; - const MatrixFunctionReturnValue cos() const; - const MatrixFunctionReturnValue sin() const; - const MatrixSquareRootReturnValue sqrt() const; - const MatrixLogarithmReturnValue log() const; - const MatrixPowerReturnValue pow(const RealScalar& p) const; - const MatrixComplexPowerReturnValue pow(const std::complex& p) const; + EIGEN_MATRIX_FUNCTION(MatrixFunctionReturnValue, cosh, hyperbolic cosine) + EIGEN_MATRIX_FUNCTION(MatrixFunctionReturnValue, sinh, hyperbolic sine) + EIGEN_MATRIX_FUNCTION(MatrixFunctionReturnValue, cos, cosine) + EIGEN_MATRIX_FUNCTION(MatrixFunctionReturnValue, sin, sine) + EIGEN_MATRIX_FUNCTION(MatrixSquareRootReturnValue, sqrt, square root) + EIGEN_MATRIX_FUNCTION(MatrixLogarithmReturnValue, log, logarithm) + EIGEN_MATRIX_FUNCTION_1(MatrixPowerReturnValue, pow, power to \c p, const RealScalar& p) + EIGEN_MATRIX_FUNCTION_1(MatrixComplexPowerReturnValue, pow, power to \c p, const std::complex& p) protected: EIGEN_DEVICE_FUNC MatrixBase() : Base() {} diff --git a/src/eigen/Eigen/src/Core/SolveTriangular.h b/src/eigen/Eigen/src/Core/SolveTriangular.h index 049890b2507..4652e2e19ff 100644 --- a/src/eigen/Eigen/src/Core/SolveTriangular.h +++ b/src/eigen/Eigen/src/Core/SolveTriangular.h @@ -169,6 +169,9 @@ void TriangularViewImpl::solveInPlace(const MatrixBase::Flags & RowMajorBit) && OtherDerived::IsVectorAtCompileTime && OtherDerived::SizeAtCompileTime!=1}; typedef typename internal::conditional EIGEN_STRONG_INLINE Packet8i pdiv(const Packet8i& /*a*/, co #ifdef __FMA__ template<> EIGEN_STRONG_INLINE Packet8f pmadd(const Packet8f& a, const Packet8f& b, const Packet8f& c) { -#if ( EIGEN_COMP_GNUC_STRICT || (EIGEN_COMP_CLANG && (EIGEN_COMP_CLANG<308)) ) - // clang stupidly generates a vfmadd213ps instruction plus some vmovaps on registers, - // and gcc stupidly generates a vfmadd132ps instruction, - // so let's enforce it to generate a vfmadd231ps instruction since the most common use case is to accumulate - // the result of the product. +#if ( (EIGEN_COMP_GNUC_STRICT && EIGEN_COMP_GNUC<80) || (EIGEN_COMP_CLANG) ) + // Clang stupidly generates a vfmadd213ps instruction plus some vmovaps on registers, + // and even register spilling with clang>=6.0 (bug 1637). + // Gcc stupidly generates a vfmadd132ps instruction. + // So let's enforce it to generate a vfmadd231ps instruction since the most common use + // case is to accumulate the result of the product. Packet8f res = c; __asm__("vfmadd231ps %[a], %[b], %[c]" : [c] "+x" (res) : [a] "x" (a), [b] "x" (b)); return res; @@ -172,7 +173,7 @@ template<> EIGEN_STRONG_INLINE Packet8f pmadd(const Packet8f& a, const Packet8f& #endif } template<> EIGEN_STRONG_INLINE Packet4d pmadd(const Packet4d& a, const Packet4d& b, const Packet4d& c) { -#if ( EIGEN_COMP_GNUC_STRICT || (EIGEN_COMP_CLANG && (EIGEN_COMP_CLANG<308)) ) +#if ( (EIGEN_COMP_GNUC_STRICT && EIGEN_COMP_GNUC<80) || (EIGEN_COMP_CLANG) ) // see above Packet4d res = c; __asm__("vfmadd231pd %[a], %[b], %[c]" : [c] "+x" (res) : [a] "x" (a), [b] "x" (b)); diff --git a/src/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h b/src/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h index 89705248aa2..5adddc7aec4 100644 --- a/src/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +++ b/src/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h @@ -648,13 +648,13 @@ template<> EIGEN_STRONG_INLINE Packet8d preverse(const Packet8d& a) template<> EIGEN_STRONG_INLINE Packet16f pabs(const Packet16f& a) { // _mm512_abs_ps intrinsic not found, so hack around it - return (__m512)_mm512_and_si512((__m512i)a, _mm512_set1_epi32(0x7fffffff)); + return _mm512_castsi512_ps(_mm512_and_si512(_mm512_castps_si512(a), _mm512_set1_epi32(0x7fffffff))); } template <> EIGEN_STRONG_INLINE Packet8d pabs(const Packet8d& a) { // _mm512_abs_ps intrinsic not found, so hack around it - return (__m512d)_mm512_and_si512((__m512i)a, - _mm512_set1_epi64(0x7fffffffffffffff)); + return _mm512_castsi512_pd(_mm512_and_si512(_mm512_castpd_si512(a), + _mm512_set1_epi64(0x7fffffffffffffff))); } #ifdef EIGEN_VECTORIZE_AVX512DQ diff --git a/src/eigen/Eigen/src/Core/arch/CUDA/Half.h b/src/eigen/Eigen/src/Core/arch/CUDA/Half.h index 02ac0c23a41..755e6209d1e 100644 --- a/src/eigen/Eigen/src/Core/arch/CUDA/Half.h +++ b/src/eigen/Eigen/src/Core/arch/CUDA/Half.h @@ -29,7 +29,7 @@ // type Eigen::half (inheriting from CUDA's __half struct) with // operator overloads such that it behaves basically as an arithmetic // type. It will be quite slow on CPUs (so it is recommended to stay -// in fp32 for CPUs, except for simple parameter conversions, I/O +// in float32_bits for CPUs, except for simple parameter conversions, I/O // to disk and the likes), but fast on GPUs. @@ -50,38 +50,45 @@ struct half; namespace half_impl { #if !defined(EIGEN_HAS_CUDA_FP16) - -// Make our own __half definition that is similar to CUDA's. -struct __half { - EIGEN_DEVICE_FUNC __half() {} - explicit EIGEN_DEVICE_FUNC __half(unsigned short raw) : x(raw) {} +// Make our own __half_raw definition that is similar to CUDA's. +struct __half_raw { + EIGEN_DEVICE_FUNC __half_raw() : x(0) {} + explicit EIGEN_DEVICE_FUNC __half_raw(unsigned short raw) : x(raw) {} unsigned short x; }; - +#elif defined(EIGEN_CUDACC_VER) && EIGEN_CUDACC_VER < 90000 +// In CUDA < 9.0, __half is the equivalent of CUDA 9's __half_raw +typedef __half __half_raw; #endif -EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __half raw_uint16_to_half(unsigned short x); -EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __half float_to_half_rtne(float ff); -EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC float half_to_float(__half h); +EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __half_raw raw_uint16_to_half(unsigned short x); +EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __half_raw float_to_half_rtne(float ff); +EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC float half_to_float(__half_raw h); -struct half_base : public __half { +struct half_base : public __half_raw { EIGEN_DEVICE_FUNC half_base() {} - EIGEN_DEVICE_FUNC half_base(const half_base& h) : __half(h) {} - EIGEN_DEVICE_FUNC half_base(const __half& h) : __half(h) {} + EIGEN_DEVICE_FUNC half_base(const half_base& h) : __half_raw(h) {} + EIGEN_DEVICE_FUNC half_base(const __half_raw& h) : __half_raw(h) {} +#if defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDACC_VER) && EIGEN_CUDACC_VER >= 90000 + EIGEN_DEVICE_FUNC half_base(const __half& h) : __half_raw(*(__half_raw*)&h) {} +#endif }; } // namespace half_impl // Class definition. struct half : public half_impl::half_base { - #if !defined(EIGEN_HAS_CUDA_FP16) - typedef half_impl::__half __half; + #if !defined(EIGEN_HAS_CUDA_FP16) || (defined(EIGEN_CUDACC_VER) && EIGEN_CUDACC_VER < 90000) + typedef half_impl::__half_raw __half_raw; #endif EIGEN_DEVICE_FUNC half() {} - EIGEN_DEVICE_FUNC half(const __half& h) : half_impl::half_base(h) {} + EIGEN_DEVICE_FUNC half(const __half_raw& h) : half_impl::half_base(h) {} EIGEN_DEVICE_FUNC half(const half& h) : half_impl::half_base(h) {} +#if defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDACC_VER) && EIGEN_CUDACC_VER >= 90000 + EIGEN_DEVICE_FUNC half(const __half& h) : half_impl::half_base(h) {} +#endif explicit EIGEN_DEVICE_FUNC half(bool b) : half_impl::half_base(half_impl::raw_uint16_to_half(b ? 0x3c00 : 0)) {} @@ -138,12 +145,66 @@ struct half : public half_impl::half_base { } }; +} // end namespace Eigen + +namespace std { +template<> +struct numeric_limits { + static const bool is_specialized = true; + static const bool is_signed = true; + static const bool is_integer = false; + static const bool is_exact = false; + static const bool has_infinity = true; + static const bool has_quiet_NaN = true; + static const bool has_signaling_NaN = true; + static const float_denorm_style has_denorm = denorm_present; + static const bool has_denorm_loss = false; + static const std::float_round_style round_style = std::round_to_nearest; + static const bool is_iec559 = false; + static const bool is_bounded = false; + static const bool is_modulo = false; + static const int digits = 11; + static const int digits10 = 3; // according to http://half.sourceforge.net/structstd_1_1numeric__limits_3_01half__float_1_1half_01_4.html + static const int max_digits10 = 5; // according to http://half.sourceforge.net/structstd_1_1numeric__limits_3_01half__float_1_1half_01_4.html + static const int radix = 2; + static const int min_exponent = -13; + static const int min_exponent10 = -4; + static const int max_exponent = 16; + static const int max_exponent10 = 4; + static const bool traps = true; + static const bool tinyness_before = false; + + static Eigen::half (min)() { return Eigen::half_impl::raw_uint16_to_half(0x400); } + static Eigen::half lowest() { return Eigen::half_impl::raw_uint16_to_half(0xfbff); } + static Eigen::half (max)() { return Eigen::half_impl::raw_uint16_to_half(0x7bff); } + static Eigen::half epsilon() { return Eigen::half_impl::raw_uint16_to_half(0x0800); } + static Eigen::half round_error() { return Eigen::half(0.5); } + static Eigen::half infinity() { return Eigen::half_impl::raw_uint16_to_half(0x7c00); } + static Eigen::half quiet_NaN() { return Eigen::half_impl::raw_uint16_to_half(0x7e00); } + static Eigen::half signaling_NaN() { return Eigen::half_impl::raw_uint16_to_half(0x7e00); } + static Eigen::half denorm_min() { return Eigen::half_impl::raw_uint16_to_half(0x1); } +}; + +// If std::numeric_limits is specialized, should also specialize +// std::numeric_limits, std::numeric_limits, and +// std::numeric_limits +// https://stackoverflow.com/a/16519653/ +template<> +struct numeric_limits : numeric_limits {}; +template<> +struct numeric_limits : numeric_limits {}; +template<> +struct numeric_limits : numeric_limits {}; +} // end namespace std + +namespace Eigen { + namespace half_impl { -#if defined(EIGEN_HAS_CUDA_FP16) && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 530 +#if defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 530 // Intrinsics for native fp16 support. Note that on current hardware, -// these are no faster than fp32 arithmetic (you need to use the half2 +// these are no faster than float32_bits arithmetic (you need to use the half2 // versions to get the ALU speed increased), but you do save the // conversion steps back and forth. @@ -202,7 +263,7 @@ EIGEN_STRONG_INLINE __device__ bool operator >= (const half& a, const half& b) { #else // Emulate support for half floats // Definitions for CPUs and older CUDA, mostly working through conversion -// to/from fp32. +// to/from float32_bits. EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half operator + (const half& a, const half& b) { return half(float(a) + float(b)); @@ -269,34 +330,35 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half operator / (const half& a, Index b) { // these in hardware. If we need more performance on older/other CPUs, they are // also possible to vectorize directly. -EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __half raw_uint16_to_half(unsigned short x) { - __half h; +EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __half_raw raw_uint16_to_half(unsigned short x) { + __half_raw h; h.x = x; return h; } -union FP32 { +union float32_bits { unsigned int u; float f; }; -EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __half float_to_half_rtne(float ff) { -#if defined(EIGEN_HAS_CUDA_FP16) && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 300 - return __float2half(ff); +EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __half_raw float_to_half_rtne(float ff) { +#if defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 300 + __half tmp_ff = __float2half(ff); + return *(__half_raw*)&tmp_ff; #elif defined(EIGEN_HAS_FP16_C) - __half h; + __half_raw h; h.x = _cvtss_sh(ff, 0); return h; #else - FP32 f; f.f = ff; + float32_bits f; f.f = ff; - const FP32 f32infty = { 255 << 23 }; - const FP32 f16max = { (127 + 16) << 23 }; - const FP32 denorm_magic = { ((127 - 15) + (23 - 10) + 1) << 23 }; + const float32_bits f32infty = { 255 << 23 }; + const float32_bits f16max = { (127 + 16) << 23 }; + const float32_bits denorm_magic = { ((127 - 15) + (23 - 10) + 1) << 23 }; unsigned int sign_mask = 0x80000000u; - __half o; + __half_raw o; o.x = static_cast(0x0u); unsigned int sign = f.u & sign_mask; @@ -335,17 +397,17 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __half float_to_half_rtne(float ff) { #endif } -EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC float half_to_float(__half h) { -#if defined(EIGEN_HAS_CUDA_FP16) && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 300 +EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC float half_to_float(__half_raw h) { +#if defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 300 return __half2float(h); #elif defined(EIGEN_HAS_FP16_C) return _cvtsh_ss(h.x); #else - const FP32 magic = { 113 << 23 }; + const float32_bits magic = { 113 << 23 }; const unsigned int shifted_exp = 0x7c00 << 13; // exponent mask after shift - FP32 o; + float32_bits o; o.u = (h.x & 0x7fff) << 13; // exponent/mantissa bits unsigned int exp = shifted_exp & o.u; // just the exponent @@ -370,7 +432,7 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool (isinf)(const half& a) { return (a.x & 0x7fff) == 0x7c00; } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool (isnan)(const half& a) { -#if defined(EIGEN_HAS_CUDA_FP16) && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 530 +#if defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 530 return __hisnan(a); #else return (a.x & 0x7fff) > 0x7c00; @@ -443,7 +505,7 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half ceil(const half& a) { } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half (min)(const half& a, const half& b) { -#if defined(EIGEN_HAS_CUDA_FP16) && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 530 +#if defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 530 return __hlt(b, a) ? b : a; #else const float f1 = static_cast(a); @@ -452,7 +514,7 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half (min)(const half& a, const half& b) { #endif } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half (max)(const half& a, const half& b) { -#if defined(EIGEN_HAS_CUDA_FP16) && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 530 +#if defined(EIGEN_HAS_CUDA_FP16) && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 530 return __hlt(a, b) ? b : a; #else const float f1 = static_cast(a); @@ -490,49 +552,6 @@ template<> struct is_arithmetic { enum { value = true }; }; } // end namespace internal -} // end namespace Eigen - -namespace std { -template<> -struct numeric_limits { - static const bool is_specialized = true; - static const bool is_signed = true; - static const bool is_integer = false; - static const bool is_exact = false; - static const bool has_infinity = true; - static const bool has_quiet_NaN = true; - static const bool has_signaling_NaN = true; - static const float_denorm_style has_denorm = denorm_present; - static const bool has_denorm_loss = false; - static const std::float_round_style round_style = std::round_to_nearest; - static const bool is_iec559 = false; - static const bool is_bounded = false; - static const bool is_modulo = false; - static const int digits = 11; - static const int digits10 = 3; // according to http://half.sourceforge.net/structstd_1_1numeric__limits_3_01half__float_1_1half_01_4.html - static const int max_digits10 = 5; // according to http://half.sourceforge.net/structstd_1_1numeric__limits_3_01half__float_1_1half_01_4.html - static const int radix = 2; - static const int min_exponent = -13; - static const int min_exponent10 = -4; - static const int max_exponent = 16; - static const int max_exponent10 = 4; - static const bool traps = true; - static const bool tinyness_before = false; - - static Eigen::half (min)() { return Eigen::half_impl::raw_uint16_to_half(0x400); } - static Eigen::half lowest() { return Eigen::half_impl::raw_uint16_to_half(0xfbff); } - static Eigen::half (max)() { return Eigen::half_impl::raw_uint16_to_half(0x7bff); } - static Eigen::half epsilon() { return Eigen::half_impl::raw_uint16_to_half(0x0800); } - static Eigen::half round_error() { return Eigen::half(0.5); } - static Eigen::half infinity() { return Eigen::half_impl::raw_uint16_to_half(0x7c00); } - static Eigen::half quiet_NaN() { return Eigen::half_impl::raw_uint16_to_half(0x7e00); } - static Eigen::half signaling_NaN() { return Eigen::half_impl::raw_uint16_to_half(0x7e00); } - static Eigen::half denorm_min() { return Eigen::half_impl::raw_uint16_to_half(0x1); } -}; -} - -namespace Eigen { - template<> struct NumTraits : GenericNumTraits { @@ -607,14 +626,18 @@ struct hash { // Add the missing shfl_xor intrinsic -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 300 +#if defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 300 __device__ EIGEN_STRONG_INLINE Eigen::half __shfl_xor(Eigen::half var, int laneMask, int width=warpSize) { + #if EIGEN_CUDACC_VER < 90000 return static_cast(__shfl_xor(static_cast(var), laneMask, width)); + #else + return static_cast(__shfl_xor_sync(0xFFFFFFFF, static_cast(var), laneMask, width)); + #endif } #endif -// ldg() has an overload for __half, but we also need one for Eigen::half. -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 350 +// ldg() has an overload for __half_raw, but we also need one for Eigen::half. +#if defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 350 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half __ldg(const Eigen::half* ptr) { return Eigen::half_impl::raw_uint16_to_half( __ldg(reinterpret_cast(ptr))); @@ -622,7 +645,7 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half __ldg(const Eigen::half* ptr) #endif -#if defined(__CUDA_ARCH__) +#if defined(EIGEN_CUDA_ARCH) namespace Eigen { namespace numext { diff --git a/src/eigen/Eigen/src/Core/arch/CUDA/PacketMathHalf.h b/src/eigen/Eigen/src/Core/arch/CUDA/PacketMathHalf.h index 943e0b06d79..c66d38469f8 100644 --- a/src/eigen/Eigen/src/Core/arch/CUDA/PacketMathHalf.h +++ b/src/eigen/Eigen/src/Core/arch/CUDA/PacketMathHalf.h @@ -99,7 +99,8 @@ template<> __device__ EIGEN_STRONG_INLINE Eigen::half pfirst(const half2& template<> __device__ EIGEN_STRONG_INLINE half2 pabs(const half2& a) { half2 result; - result.x = a.x & 0x7FFF7FFF; + unsigned temp = *(reinterpret_cast(&(a))); + *(reinterpret_cast(&(result))) = temp & 0x7FFF7FFF; return result; } diff --git a/src/eigen/Eigen/src/Core/arch/SSE/PacketMath.h b/src/eigen/Eigen/src/Core/arch/SSE/PacketMath.h index 5e652cc7909..60e2517e4bd 100644 --- a/src/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +++ b/src/eigen/Eigen/src/Core/arch/SSE/PacketMath.h @@ -28,7 +28,7 @@ namespace internal { #endif #endif -#if (defined EIGEN_VECTORIZE_AVX) && (EIGEN_COMP_GNUC_STRICT || EIGEN_COMP_MINGW) && (__GXX_ABI_VERSION < 1004) +#if ((defined EIGEN_VECTORIZE_AVX) && (EIGEN_COMP_GNUC_STRICT || EIGEN_COMP_MINGW) && (__GXX_ABI_VERSION < 1004)) || EIGEN_OS_QNX // With GCC's default ABI version, a __m128 or __m256 are the same types and therefore we cannot // have overloads for both types without linking error. // One solution is to increase ABI version using -fabi-version=4 (or greater). diff --git a/src/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h b/src/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h index 45230bce5e1..e3980f6ffd4 100644 --- a/src/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +++ b/src/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h @@ -1197,10 +1197,16 @@ void gebp_kernel=6 without FMA (bug 1637) + #if EIGEN_GNUC_AT_LEAST(6,0) && defined(EIGEN_VECTORIZE_SSE) + #define EIGEN_GEBP_2PX4_SPILLING_WORKAROUND __asm__ ("" : [a0] "+x,m" (A0),[a1] "+x,m" (A1)); + #else + #define EIGEN_GEBP_2PX4_SPILLING_WORKAROUND + #endif + #define EIGEN_GEBGP_ONESTEP(K) \ do { \ EIGEN_ASM_COMMENT("begin step of gebp micro kernel 2pX4"); \ - EIGEN_ASM_COMMENT("Note: these asm comments work around bug 935!"); \ traits.loadLhs(&blA[(0+2*K)*LhsProgress], A0); \ traits.loadLhs(&blA[(1+2*K)*LhsProgress], A1); \ traits.broadcastRhs(&blB[(0+4*K)*RhsProgress], B_0, B1, B2, B3); \ @@ -1212,6 +1218,7 @@ void gebp_kernel::half SResPacketHalf; + const int SResPacketHalfSize = unpacket_traits::half>::size; if ((SwappedTraits::LhsProgress % 4) == 0 && (SwappedTraits::LhsProgress <= 8) && - (SwappedTraits::LhsProgress!=8 || unpacket_traits::size==nr)) + (SwappedTraits::LhsProgress!=8 || SResPacketHalfSize==nr)) { SAccPacket C0, C1, C2, C3; straits.initAcc(C0); diff --git a/src/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h b/src/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h index 9176a138265..f6f9ebecae7 100644 --- a/src/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +++ b/src/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h @@ -52,7 +52,7 @@ struct general_matrix_matrix_triangular_product& blocking) \ { \ - if ( lhs==rhs && ((UpLo&(Lower|Upper)==UpLo)) ) { \ + if ( lhs==rhs && ((UpLo&(Lower|Upper))==UpLo) ) { \ general_matrix_matrix_rankupdate \ ::run(size,depth,lhs,lhsStride,rhs,rhsStride,res,resStride,alpha,blocking); \ } else { \ diff --git a/src/eigen/Eigen/src/Core/util/DisableStupidWarnings.h b/src/eigen/Eigen/src/Core/util/DisableStupidWarnings.h index 7559e129c25..351bd6c6000 100644 --- a/src/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +++ b/src/eigen/Eigen/src/Core/util/DisableStupidWarnings.h @@ -43,12 +43,20 @@ #endif #pragma clang diagnostic ignored "-Wconstant-logical-operand" -#elif defined __GNUC__ && __GNUC__>=6 +#elif defined __GNUC__ - #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS + #if (!defined(EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS)) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) #pragma GCC diagnostic push #endif - #pragma GCC diagnostic ignored "-Wignored-attributes" + // g++ warns about local variables shadowing member functions, which is too strict + #pragma GCC diagnostic ignored "-Wshadow" + #if __GNUC__ == 4 && __GNUC_MINOR__ < 8 + // Until g++-4.7 there are warnings when comparing unsigned int vs 0, even in templated functions: + #pragma GCC diagnostic ignored "-Wtype-limits" + #endif + #if __GNUC__>=6 + #pragma GCC diagnostic ignored "-Wignored-attributes" + #endif #endif diff --git a/src/eigen/Eigen/src/Core/util/Macros.h b/src/eigen/Eigen/src/Core/util/Macros.h index 02d21d2cdd4..aa054a0b7ff 100644 --- a/src/eigen/Eigen/src/Core/util/Macros.h +++ b/src/eigen/Eigen/src/Core/util/Macros.h @@ -13,7 +13,7 @@ #define EIGEN_WORLD_VERSION 3 #define EIGEN_MAJOR_VERSION 3 -#define EIGEN_MINOR_VERSION 5 +#define EIGEN_MINOR_VERSION 7 #define EIGEN_VERSION_AT_LEAST(x,y,z) (EIGEN_WORLD_VERSION>x || (EIGEN_WORLD_VERSION>=x && \ (EIGEN_MAJOR_VERSION>y || (EIGEN_MAJOR_VERSION>=y && \ diff --git a/src/eigen/Eigen/src/Core/util/Memory.h b/src/eigen/Eigen/src/Core/util/Memory.h index 66cdbd8dd5e..291383c581a 100644 --- a/src/eigen/Eigen/src/Core/util/Memory.h +++ b/src/eigen/Eigen/src/Core/util/Memory.h @@ -747,7 +747,15 @@ class aligned_allocator : public std::allocator pointer allocate(size_type num, const void* /*hint*/ = 0) { internal::check_size_for_overflow(num); - return static_cast( internal::aligned_malloc(num * sizeof(T)) ); + size_type size = num * sizeof(T); +#if EIGEN_COMP_GNUC_STRICT && EIGEN_GNUC_AT_LEAST(7,0) + // workaround gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87544 + // It triggered eigen/Eigen/src/Core/util/Memory.h:189:12: warning: argument 1 value '18446744073709551612' exceeds maximum object size 9223372036854775807 + if(size>=std::size_t((std::numeric_limits::max)())) + return 0; + else +#endif + return static_cast( internal::aligned_malloc(size) ); } void deallocate(pointer p, size_type /*num*/) diff --git a/src/eigen/Eigen/src/Core/util/Meta.h b/src/eigen/Eigen/src/Core/util/Meta.h index 1d73f05d67e..d31e9541122 100644 --- a/src/eigen/Eigen/src/Core/util/Meta.h +++ b/src/eigen/Eigen/src/Core/util/Meta.h @@ -109,6 +109,28 @@ template<> struct is_integral { enum { value = true }; }; template<> struct is_integral { enum { value = true }; }; template<> struct is_integral { enum { value = true }; }; +#if EIGEN_HAS_CXX11 +using std::make_unsigned; +#else +// TODO: Possibly improve this implementation of make_unsigned. +// It is currently used only by +// template struct random_default_impl. +template struct make_unsigned; +template<> struct make_unsigned { typedef unsigned char type; }; +template<> struct make_unsigned { typedef unsigned char type; }; +template<> struct make_unsigned { typedef unsigned char type; }; +template<> struct make_unsigned { typedef unsigned short type; }; +template<> struct make_unsigned { typedef unsigned short type; }; +template<> struct make_unsigned { typedef unsigned int type; }; +template<> struct make_unsigned { typedef unsigned int type; }; +template<> struct make_unsigned { typedef unsigned long type; }; +template<> struct make_unsigned { typedef unsigned long type; }; +#if EIGEN_COMP_MSVC +template<> struct make_unsigned { typedef unsigned __int64 type; }; +template<> struct make_unsigned { typedef unsigned __int64 type; }; +#endif +#endif + template struct add_const { typedef const T type; }; template struct add_const { typedef T& type; }; diff --git a/src/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h b/src/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h index 86b60f52f7e..ecc82b7c8df 100644 --- a/src/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +++ b/src/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h @@ -8,7 +8,7 @@ #pragma warning pop #elif defined __clang__ #pragma clang diagnostic pop - #elif defined __GNUC__ && __GNUC__>=6 + #elif defined __GNUC__ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) #pragma GCC diagnostic pop #endif diff --git a/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h b/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h index 4fec8af0a3e..e4e42607113 100644 --- a/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +++ b/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h @@ -66,7 +66,6 @@ template inline typename MatrixBase::EigenvaluesReturnType MatrixBase::eigenvalues() const { - typedef typename internal::traits::Scalar Scalar; return internal::eigenvalues_selector::IsComplex>::run(derived()); } @@ -88,7 +87,6 @@ template inline typename SelfAdjointView::EigenvaluesReturnType SelfAdjointView::eigenvalues() const { - typedef typename SelfAdjointView::PlainObject PlainObject; PlainObject thisAsMatrix(*this); return SelfAdjointEigenSolver(thisAsMatrix, false).eigenvalues(); } diff --git a/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h b/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h index 395daa8e47a..f7ce471349a 100644 --- a/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +++ b/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h @@ -50,7 +50,8 @@ void conjugate_gradient(const MatrixType& mat, const Rhs& rhs, Dest& x, tol_error = 0; return; } - RealScalar threshold = tol*tol*rhsNorm2; + const RealScalar considerAsZero = (std::numeric_limits::min)(); + RealScalar threshold = numext::maxi(tol*tol*rhsNorm2,considerAsZero); RealScalar residualNorm2 = residual.squaredNorm(); if (residualNorm2 < threshold) { @@ -58,7 +59,7 @@ void conjugate_gradient(const MatrixType& mat, const Rhs& rhs, Dest& x, tol_error = sqrt(residualNorm2 / rhsNorm2); return; } - + VectorType p(n); p = precond.solve(residual); // initial search direction diff --git a/src/eigen/Eigen/src/Jacobi/Jacobi.h b/src/eigen/Eigen/src/Jacobi/Jacobi.h index 437e666a38f..1998c632274 100644 --- a/src/eigen/Eigen/src/Jacobi/Jacobi.h +++ b/src/eigen/Eigen/src/Jacobi/Jacobi.h @@ -65,11 +65,11 @@ template class JacobiRotation bool makeJacobi(const MatrixBase&, Index p, Index q); bool makeJacobi(const RealScalar& x, const Scalar& y, const RealScalar& z); - void makeGivens(const Scalar& p, const Scalar& q, Scalar* z=0); + void makeGivens(const Scalar& p, const Scalar& q, Scalar* r=0); protected: - void makeGivens(const Scalar& p, const Scalar& q, Scalar* z, internal::true_type); - void makeGivens(const Scalar& p, const Scalar& q, Scalar* z, internal::false_type); + void makeGivens(const Scalar& p, const Scalar& q, Scalar* r, internal::true_type); + void makeGivens(const Scalar& p, const Scalar& q, Scalar* r, internal::false_type); Scalar m_c, m_s; }; @@ -84,7 +84,6 @@ bool JacobiRotation::makeJacobi(const RealScalar& x, const Scalar& y, co { using std::sqrt; using std::abs; - typedef typename NumTraits::Real RealScalar; RealScalar deno = RealScalar(2)*abs(y); if(deno < (std::numeric_limits::min)()) { @@ -133,7 +132,7 @@ inline bool JacobiRotation::makeJacobi(const MatrixBase& m, Ind * \f$ V = \left ( \begin{array}{c} p \\ q \end{array} \right )\f$ yields: * \f$ G^* V = \left ( \begin{array}{c} r \\ 0 \end{array} \right )\f$. * - * The value of \a z is returned if \a z is not null (the default is null). + * The value of \a r is returned if \a r is not null (the default is null). * Also note that G is built such that the cosine is always real. * * Example: \include Jacobi_makeGivens.cpp @@ -146,9 +145,9 @@ inline bool JacobiRotation::makeJacobi(const MatrixBase& m, Ind * \sa MatrixBase::applyOnTheLeft(), MatrixBase::applyOnTheRight() */ template -void JacobiRotation::makeGivens(const Scalar& p, const Scalar& q, Scalar* z) +void JacobiRotation::makeGivens(const Scalar& p, const Scalar& q, Scalar* r) { - makeGivens(p, q, z, typename internal::conditional::IsComplex, internal::true_type, internal::false_type>::type()); + makeGivens(p, q, r, typename internal::conditional::IsComplex, internal::true_type, internal::false_type>::type()); } diff --git a/src/eigen/Eigen/src/SVD/SVDBase.h b/src/eigen/Eigen/src/SVD/SVDBase.h index cc90a3b7523..3d1ef373ea7 100644 --- a/src/eigen/Eigen/src/SVD/SVDBase.h +++ b/src/eigen/Eigen/src/SVD/SVDBase.h @@ -180,8 +180,10 @@ class SVDBase RealScalar threshold() const { eigen_assert(m_isInitialized || m_usePrescribedThreshold); + // this temporary is needed to workaround a MSVC issue + Index diagSize = (std::max)(1,m_diagSize); return m_usePrescribedThreshold ? m_prescribedThreshold - : (std::max)(1,m_diagSize)*NumTraits::epsilon(); + : diagSize*NumTraits::epsilon(); } /** \returns true if \a U (full or thin) is asked for in this SVD decomposition */ diff --git a/src/eigen/Eigen/src/SparseCore/SparseMatrix.h b/src/eigen/Eigen/src/SparseCore/SparseMatrix.h index 323c2323b5e..0a2490bcc3d 100644 --- a/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +++ b/src/eigen/Eigen/src/SparseCore/SparseMatrix.h @@ -893,7 +893,7 @@ class SparseMatrix Index p = m_outerIndex[outer] + m_innerNonZeros[outer]++; m_data.index(p) = convert_index(inner); - return (m_data.value(p) = 0); + return (m_data.value(p) = Scalar(0)); } private: @@ -1274,7 +1274,7 @@ EIGEN_DONT_INLINE typename SparseMatrix<_Scalar,_Options,_StorageIndex>::Scalar& m_innerNonZeros[outer]++; m_data.index(p) = inner; - return (m_data.value(p) = 0); + return (m_data.value(p) = Scalar(0)); } template @@ -1381,7 +1381,7 @@ EIGEN_DONT_INLINE typename SparseMatrix<_Scalar,_Options,_StorageIndex>::Scalar& } m_data.index(p) = inner; - return (m_data.value(p) = 0); + return (m_data.value(p) = Scalar(0)); } namespace internal { diff --git a/src/eigen/Eigen/src/SparseLU/SparseLU.h b/src/eigen/Eigen/src/SparseLU/SparseLU.h index f883ab383d3..7104831c03b 100644 --- a/src/eigen/Eigen/src/SparseLU/SparseLU.h +++ b/src/eigen/Eigen/src/SparseLU/SparseLU.h @@ -499,8 +499,6 @@ void SparseLU::factorize(const MatrixType& matrix) eigen_assert(m_analysisIsOk && "analyzePattern() should be called first"); eigen_assert((matrix.rows() == matrix.cols()) && "Only for squared matrices"); - typedef typename IndexVector::Scalar StorageIndex; - m_isInitialized = true; diff --git a/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h b/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h index 6f1ae003794..822cf32c347 100644 --- a/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +++ b/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h @@ -146,7 +146,7 @@ void SparseLUImpl::panel_bmod(const Index m, const Index w, Index ldl = internal::first_multiple(nrow, PacketSize); Index offset = (PacketSize-internal::first_default_aligned(B.data(), PacketSize)) % PacketSize; - auto L = MappedMatrixBlock(tempv.data()+w*ldu+offset, nrow, u_cols, OuterStride<>(ldl)); + MappedMatrixBlock L(tempv.data()+w*ldu+offset, nrow, u_cols, OuterStride<>(ldl)); L.setZero(); internal::sparselu_gemm(L.rows(), L.cols(), B.cols(), B.data(), B.outerStride(), U.data(), U.outerStride(), L.data(), L.outerStride()); diff --git a/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h b/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h index 50a69f3066b..7261c7d0fc8 100644 --- a/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +++ b/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h @@ -297,8 +297,8 @@ SluMatrix asSluMatrix(MatrixType& mat) template MappedSparseMatrix map_superlu(SluMatrix& sluMat) { - eigen_assert((Flags&RowMajor)==RowMajor && sluMat.Stype == SLU_NR - || (Flags&ColMajor)==ColMajor && sluMat.Stype == SLU_NC); + eigen_assert(((Flags&RowMajor)==RowMajor && sluMat.Stype == SLU_NR) + || ((Flags&ColMajor)==ColMajor && sluMat.Stype == SLU_NC)); Index outerSize = (Flags&RowMajor)==RowMajor ? sluMat.ncol : sluMat.nrow; diff --git a/src/eigen/README.md b/src/eigen/README.md index 39892c00bb5..5ba03e0d7f9 100644 --- a/src/eigen/README.md +++ b/src/eigen/README.md @@ -1,7 +1,6 @@ -THIS IS NOT THE COMPLETE EIGEN DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING EIGEN INTO SLIC3R WERE PUT INTO THE SLIC3R SOURCE DISTRIBUTION. -THIS DIRECTORY CONTAINS PIECES OF THE EIGEN 3.3.5 b3f3d4950030 SOURCE DISTRIBUTION. - - **Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.** For more information go to http://eigen.tuxfamily.org/. + +THIS IS NOT THE COMPLETE EIGEN DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING EIGEN INTO SLIC3R WERE PUT INTO THE SLIC3R SOURCE DISTRIBUTION. +THIS DIRECTORY CONTAINS PIECES OF THE EIGEN 3.3.7 323c052e1731 SOURCE DISTRIBUTION. diff --git a/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h b/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h index 0e8350a7dbd..536a0c3205e 100644 --- a/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +++ b/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h @@ -931,7 +931,7 @@ class BlockSparseMatrix : public SparseMatrixBase in the array of values + * \returns the starting position of the block \p id in the array of values */ Index blockPtr(Index id) const { diff --git a/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h b/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h index 037a13f86af..0ffbc43d23e 100644 --- a/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +++ b/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h @@ -228,6 +228,9 @@ template EIGEN_DEPRECATED inline DynamicSparseMatrix() : m_innerSize(0), m_data(0) { + #ifdef EIGEN_SPARSE_CREATE_TEMPORARY_PLUGIN + EIGEN_SPARSE_CREATE_TEMPORARY_PLUGIN + #endif eigen_assert(innerSize()==0 && outerSize()==0); } @@ -235,6 +238,9 @@ template EIGEN_DEPRECATED inline DynamicSparseMatrix(Index rows, Index cols) : m_innerSize(0) { + #ifdef EIGEN_SPARSE_CREATE_TEMPORARY_PLUGIN + EIGEN_SPARSE_CREATE_TEMPORARY_PLUGIN + #endif resize(rows, cols); } @@ -243,12 +249,18 @@ template EIGEN_DEPRECATED explicit inline DynamicSparseMatrix(const SparseMatrixBase& other) : m_innerSize(0) { - Base::operator=(other.derived()); + #ifdef EIGEN_SPARSE_CREATE_TEMPORARY_PLUGIN + EIGEN_SPARSE_CREATE_TEMPORARY_PLUGIN + #endif + Base::operator=(other.derived()); } inline DynamicSparseMatrix(const DynamicSparseMatrix& other) : Base(), m_innerSize(0) { + #ifdef EIGEN_SPARSE_CREATE_TEMPORARY_PLUGIN + EIGEN_SPARSE_CREATE_TEMPORARY_PLUGIN + #endif *this = other.derived(); } diff --git a/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h b/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h index 41e4af4a4e7..04b7d69ac33 100644 --- a/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +++ b/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h @@ -17,8 +17,8 @@ namespace Eigen { namespace internal { - template - inline bool GetMarketLine (std::stringstream& line, Index& M, Index& N, Index& i, Index& j, Scalar& value) + template + inline bool GetMarketLine (std::stringstream& line, IndexType& M, IndexType& N, IndexType& i, IndexType& j, Scalar& value) { line >> i >> j >> value; i--; @@ -30,8 +30,8 @@ namespace internal else return false; } - template - inline bool GetMarketLine (std::stringstream& line, Index& M, Index& N, Index& i, Index& j, std::complex& value) + template + inline bool GetMarketLine (std::stringstream& line, IndexType& M, IndexType& N, IndexType& i, IndexType& j, std::complex& value) { Scalar valR, valI; line >> i >> j >> valR >> valI; @@ -134,7 +134,7 @@ template bool loadMarket(SparseMatrixType& mat, const std::string& filename) { typedef typename SparseMatrixType::Scalar Scalar; - typedef typename SparseMatrixType::Index Index; + typedef typename SparseMatrixType::StorageIndex StorageIndex; std::ifstream input(filename.c_str(),std::ios::in); if(!input) return false; @@ -144,11 +144,11 @@ bool loadMarket(SparseMatrixType& mat, const std::string& filename) bool readsizes = false; - typedef Triplet T; + typedef Triplet T; std::vector elements; - Index M(-1), N(-1), NNZ(-1); - Index count = 0; + StorageIndex M(-1), N(-1), NNZ(-1); + StorageIndex count = 0; while(input.getline(buffer, maxBuffersize)) { // skip comments @@ -171,7 +171,7 @@ bool loadMarket(SparseMatrixType& mat, const std::string& filename) } else { - Index i(-1), j(-1); + StorageIndex i(-1), j(-1); Scalar value; if( internal::GetMarketLine(line, M, N, i, j, value) ) { From cf8e4fd7b0c8374c98daffa59e46ae2d5c14651a Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 14 Jan 2019 11:06:52 +0100 Subject: [PATCH 084/189] Merged some of the late changes on slicing robustness from the 1.41.2 (stable) to the current 1.42.0-alpha3 This should fix a number of errors reported (#1562, #1592, #1614, #1633) --- src/libslic3r/TriangleMesh.cpp | 222 ++++++++++----------------------- src/libslic3r/TriangleMesh.hpp | 5 +- 2 files changed, 67 insertions(+), 160 deletions(-) diff --git a/src/libslic3r/TriangleMesh.cpp b/src/libslic3r/TriangleMesh.cpp index d02bfb28435..359e144b5aa 100644 --- a/src/libslic3r/TriangleMesh.cpp +++ b/src/libslic3r/TriangleMesh.cpp @@ -19,6 +19,7 @@ #include +#include #include // for SLIC3R_DEBUG_SLICE_PROCESSING @@ -141,11 +142,15 @@ void TriangleMesh::repair() } // fill_holes +#if 0 + // Don't fill holes, the current algorithm does more harm than good on complex holes. + // Rather let the slicing algorithm close gaps in 2D slices. if (stl.stats.connected_facets_3_edge < stl.stats.number_of_facets) { BOOST_LOG_TRIVIAL(trace) << "\tstl_fill_holes"; stl_fill_holes(&stl); stl_clear_error(&stl); } +#endif // normal_directions BOOST_LOG_TRIVIAL(trace) << "\tstl_fix_normal_directions"; @@ -293,6 +298,7 @@ void TriangleMesh::mirror(const Axis &axis) void TriangleMesh::transform(const Transform3d& t) { stl_transform(&stl, t); + stl_invalidate_shared_vertices(&stl); } void TriangleMesh::align_to_origin() @@ -399,7 +405,7 @@ TriangleMeshPtrs TriangleMesh::split() const // get the first facet std::queue facet_queue; std::deque facets; - for (int facet_idx = 0; facet_idx < this->stl.stats.number_of_facets; facet_idx++) { + for (int facet_idx = 0; facet_idx < this->stl.stats.number_of_facets; ++ facet_idx) { if (! facet_visited[facet_idx]) { // if facet was not seen put it into queue and start searching facet_queue.push(facet_idx); @@ -451,9 +457,8 @@ void TriangleMesh::merge(const TriangleMesh &mesh) stl_reallocate(&this->stl); // copy facets - for (int i = 0; i < mesh.stl.stats.number_of_facets; i++) { + for (int i = 0; i < mesh.stl.stats.number_of_facets; ++ i) this->stl.facet_start[number_of_facets + i] = mesh.stl.facet_start[i]; - } // update size stl_get_size(&this->stl); @@ -465,7 +470,7 @@ ExPolygons TriangleMesh::horizontal_projection() const { Polygons pp; pp.reserve(this->stl.stats.number_of_facets); - for (int i = 0; i < this->stl.stats.number_of_facets; i++) { + for (int i = 0; i < this->stl.stats.number_of_facets; ++ i) { stl_facet* facet = &this->stl.facet_start[i]; Polygon p; p.points.resize(3); @@ -480,11 +485,7 @@ ExPolygons TriangleMesh::horizontal_projection() const return union_ex(offset(pp, scale_(0.01)), true); } -const float* TriangleMesh::first_vertex() const -{ - return this->stl.facet_start ? &this->stl.facet_start->vertex[0](0) : nullptr; -} - +// 2D convex hull of a 3D mesh projected into the Z=0 plane. Polygon TriangleMesh::convex_hull() { this->require_shared_vertices(); @@ -510,7 +511,7 @@ BoundingBoxf3 TriangleMesh::transformed_bounding_box(const Transform3d& t) const { bool has_shared = (stl.v_shared != nullptr); if (!has_shared) - stl_generate_shared_vertices(&stl); + stl_generate_shared_vertices(const_cast(&stl)); unsigned int vertices_count = (stl.stats.shared_vertices > 0) ? (unsigned int)stl.stats.shared_vertices : 3 * (unsigned int)stl.stats.number_of_facets; @@ -549,7 +550,7 @@ BoundingBoxf3 TriangleMesh::transformed_bounding_box(const Transform3d& t) const } if (!has_shared && (stl.stats.shared_vertices > 0)) - stl_invalidate_shared_vertices(&stl); + stl_invalidate_shared_vertices(const_cast(&stl)); Eigen::MatrixXd dst_vertices(3, vertices_count); dst_vertices = t * src_vertices.colwise().homogeneous(); @@ -850,49 +851,27 @@ void TriangleMeshSlicer::_slice_do(size_t facet_idx, std::vector FACET %d (%f,%f,%f - %f,%f,%f - %f,%f,%f):\n", facet_idx, - facet.vertex[0].x, facet.vertex[0].y, facet.vertex[0](2), - facet.vertex[1].x, facet.vertex[1].y, facet.vertex[1](2), - facet.vertex[2].x, facet.vertex[2].y, facet.vertex[2](2)); + facet.vertex[0](0), facet.vertex[0](1), facet.vertex[0](2), + facet.vertex[1](0), facet.vertex[1](1), facet.vertex[1](2), + facet.vertex[2](0), facet.vertex[2](1), facet.vertex[2](2)); printf("z: min = %.2f, max = %.2f\n", min_z, max_z); #endif /* SLIC3R_TRIANGLEMESH_DEBUG */ // find layer extents std::vector::const_iterator min_layer, max_layer; min_layer = std::lower_bound(z.begin(), z.end(), min_z); // first layer whose slice_z is >= min_z - max_layer = std::upper_bound(z.begin() + (min_layer - z.begin()), z.end(), max_z); // first layer, whose slice_z is > max_z + max_layer = std::upper_bound(z.begin() + (min_layer - z.begin()), z.end(), max_z) - 1; // last layer whose slice_z is <= max_z #ifdef SLIC3R_TRIANGLEMESH_DEBUG - printf("layers: min = %d, max = %d\n", (int)(min_layer - z.begin()), (int)(max_layer - z.begin()) - 1); + printf("layers: min = %d, max = %d\n", (int)(min_layer - z.begin()), (int)(max_layer - z.begin())); #endif /* SLIC3R_TRIANGLEMESH_DEBUG */ - for (std::vector::const_iterator it = min_layer; it != max_layer; ++it) { + for (std::vector::const_iterator it = min_layer; it != max_layer + 1; ++ it) { std::vector::size_type layer_idx = it - z.begin(); IntersectionLine il; if (this->slice_facet(*it / SCALING_FACTOR, facet, facet_idx, min_z, max_z, &il) == TriangleMeshSlicer::Slicing) { boost::lock_guard l(*lines_mutex); if (il.edge_type == feHorizontal) { - // Insert all marked edges of the face. The marked edges do not share an edge with another horizontal face - // (they may not have a nighbor, or their neighbor is vertical) - const int *vertices = this->mesh->stl.v_indices[facet_idx].vertex; - const bool reverse = this->mesh->stl.facet_start[facet_idx].normal(2) < 0; - for (int j = 0; j < 3; ++ j) - if (il.flags & ((IntersectionLine::EDGE0_NO_NEIGHBOR | IntersectionLine::EDGE0_FOLD) << j)) { - int a_id = vertices[j % 3]; - int b_id = vertices[(j+1) % 3]; - if (reverse) - std::swap(a_id, b_id); - const stl_vertex &a = this->v_scaled_shared[a_id]; - const stl_vertex &b = this->v_scaled_shared[b_id]; - il.a(0) = a(0); - il.a(1) = a(1); - il.b(0) = b(0); - il.b(1) = b(1); - il.a_id = a_id; - il.b_id = b_id; - assert(il.a != il.b); - // This edge will not be used as a seed for loop extraction if it was added due to a fold of two overlapping horizontal faces. - il.set_no_seed((IntersectionLine::EDGE0_FOLD << j) != 0); - (*lines)[layer_idx].emplace_back(il); - } + // Ignore horizontal triangles. Any valid horizontal triangle must have a vertical triangle connected, otherwise the part has zero volume. } else (*lines)[layer_idx].emplace_back(il); } @@ -934,21 +913,20 @@ TriangleMeshSlicer::FacetSliceType TriangleMeshSlicer::slice_facet( // This is needed to get all intersection lines in a consistent order // (external on the right of the line) const int *vertices = this->mesh->stl.v_indices[facet_idx].vertex; - int i = (facet.vertex[1](2) == min_z) ? 1 : ((facet.vertex[2](2) == min_z) ? 2 : 0); - for (int j = i; j - i < 3; ++j ) { // loop through facet edges - int edge_id = this->facets_edges[facet_idx * 3 + (j % 3)]; - int a_id = vertices[j % 3]; - int b_id = vertices[(j+1) % 3]; - const stl_vertex &a = this->v_scaled_shared[a_id]; - const stl_vertex &b = this->v_scaled_shared[b_id]; + int i = (facet.vertex[1].z() == min_z) ? 1 : ((facet.vertex[2].z() == min_z) ? 2 : 0); + for (int j = i; j - i < 3; ++j) { // loop through facet edges + int edge_id = this->facets_edges[facet_idx * 3 + (j % 3)]; + int a_id = vertices[j % 3]; + int b_id = vertices[(j+1) % 3]; + const stl_vertex *a = &this->v_scaled_shared[a_id]; + const stl_vertex *b = &this->v_scaled_shared[b_id]; // Is edge or face aligned with the cutting plane? - if (a(2) == slice_z && b(2) == slice_z) { + if (a->z() == slice_z && b->z() == slice_z) { // Edge is horizontal and belongs to the current layer. const stl_vertex &v0 = this->v_scaled_shared[vertices[0]]; const stl_vertex &v1 = this->v_scaled_shared[vertices[1]]; const stl_vertex &v2 = this->v_scaled_shared[vertices[2]]; - bool swap = false; const stl_normal &normal = this->mesh->stl.facet_start[facet_idx].normal; // We may ignore this edge for slicing purposes, but we may still use it for object cutting. FacetSliceType result = Slicing; @@ -956,157 +934,85 @@ TriangleMeshSlicer::FacetSliceType TriangleMeshSlicer::slice_facet( if (min_z == max_z) { // All three vertices are aligned with slice_z. line_out->edge_type = feHorizontal; - // Mark neighbor edges, which do not have a neighbor. - uint32_t edges = 0; - for (int nbr_idx = 0; nbr_idx != 3; ++ nbr_idx) { - // If the neighbor with an edge starting with a vertex idx (nbr_idx - 2) shares no - // opposite face, add it to the edges to process when slicing. - if (nbr.neighbor[nbr_idx] == -1) { - // Mark this edge to be added to the slice. - edges |= (IntersectionLine::EDGE0_NO_NEIGHBOR << nbr_idx); - } -#if 1 - else if (normal(2) > 0) { - // Produce edges for opposite faced overlapping horizontal faces aka folds. - // This method often produces connecting lines (noise) at the cutting plane. - // Produce the edges for the top facing face of the pair of top / bottom facing faces. - - // Index of a neighbor face. - const int nbr_face = nbr.neighbor[nbr_idx]; - const int *nbr_vertices = this->mesh->stl.v_indices[nbr_face].vertex; - int idx_vertex_opposite = nbr_vertices[nbr.which_vertex_not[nbr_idx]]; - const stl_vertex &c2 = this->v_scaled_shared[idx_vertex_opposite]; - if (c2(2) == slice_z) { - // Edge shared by facet_idx and nbr_face. - int a_id = vertices[nbr_idx]; - int b_id = vertices[(nbr_idx + 1) % 3]; - int c1_id = vertices[(nbr_idx + 2) % 3]; - const stl_vertex &a = this->v_scaled_shared[a_id]; - const stl_vertex &b = this->v_scaled_shared[b_id]; - const stl_vertex &c1 = this->v_scaled_shared[c1_id]; - // Verify that the two neighbor faces share a common edge. - assert(nbr_vertices[(nbr.which_vertex_not[nbr_idx] + 1) % 3] == b_id); - assert(nbr_vertices[(nbr.which_vertex_not[nbr_idx] + 2) % 3] == a_id); - double n1 = (double(c1(0)) - double(a(0))) * (double(b(1)) - double(a(1))) - (double(c1(1)) - double(a(1))) * (double(b(0)) - double(a(0))); - double n2 = (double(c2(0)) - double(a(0))) * (double(b(1)) - double(a(1))) - (double(c2(1)) - double(a(1))) * (double(b(0)) - double(a(0))); - if (n1 * n2 > 0) - // The two faces overlap. This indicates an invalid mesh geometry (non-manifold), - // but these are the real world objects, and leaving out these edges leads to missing contours. - edges |= (IntersectionLine::EDGE0_FOLD << nbr_idx); - } - } -#endif - } - // Use some edges of this triangle for slicing only if at least one of its edge does not have an opposite face. - result = (edges == 0) ? Cutting : Slicing; - line_out->flags |= edges; - if (normal(2) < 0) { + result = Cutting; + if (normal.z() < 0) { // If normal points downwards this is a bottom horizontal facet so we reverse its point order. - swap = true; + std::swap(a, b); + std::swap(a_id, b_id); } } else { // Two vertices are aligned with the cutting plane, the third vertex is below or above the cutting plane. int nbr_idx = j % 3; int nbr_face = nbr.neighbor[nbr_idx]; // Is the third vertex below the cutting plane? - bool third_below = v0(2) < slice_z || v1(2) < slice_z || v2(2) < slice_z; - // Is this a concave corner? - if (nbr_face == -1) { -#ifdef _DEBUG - printf("Face has no neighbor!\n"); -#endif - } else { - assert(this->mesh->stl.v_indices[nbr_face].vertex[(nbr.which_vertex_not[nbr_idx] + 1) % 3] == b_id); - assert(this->mesh->stl.v_indices[nbr_face].vertex[(nbr.which_vertex_not[nbr_idx] + 2) % 3] == a_id); - int idx_vertex_opposite = this->mesh->stl.v_indices[nbr_face].vertex[nbr.which_vertex_not[nbr_idx]]; - const stl_vertex &c = this->v_scaled_shared[idx_vertex_opposite]; - if (c(2) == slice_z) { - double normal_nbr = (double(c(0)) - double(a(0))) * (double(b(1)) - double(a(1))) - (double(c(1)) - double(a(1))) * (double(b(0)) - double(a(0))); -#if 0 - if ((normal_nbr < 0) == third_below) { - printf("Flipped normal?\n"); - } -#endif - result = - // A vertical face shares edge with a horizontal face. Verify, whether the shared edge makes a convex or concave corner. - // Unfortunately too often there are flipped normals, which brake our assumption. Let's rather return every edge, - // and leth the code downstream hopefully handle it. - #if 1 - // Ignore concave corners for slicing. - // This method has the unfortunate property, that folds in a horizontal plane create concave corners, - // leading to broken contours, if these concave corners are not replaced by edges of the folds, see above. - ((normal_nbr < 0) == third_below) ? Cutting : Slicing; - #else - // Use concave corners for slicing. This leads to the test 01_trianglemesh.t "slicing a top tangent plane includes its area" failing, - // and rightly so. - Slicing; - #endif - } else { - // For a pair of faces touching exactly at the cutting plane, ignore one of them. An arbitrary rule is to ignore the face with a higher index. - result = (facet_idx < nbr_face) ? Slicing : Cutting; - } - } + bool third_below = v0.z() < slice_z || v1.z() < slice_z || v2.z() < slice_z; + // Two vertices on the cutting plane, the third vertex is below the plane. Consider the edge to be part of the slice + // only if it is the upper edge. + // (the bottom most edge resp. vertex of a triangle is not owned by the triangle, but the top most edge resp. vertex is part of the triangle + // in respect to the cutting plane). + result = third_below ? Slicing : Cutting; if (third_below) { line_out->edge_type = feTop; - swap = true; + std::swap(a, b); + std::swap(a_id, b_id); } else line_out->edge_type = feBottom; } - line_out->a = to_2d(swap ? b : a).cast(); - line_out->b = to_2d(swap ? a : b).cast(); - line_out->a_id = swap ? b_id : a_id; - line_out->b_id = swap ? a_id : b_id; + line_out->a.x() = a->x(); + line_out->a.y() = a->y(); + line_out->b.x() = b->x(); + line_out->b.y() = b->y(); + line_out->a_id = a_id; + line_out->b_id = b_id; assert(line_out->a != line_out->b); return result; } - if (a(2) == slice_z) { + if (a->z() == slice_z) { // Only point a alings with the cutting plane. if (point_on_layer == size_t(-1) || points[point_on_layer].point_id != a_id) { point_on_layer = num_points; IntersectionPoint &point = points[num_points ++]; - point(0) = a(0); - point(1) = a(1); - point.point_id = a_id; + point.x() = a->x(); + point.y() = a->y(); + point.point_id = a_id; } - } else if (b(2) == slice_z) { + } else if (b->z() == slice_z) { // Only point b alings with the cutting plane. if (point_on_layer == size_t(-1) || points[point_on_layer].point_id != b_id) { point_on_layer = num_points; IntersectionPoint &point = points[num_points ++]; - point(0) = b(0); - point(1) = b(1); - point.point_id = b_id; + point.x() = b->x(); + point.y() = b->y(); + point.point_id = b_id; } - } else if ((a(2) < slice_z && b(2) > slice_z) || (b(2) < slice_z && a(2) > slice_z)) { + } else if ((a->z() < slice_z && b->z() > slice_z) || (b->z() < slice_z && a->z() > slice_z)) { // A general case. The face edge intersects the cutting plane. Calculate the intersection point. assert(a_id != b_id); // Sort the edge to give a consistent answer. - const stl_vertex *pa = &a; - const stl_vertex *pb = &b; if (a_id > b_id) { std::swap(a_id, b_id); - std::swap(pa, pb); + std::swap(a, b); } IntersectionPoint &point = points[num_points]; - double t = (double(slice_z) - double((*pb)(2))) / (double((*pa)(2)) - double((*pb)(2))); + double t = (double(slice_z) - double(b->z())) / (double(a->z()) - double(b->z())); if (t <= 0.) { if (point_on_layer == size_t(-1) || points[point_on_layer].point_id != a_id) { - point(0) = (*pa)(0); - point(1) = (*pa)(1); + point.x() = a->x(); + point.y() = a->y(); point_on_layer = num_points ++; point.point_id = a_id; } } else if (t >= 1.) { if (point_on_layer == size_t(-1) || points[point_on_layer].point_id != b_id) { - point(0) = (*pb)(0); - point(1) = (*pb)(1); + point.x() = b->x(); + point.y() = b->y(); point_on_layer = num_points ++; point.point_id = b_id; } } else { - point(0) = coord_t(floor(double((*pb)(0)) + (double((*pa)(0)) - double((*pb)(0))) * t + 0.5)); - point(1) = coord_t(floor(double((*pb)(1)) + (double((*pa)(1)) - double((*pb)(1))) * t + 0.5)); + point.x() = coord_t(floor(double(b->x()) + (double(a->x()) - double(b->x())) * t + 0.5)); + point.y() = coord_t(floor(double(b->y()) + (double(a->y()) - double(b->y())) * t + 0.5)); point.edge_id = edge_id; ++ num_points; } @@ -1140,7 +1046,7 @@ TriangleMeshSlicer::FacetSliceType TriangleMeshSlicer::slice_facet( if (i == line_out->a_id || i == line_out->b_id) i = vertices[2]; assert(i != line_out->a_id && i != line_out->b_id); - line_out->edge_type = (this->v_scaled_shared[i].z < slice_z) ? feTop : feBottom; + line_out->edge_type = (this->v_scaled_shared[i].z() < slice_z) ? feTop : feBottom; } #endif return Slicing; @@ -1488,7 +1394,7 @@ static void chain_open_polylines_close_gaps(std::vector &open_poly std::pair next_start_and_dist = closest_end_point_lookup.find(end.point()); const OpenPolylineEnd *next_start = next_start_and_dist.first; // Check whether we closed this loop. - double current_loop_closing_distance2 = (opl->points.back() - opl->points.front()).cast().squaredNorm(); + double current_loop_closing_distance2 = (opl->points.back() - opl->points.front()).cast().squaredNorm(); bool loop_closed = current_loop_closing_distance2 < coordf_t(max_gap_scaled) * coordf_t(max_gap_scaled); if (next_start != nullptr && loop_closed && current_loop_closing_distance2 < next_start_and_dist.second) { // Heuristics to decide, whether to close the loop, or connect another polyline. diff --git a/src/libslic3r/TriangleMesh.hpp b/src/libslic3r/TriangleMesh.hpp index 81f64ac85d1..fc2b4001365 100644 --- a/src/libslic3r/TriangleMesh.hpp +++ b/src/libslic3r/TriangleMesh.hpp @@ -55,7 +55,8 @@ class TriangleMesh TriangleMeshPtrs split() const; void merge(const TriangleMesh &mesh); ExPolygons horizontal_projection() const; - const float* first_vertex() const; + const float* first_vertex() const { return this->stl.facet_start ? &this->stl.facet_start->vertex[0](0) : nullptr; } + // 2D convex hull of a 3D mesh projected into the Z=0 plane. Polygon convex_hull(); BoundingBoxf3 bounding_box() const; // Returns the bbox of this TriangleMesh transformed by the given transformation @@ -74,7 +75,7 @@ class TriangleMesh // Count disconnected triangle patches. size_t number_of_patches() const; - mutable stl_file stl; + stl_file stl; bool repaired; private: From 01dc8e77ac40765a06470183a0aa72952452f1ad Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 14 Jan 2019 13:29:06 +0100 Subject: [PATCH 085/189] Generic subparts placed at one of the bottom corners of the world bounding box of the transformed current selected instance (#1517) --- src/libslic3r/Model.cpp | 21 +++++++++++++++++++++ src/libslic3r/Technologies.hpp | 2 ++ src/slic3r/GUI/GUI_ObjectList.cpp | 20 ++++++++++++++++++++ 3 files changed, 43 insertions(+) diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 900397f7044..81ed392c2cf 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -819,14 +819,27 @@ TriangleMesh ModelObject::full_raw_mesh() const BoundingBoxf3 ModelObject::raw_bounding_box() const { BoundingBoxf3 bb; +#if ENABLE_GENERIC_SUBPARTS_PLACEMENT + if (this->instances.empty()) + throw std::invalid_argument("Can't call raw_bounding_box() with no instances"); + + const Transform3d& inst_matrix = this->instances.front()->get_transformation().get_matrix(true); +#endif // ENABLE_GENERIC_SUBPARTS_PLACEMENT for (const ModelVolume *v : this->volumes) if (v->is_model_part()) { +#if !ENABLE_GENERIC_SUBPARTS_PLACEMENT if (this->instances.empty()) throw std::invalid_argument("Can't call raw_bounding_box() with no instances"); +#endif // !ENABLE_GENERIC_SUBPARTS_PLACEMENT TriangleMesh vol_mesh(v->mesh); +#if ENABLE_GENERIC_SUBPARTS_PLACEMENT + vol_mesh.transform(inst_matrix * v->get_matrix()); + bb.merge(vol_mesh.bounding_box()); +#else vol_mesh.transform(v->get_matrix()); bb.merge(this->instances.front()->transform_mesh_bounding_box(vol_mesh, true)); +#endif // ENABLE_GENERIC_SUBPARTS_PLACEMENT } return bb; } @@ -835,13 +848,21 @@ BoundingBoxf3 ModelObject::raw_bounding_box() const BoundingBoxf3 ModelObject::instance_bounding_box(size_t instance_idx, bool dont_translate) const { BoundingBoxf3 bb; +#if ENABLE_GENERIC_SUBPARTS_PLACEMENT + const Transform3d& inst_matrix = this->instances[instance_idx]->get_transformation().get_matrix(dont_translate); +#endif // ENABLE_GENERIC_SUBPARTS_PLACEMENT for (ModelVolume *v : this->volumes) { if (v->is_model_part()) { TriangleMesh mesh(v->mesh); +#if ENABLE_GENERIC_SUBPARTS_PLACEMENT + mesh.transform(inst_matrix * v->get_matrix()); + bb.merge(mesh.bounding_box()); +#else mesh.transform(v->get_matrix()); bb.merge(this->instances[instance_idx]->transform_mesh_bounding_box(mesh, dont_translate)); +#endif // ENABLE_GENERIC_SUBPARTS_PLACEMENT } } return bb; diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 629407ee2d0..3d63f781c09 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -58,3 +58,5 @@ #define ENABLE_NEW_EULER_ANGLES (1 && ENABLE_1_42_0_ALPHA4) // Added minimum threshold for click and drag movements #define ENABLE_MOVE_MIN_THRESHOLD (1 && ENABLE_1_42_0_ALPHA4) +// Modified initial default placement of generic subparts +#define ENABLE_GENERIC_SUBPARTS_PLACEMENT (1 && ENABLE_1_42_0_ALPHA4) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 77906fe0da2..24aa5e45ca6 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -895,9 +895,29 @@ void ObjectList::load_generic_subobject(const std::string& type_name, const int auto new_volume = (*m_objects)[obj_idx]->add_volume(mesh); new_volume->set_type(static_cast(type)); +#if !ENABLE_GENERIC_SUBPARTS_PLACEMENT new_volume->set_offset(Vec3d(0.0, 0.0, (*m_objects)[obj_idx]->origin_translation(2) - mesh.stl.stats.min(2))); +#endif // !ENABLE_GENERIC_SUBPARTS_PLACEMENT new_volume->center_geometry(); +#if ENABLE_GENERIC_SUBPARTS_PLACEMENT + const GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); + int instance_idx = selection.get_instance_idx(); + if (instance_idx != -1) + { + const GLVolume* v = selection.get_volume(*selection.get_volume_idxs().begin()); + const Transform3d& inst_m = v->get_instance_transformation().get_matrix(true); + TriangleMesh vol_mesh(mesh); + vol_mesh.transform(inst_m); + Vec3d vol_shift = -vol_mesh.bounding_box().center(); + vol_mesh.translate((float)vol_shift(0), (float)vol_shift(1), (float)vol_shift(2)); + Vec3d world_mesh_bb_size = vol_mesh.bounding_box().size(); + BoundingBoxf3 inst_bb = (*m_objects)[obj_idx]->instance_bounding_box(instance_idx); + Vec3d world_target = Vec3d(inst_bb.max(0), inst_bb.min(1), inst_bb.min(2)) + 0.5 * world_mesh_bb_size; + new_volume->set_offset(inst_m.inverse() * (world_target - v->get_instance_offset())); + } +#endif // ENABLE_GENERIC_SUBPARTS_PLACEMENT + new_volume->name = name; // set a default extruder value, since user can't add it manually new_volume->config.set_key_value("extruder", new ConfigOptionInt(0)); From 6094512f8fc4f313abe8969918a44d9f26239aa2 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 14 Jan 2019 14:42:21 +0100 Subject: [PATCH 086/189] Fix of #1645 --- src/slic3r/GUI/GLCanvas3D.cpp | 12 ++++++++++-- src/slic3r/GUI/GUI_App.cpp | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 27f0d54c3e5..50cc028a9a3 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -4662,11 +4662,19 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re m_camera.set_scene_box(scene_bounding_box(), *this); m_camera.set_target(m_camera.get_target(), *this); - // if no object is selected, deactivate active gizmo, if any - // otherwise it will be shown after cleaning the scene (while it is active) if (m_selection.is_empty()) + { + // If no object is selected, deactivate the active gizmo, if any + // Otherwise it may be shown after cleaning the scene (if it was active while the objects were deleted) m_gizmos.reset_all_states(); + // If no object is selected, reset the objects manipulator on the sidebar + // to force a reset of its cache + auto manip = wxGetApp().obj_manipul(); + if (manip != nullptr) + manip->update_settings_value(m_selection); + } + // and force this canvas to be redrawn. m_dirty = true; } diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 4441c8c8bb8..54e3e47503e 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -760,7 +760,8 @@ Sidebar& GUI_App::sidebar() ObjectManipulation* GUI_App::obj_manipul() { - return sidebar().obj_manipul(); + // If this method is called before plater_ has been initialized, return nullptr (to avoid a crash) + return (plater_ != nullptr) ? sidebar().obj_manipul() : nullptr; } ObjectSettings* GUI_App::obj_settings() From 2d7a828dad9612fbec666dd692f9601178a2a5ee Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 14 Jan 2019 15:37:37 +0100 Subject: [PATCH 087/189] Fix of #1640 --- src/libslic3r/Format/3mf.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp index 3b99ccd8230..6b8a38f5cfd 100644 --- a/src/libslic3r/Format/3mf.cpp +++ b/src/libslic3r/Format/3mf.cpp @@ -1477,6 +1477,7 @@ namespace Slic3r { stl_get_size(&stl); volume->mesh.repair(); + volume->center_geometry(); volume->calculate_convex_hull(); // apply volume's name and config data From 3ccb2ce275c374c5c26a4fcf6426d38433bbf18e Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Mon, 14 Jan 2019 15:37:59 +0100 Subject: [PATCH 088/189] Fix for hanging sla pipeline at routing non-ground points. --- src/libslic3r/SLA/SLASupportTree.cpp | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/SLA/SLASupportTree.cpp b/src/libslic3r/SLA/SLASupportTree.cpp index bc02d2b5871..c2fcb3c3a48 100644 --- a/src/libslic3r/SLA/SLASupportTree.cpp +++ b/src/libslic3r/SLA/SLASupportTree.cpp @@ -223,6 +223,9 @@ struct Head { // If there is a pillar connecting to this head, then the id will be set. long pillar_id = -1; + inline void invalidate() { id = -1; } + inline bool is_valid() const { return id >= 0; } + Head(double r_big_mm, double r_small_mm, double length_mm, @@ -739,8 +742,10 @@ class SLASupportTree::Impl { for(auto& head : heads()) { if(m_ctl.stopcondition()) break; - auto&& m = mesh(head.mesh); - meshcache.merge(m); + if(head.is_valid()) { + auto&& m = mesh(head.mesh); + meshcache.merge(m); + } } for(auto& stick : pillars()) { @@ -1533,8 +1538,19 @@ bool SLASupportTree::generate(const PointSet &points, // In this case there is no room for the base pinhead. if(gh < head.fullwidth()) { - base_width = gh - 2 * cfg.head_front_radius_mm - - 2*cfg.head_back_radius_mm + cfg.head_penetration_mm; + double min_l = + 2 * cfg.head_front_radius_mm + + 2 * cfg.head_back_radius_mm - cfg.head_penetration_mm; + + base_width = gh - min_l; + } + + if(base_width < 0) { + // There is really no space for even a reduced size head. We + // have to replace that with a small half sphere that touches + // the model surface. (TODO) + head.invalidate(); + continue; } head.transform(); @@ -1555,6 +1571,7 @@ bool SLASupportTree::generate(const PointSet &points, // This should not happen it is against all assumptions BOOST_LOG_TRIVIAL(warning) << "Ignoring invalid supports connecting to model body"; + head.invalidate(); continue; } From 66f998bdbf2e7013e72536d6b0d0f20bb668285e Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 14 Jan 2019 15:38:54 +0100 Subject: [PATCH 089/189] Fix of the change of the perimeters count in a vase-mode (part fix of #1649) --- src/slic3r/GUI/Field.cpp | 4 ++-- src/slic3r/GUI/Field.hpp | 1 + src/slic3r/GUI/Tab.cpp | 9 +++++++++ src/slic3r/GUI/Tab.hpp | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 2af2dc27daf..3dd1604320e 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -436,7 +436,7 @@ void SpinCtrl::BUILD() { propagate_value(); }), temp->GetId()); - temp->Bind(wxEVT_SPINCTRL, ([this](wxCommandEvent e) { on_change_field(); }), temp->GetId()); + temp->Bind(wxEVT_SPINCTRL, ([this](wxCommandEvent e) { propagate_value(); }), temp->GetId()); temp->Bind(wxEVT_TEXT_ENTER, ([this](wxCommandEvent e) { @@ -472,7 +472,7 @@ void SpinCtrl::propagate_value() { if (tmp_value < 0) on_kill_focus(); - else + else if (boost::any_cast(m_value) != tmp_value) on_change_field(); } diff --git a/src/slic3r/GUI/Field.hpp b/src/slic3r/GUI/Field.hpp index bcc94c7bafa..3273f84c910 100644 --- a/src/slic3r/GUI/Field.hpp +++ b/src/slic3r/GUI/Field.hpp @@ -325,6 +325,7 @@ class SpinCtrl : public Field { void set_value(const boost::any& value, bool change_event = false) { m_disable_change_event = !change_event; tmp_value = boost::any_cast(value); + m_value = value; dynamic_cast(window)->SetValue(tmp_value); m_disable_change_event = false; } diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 05852097ba9..d78e9c695ec 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1132,6 +1132,13 @@ void TabPrint::update() if (m_preset_bundle->printers.get_selected_preset().printer_technology() == ptSLA) return; // ys_FIXME + //! Temporary workaround for the correct updates of the SpinCtrl (like "perimeters"): + // KillFocus() for the wxSpinCtrl use CallAfter function. So, + // to except the duplicate call of the update() after dialog->ShowModal(), + // let check if this process is already started. + if (is_msg_dlg_already_exist) + return; + Freeze(); double fill_density = m_config->option("fill_density")->value; @@ -1147,6 +1154,7 @@ void TabPrint::update() "- no ensure_vertical_shell_thickness\n" "\nShall I adjust those settings in order to enable Spiral Vase?")); auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Spiral Vase")), wxICON_WARNING | wxYES | wxNO); + is_msg_dlg_already_exist = true; DynamicPrintConfig new_conf = *m_config; if (dialog->ShowModal() == wxID_YES) { new_conf.set_key_value("perimeters", new ConfigOptionInt(1)); @@ -1162,6 +1170,7 @@ void TabPrint::update() } load_config(new_conf); on_value_change("fill_density", fill_density); + is_msg_dlg_already_exist = false; } if (m_config->opt_bool("wipe_tower") && m_config->opt_bool("support_material") && diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index b1ec505abd9..9ec54e6ebd8 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -287,6 +287,7 @@ class Tab: public wxPanel class TabPrint : public Tab { + bool is_msg_dlg_already_exist {false}; public: TabPrint(wxNotebook* parent) : Tab(parent, _(L("Print Settings")), "print") {} From 6ac54896fab32e2a6e0ac651a8ea3c82acd4cc1b Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 14 Jan 2019 16:48:23 +0100 Subject: [PATCH 090/189] Mac: Fix close events on close by command-Q --- src/slic3r/GUI/MainFrame.cpp | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 8a19ccee949..2a600398697 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -428,17 +428,25 @@ void MainFrame::init_menubar() // menubar // assign menubar to frame after appending items, otherwise special items // will not be handled correctly - { - auto menubar = new wxMenuBar(); - menubar->Append(fileMenu, L("&File")); - if (editMenu) menubar->Append(editMenu, L("&Edit")); - menubar->Append(windowMenu, L("&Window")); - if (viewMenu) menubar->Append(viewMenu, L("&View")); - // Add additional menus from C++ - wxGetApp().add_config_menu(menubar); - menubar->Append(helpMenu, L("&Help")); - SetMenuBar(menubar); + auto menubar = new wxMenuBar(); + menubar->Append(fileMenu, L("&File")); + if (editMenu) menubar->Append(editMenu, L("&Edit")); + menubar->Append(windowMenu, L("&Window")); + if (viewMenu) menubar->Append(viewMenu, L("&View")); + // Add additional menus from C++ + wxGetApp().add_config_menu(menubar); + menubar->Append(helpMenu, L("&Help")); + SetMenuBar(menubar); + +#ifdef __APPLE__ + // This fixes a bug (?) on Mac OS where the quit command doesn't emit window close events + wxMenu *apple_menu = menubar->OSXGetAppleMenu(); + if (apple_menu != nullptr) { + apple_menu->Bind(wxEVT_MENU, [this](wxCommandEvent &) { + Close(); + }, wxID_EXIT); } +#endif } // To perform the "Quck Slice", "Quick Slice and Save As", "Repeat last Quick Slice" and "Slice to SVG". From befccb07341a632db3b7cafb547d30e03bbd25d5 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 14 Jan 2019 19:39:45 +0100 Subject: [PATCH 091/189] Fixed assert in mesh slicing code. --- src/libslic3r/TriangleMesh.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/TriangleMesh.cpp b/src/libslic3r/TriangleMesh.cpp index 359e144b5aa..8a0a087c025 100644 --- a/src/libslic3r/TriangleMesh.cpp +++ b/src/libslic3r/TriangleMesh.cpp @@ -860,12 +860,12 @@ void TriangleMeshSlicer::_slice_do(size_t facet_idx, std::vector::const_iterator min_layer, max_layer; min_layer = std::lower_bound(z.begin(), z.end(), min_z); // first layer whose slice_z is >= min_z - max_layer = std::upper_bound(z.begin() + (min_layer - z.begin()), z.end(), max_z) - 1; // last layer whose slice_z is <= max_z + max_layer = std::upper_bound(min_layer, z.end(), max_z); // first layer whose slice_z is > max_z #ifdef SLIC3R_TRIANGLEMESH_DEBUG printf("layers: min = %d, max = %d\n", (int)(min_layer - z.begin()), (int)(max_layer - z.begin())); #endif /* SLIC3R_TRIANGLEMESH_DEBUG */ - for (std::vector::const_iterator it = min_layer; it != max_layer + 1; ++ it) { + for (std::vector::const_iterator it = min_layer; it != max_layer; ++ it) { std::vector::size_type layer_idx = it - z.begin(); IntersectionLine il; if (this->slice_facet(*it / SCALING_FACTOR, facet, facet_idx, min_z, max_z, &il) == TriangleMeshSlicer::Slicing) { From 54299d8eb0db7910b73aba7101484a10823dc32d Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 14 Jan 2019 19:57:41 +0100 Subject: [PATCH 092/189] Fix of https://github.com/prusa3d/Slic3r/issues/1631 This is a fix of a long standing bug, where an extrusion is incorrectly drawn from the end of the last wipe move. Interestingly enough, this bug is in Slic3r at least since 1.2.9, but lucky enough it only occured for single perimeter, no infill prints with wipe after retract enabled, and only if the two successive slices were discretized exactly the same, which is quite unlikely. --- src/libslic3r/GCode.cpp | 40 ++++++++++++++++++++++------------------ src/libslic3r/GCode.hpp | 5 +++-- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index bff72a9c0c7..4d314004d68 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -103,8 +103,7 @@ OozePrevention::_get_temp(GCode &gcodegen) : gcodegen.config().temperature.get_at(gcodegen.writer().extruder()->id()); } -std::string -Wipe::wipe(GCode &gcodegen, bool toolchange) +std::string Wipe::wipe(GCode &gcodegen, bool toolchange) { std::string gcode; @@ -137,19 +136,22 @@ Wipe::wipe(GCode &gcodegen, bool toolchange) wipe_path.clip_end(wipe_path.length() - wipe_dist); // subdivide the retraction in segments - for (const Line &line : wipe_path.lines()) { - double segment_length = line.length(); - /* Reduce retraction length a bit to avoid effective retraction speed to be greater than the configured one - due to rounding (TODO: test and/or better math for this) */ - double dE = length * (segment_length / wipe_dist) * 0.95; - //FIXME one shall not generate the unnecessary G1 Fxxx commands, here wipe_speed is a constant inside this cycle. - // Is it here for the cooling markers? Or should it be outside of the cycle? - gcode += gcodegen.writer().set_speed(wipe_speed*60, "", gcodegen.enable_cooling_markers() ? ";_WIPE" : ""); - gcode += gcodegen.writer().extrude_to_xy( - gcodegen.point_to_gcode(line.b), - -dE, - "wipe and retract" - ); + if (! wipe_path.empty()) { + for (const Line &line : wipe_path.lines()) { + double segment_length = line.length(); + /* Reduce retraction length a bit to avoid effective retraction speed to be greater than the configured one + due to rounding (TODO: test and/or better math for this) */ + double dE = length * (segment_length / wipe_dist) * 0.95; + //FIXME one shall not generate the unnecessary G1 Fxxx commands, here wipe_speed is a constant inside this cycle. + // Is it here for the cooling markers? Or should it be outside of the cycle? + gcode += gcodegen.writer().set_speed(wipe_speed*60, "", gcodegen.enable_cooling_markers() ? ";_WIPE" : ""); + gcode += gcodegen.writer().extrude_to_xy( + gcodegen.point_to_gcode(line.b), + -dE, + "wipe and retract" + ); + } + gcodegen.set_last_pos(wipe_path.points.back()); } // prevent wiping again on same path @@ -2577,9 +2579,11 @@ std::string GCode::travel_to(const Point &point, ExtrusionRole role, std::string // use G1 because we rely on paths being straight (G0 may make round paths) Lines lines = travel.lines(); - for (Lines::const_iterator line = lines.begin(); line != lines.end(); ++line) - gcode += m_writer.travel_to_xy(this->point_to_gcode(line->b), comment); - + if (! lines.empty()) { + for (const Line &line : lines) + gcode += m_writer.travel_to_xy(this->point_to_gcode(line.b), comment); + this->set_last_pos(lines.back().b); + } return gcode; } diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp index 32a70575126..86a6cacee37 100644 --- a/src/libslic3r/GCode.hpp +++ b/src/libslic3r/GCode.hpp @@ -155,11 +155,11 @@ class GCode { void do_export(Print *print, const char *path, GCodePreviewData *preview_data = nullptr); // Exported for the helper classes (OozePrevention, Wipe) and for the Perl binding for unit tests. - const Vec2d& origin() const { return m_origin; } + const Vec2d& origin() const { return m_origin; } void set_origin(const Vec2d &pointf); void set_origin(const coordf_t x, const coordf_t y) { this->set_origin(Vec2d(x, y)); } const Point& last_pos() const { return m_last_pos; } - Vec2d point_to_gcode(const Point &point) const; + Vec2d point_to_gcode(const Point &point) const; Point gcode_to_point(const Vec2d &point) const; const FullPrintConfig &config() const { return m_config; } const Layer* layer() const { return m_layer; } @@ -360,6 +360,7 @@ class GCode { size_t num_objects, size_t num_islands); + friend class Wipe; friend class WipeTowerIntegration; }; From 84eefa280c2f1ebbf6b867b89a05c0b0e9d2de26 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 14 Jan 2019 19:59:18 +0100 Subject: [PATCH 093/189] Added debugging code for the Douglas-Peucker contour simplification code. --- src/libslic3r/MultiPoint.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/libslic3r/MultiPoint.cpp b/src/libslic3r/MultiPoint.cpp index 7b483cba04d..ee3b9974762 100644 --- a/src/libslic3r/MultiPoint.cpp +++ b/src/libslic3r/MultiPoint.cpp @@ -206,6 +206,26 @@ std::vector MultiPoint::_douglas_peucker(const std::vector& pts, c floater = &pts[floater_idx]; } } + assert(result_pts.front() == pts.front()); + assert(result_pts.back() == pts.back()); + +#if 0 + { + static int iRun = 0; + BoundingBox bbox(pts); + BoundingBox bbox2(result_pts); + bbox.merge(bbox2); + SVG svg(debug_out_path("douglas_peucker_%d.svg", iRun ++).c_str(), bbox); + if (pts.front() == pts.back()) + svg.draw(Polygon(pts), "black"); + else + svg.draw(Polyline(pts), "black"); + if (result_pts.front() == result_pts.back()) + svg.draw(Polygon(result_pts), "green", scale_(0.1)); + else + svg.draw(Polyline(result_pts), "green", scale_(0.1)); + } +#endif } return result_pts; } From 4b55db878a6bf5a8da4238005c168d75c61afd2f Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 15 Jan 2019 09:30:12 +0100 Subject: [PATCH 094/189] Fixed rotation of single volumes using rotate gizmo --- src/slic3r/GUI/GLCanvas3D.cpp | 2 +- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 50cc028a9a3..6ffd0b62116 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1609,7 +1609,7 @@ void GLCanvas3D::Selection::rotate(const Vec3d& rotation, bool local) else if (is_single_volume() || is_single_modifier()) #if ENABLE_WORLD_ROTATIONS { - if (requires_local_axes()) + if (local) (*m_volumes)[i]->set_volume_rotation(rotation); else { diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index 7c6ac111a35..3e6fe228c9a 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -497,7 +497,11 @@ void ObjectManipulation::change_rotation_value(const Vec3d& rotation) } canvas->get_selection().start_dragging(); +#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION + canvas->get_selection().rotate(rad_rotation, selection.is_single_full_instance() || selection.requires_local_axes()); +#else canvas->get_selection().rotate(rad_rotation, selection.is_single_full_instance()); +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION canvas->do_rotate(); #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION From 793e3cd47067d75e7f595f655016f8d65cee7cce Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 15 Jan 2019 09:31:53 +0100 Subject: [PATCH 095/189] Added "Frequently changed parameters for SLA-profiles" --- src/slic3r/GUI/GUI_ObjectSettings.hpp | 2 +- src/slic3r/GUI/Plater.cpp | 71 ++++++++++++++++++++------- src/slic3r/GUI/Plater.hpp | 2 +- src/slic3r/GUI/Tab.cpp | 20 ++++++-- 4 files changed, 70 insertions(+), 25 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectSettings.hpp b/src/slic3r/GUI/GUI_ObjectSettings.hpp index 19140efe3bb..3e72713bfb8 100644 --- a/src/slic3r/GUI/GUI_ObjectSettings.hpp +++ b/src/slic3r/GUI/GUI_ObjectSettings.hpp @@ -24,7 +24,7 @@ class OG_Settings virtual void Hide(); virtual void UpdateAndShow(const bool show); - wxSizer* get_sizer(); + virtual wxSizer* get_sizer(); ConfigOptionsGroup* get_og() { return m_og.get(); } }; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 7015084cd2e..a6ad715d594 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -286,12 +286,17 @@ class FreqChangedParams : public OG_Settings { double m_brim_width = 0.0; wxButton* m_wiping_dialog_button{ nullptr }; + wxSizer* m_sizer {nullptr}; + + std::shared_ptr m_og_sla; public: FreqChangedParams(wxWindow* parent, const int label_width); ~FreqChangedParams() {} wxButton* get_wiping_dialog_button() { return m_wiping_dialog_button; } - void Show(const bool show); + wxSizer* get_sizer() override; + ConfigOptionsGroup* get_og(const bool is_fff); + void Show(const bool is_fff); }; FreqChangedParams::FreqChangedParams(wxWindow* parent, const int label_width) : @@ -299,22 +304,13 @@ FreqChangedParams::FreqChangedParams(wxWindow* parent, const int label_width) : { DynamicPrintConfig* config = &wxGetApp().preset_bundle->prints.get_edited_preset().config; + // Frequently changed parameters for FFF_technology m_og->set_config(config); m_og->label_width = label_width; m_og->m_on_change = [config, this](t_config_option_key opt_key, boost::any value) { - TabPrint* tab_print = nullptr; - for (size_t i = 0; i < wxGetApp().tab_panel()->GetPageCount(); ++i) { - Tab *tab = dynamic_cast(wxGetApp().tab_panel()->GetPage(i)); - if (!tab) - continue; - if (tab->name() == "print") { - tab_print = static_cast(tab); - break; - } - } - if (tab_print == nullptr) - return; + Tab* tab_print = wxGetApp().get_tab(Preset::TYPE_PRINT); + if (!tab_print) return; if (opt_key == "fill_density") { value = m_og->get_config_value(*config, opt_key); @@ -413,19 +409,56 @@ FreqChangedParams::FreqChangedParams(wxWindow* parent, const int label_width) : return sizer; }; m_og->append_line(line); + + + // Frequently changed parameters for SLA_technology + m_og_sla = std::make_shared(parent, ""); + DynamicPrintConfig* config_sla = &wxGetApp().preset_bundle->sla_prints.get_edited_preset().config; + m_og_sla->set_config(config_sla); + m_og_sla->label_width = label_width*2; + + m_og_sla->m_on_change = [config_sla, this](t_config_option_key opt_key, boost::any value) { + Tab* tab = wxGetApp().get_tab(Preset::TYPE_SLA_PRINT); + if (!tab) return; + + tab->set_value(opt_key, value); + + DynamicPrintConfig new_conf = *config_sla; + new_conf.set_key_value(opt_key, new ConfigOptionBool(boost::any_cast(value))); + tab->load_config(new_conf); + tab->update_dirty(); + }; + + m_og_sla->append_single_option_line("supports_enable"); + m_og_sla->append_single_option_line("pad_enable"); + + m_sizer = new wxBoxSizer(wxVERTICAL); + m_sizer->Add(m_og->sizer, 0, wxEXPAND); + m_sizer->Add(m_og_sla->sizer, 0, wxEXPAND | wxTOP, 5); } -void FreqChangedParams::Show(const bool show) +wxSizer* FreqChangedParams::get_sizer() { - bool is_wdb_shown = m_wiping_dialog_button->IsShown(); - m_og->Show(show); + return m_sizer; +} + +void FreqChangedParams::Show(const bool is_fff) +{ + const bool is_wdb_shown = m_wiping_dialog_button->IsShown(); + m_og->Show(is_fff); + m_og_sla->Show(!is_fff); // correct showing of the FreqChangedParams sizer when m_wiping_dialog_button is hidden - if (show && !is_wdb_shown) + if (is_fff && !is_wdb_shown) m_wiping_dialog_button->Hide(); } +ConfigOptionsGroup* FreqChangedParams::get_og(const bool is_fff) +{ + return is_fff ? m_og.get() : m_og_sla.get(); +} + // Sidebar / private struct Sidebar::priv @@ -703,9 +736,9 @@ wxScrolledWindow* Sidebar::scrolled_panel() return p->scrolled; } -ConfigOptionsGroup* Sidebar::og_freq_chng_params() +ConfigOptionsGroup* Sidebar::og_freq_chng_params(const bool is_fff) { - return p->frequently_changed_parameters->get_og(); + return p->frequently_changed_parameters->get_og(is_fff); } wxButton* Sidebar::get_wiping_dialog_button() diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index 373d7dc28e6..7b19d6f313b 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -76,7 +76,7 @@ class Sidebar : public wxPanel ObjectSettings* obj_settings(); wxScrolledWindow* scrolled_panel(); - ConfigOptionsGroup* og_freq_chng_params(); + ConfigOptionsGroup* og_freq_chng_params(const bool is_fff); wxButton* get_wiping_dialog_button(); void update_objects_list_extruder_column(int extruders_count); void show_info_sizer(); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index d78e9c695ec..452e3bf2022 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -751,8 +751,8 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value) wxPostEvent(this, event); - auto og_freq_chng_params = wxGetApp().sidebar().og_freq_chng_params(); - if (opt_key == "fill_density") + ConfigOptionsGroup* og_freq_chng_params = wxGetApp().sidebar().og_freq_chng_params(supports_printer_technology(ptFFF)); + if (opt_key == "fill_density" || opt_key == "supports_enable" || opt_key == "pad_enable") { boost::any val = og_freq_chng_params->get_config_value(*m_config, opt_key); og_freq_chng_params->set_value(opt_key, val); @@ -881,8 +881,20 @@ void Tab::update_preset_description_line() void Tab::update_frequently_changed_parameters() { - auto og_freq_chng_params = wxGetApp().sidebar().og_freq_chng_params(); + auto og_freq_chng_params = wxGetApp().sidebar().og_freq_chng_params(supports_printer_technology(ptFFF)); if (!og_freq_chng_params) return; + + if (m_type == Preset::TYPE_SLA_PRINT) + { + for (auto opt_key : { "supports_enable", "pad_enable" }) + { + boost::any val = og_freq_chng_params->get_config_value(*m_config, opt_key); + og_freq_chng_params->set_value(opt_key, val); + } + return; + } + + // for m_type == Preset::TYPE_PRINT boost::any value = og_freq_chng_params->get_config_value(*m_config, "fill_density"); og_freq_chng_params->set_value("fill_density", value); @@ -2370,7 +2382,7 @@ void Tab::load_current_preset() } else { on_presets_changed(); - if (m_name == "print") + if (m_type == Preset::TYPE_SLA_PRINT || m_type == Preset::TYPE_PRINT)// if (m_name == "print") update_frequently_changed_parameters(); } From 14a36c56e7e610cd08e80a281d788003504d70ac Mon Sep 17 00:00:00 2001 From: bubnikv Date: Tue, 15 Jan 2019 10:00:34 +0100 Subject: [PATCH 096/189] Fix of "Crash after changing print values when layer colour pause is added #1658" Fix of SPE-768 --- src/slic3r/GUI/GUI_Preview.cpp | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index 560d5b69cb4..f791145a2b7 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -751,30 +751,20 @@ void Preview::load_print_as_fff() if (IsShown()) { if (gcode_preview_data_valid) - { + // Load the real G-code preview. m_canvas->load_gcode_preview(*m_gcode_preview_data, colors); - show_hide_ui_elements("full"); - - // recalculates zs and update sliders accordingly - has_layers = ! m_canvas->get_current_print_zs(true).empty(); - if (! has_layers) - { - // all layers filtered out - reset_sliders(); - m_canvas_widget->Refresh(); - } - } else - { - // load skirt and brim + // Load the initial preview based on slices, not the final G-code. m_canvas->load_preview(colors); - show_hide_ui_elements("simple"); - } - - - if (has_layers) - update_sliders(m_canvas->get_current_print_zs(true)); - + show_hide_ui_elements(gcode_preview_data_valid ? "full" : "simple"); + // recalculates zs and update sliders accordingly + std::vector zs = m_canvas->get_current_print_zs(true); + if (zs.empty()) { + // all layers filtered out + reset_sliders(); + m_canvas_widget->Refresh(); + } else + update_sliders(zs); m_loaded = true; } } From 519f5e5ea7c96db4b7ae64c7f48d1bc8c720dbf3 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 15 Jan 2019 10:24:58 +0100 Subject: [PATCH 097/189] Fix of #1606 + Added dialog closing by "Esc" button for the FirmwareDialog. --- src/slic3r/GUI/AboutDialog.cpp | 2 +- src/slic3r/GUI/FirmwareDialog.cpp | 3 +++ src/slic3r/GUI/SysInfoDialog.cpp | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/AboutDialog.cpp b/src/slic3r/GUI/AboutDialog.cpp index 582496506b4..a4bb6c814a5 100644 --- a/src/slic3r/GUI/AboutDialog.cpp +++ b/src/slic3r/GUI/AboutDialog.cpp @@ -114,7 +114,7 @@ AboutDialog::AboutDialog() this->Bind(wxEVT_BUTTON, &AboutDialog::onCloseDialog, this, wxID_CLOSE); vsizer->Add(buttons, 0, wxEXPAND | wxRIGHT | wxBOTTOM, 3); - this->Bind(wxEVT_LEFT_DOWN, &AboutDialog::onCloseDialog, this); +// this->Bind(wxEVT_LEFT_DOWN, &AboutDialog::onCloseDialog, this); logo->Bind(wxEVT_LEFT_DOWN, &AboutDialog::onCloseDialog, this); SetSizer(main_sizer); diff --git a/src/slic3r/GUI/FirmwareDialog.cpp b/src/slic3r/GUI/FirmwareDialog.cpp index 418d1a3c9de..2df1f0bc991 100644 --- a/src/slic3r/GUI/FirmwareDialog.cpp +++ b/src/slic3r/GUI/FirmwareDialog.cpp @@ -775,6 +775,8 @@ FirmwareDialog::FirmwareDialog(wxWindow *parent) : SetSize(std::max(size.GetWidth(), static_cast(MIN_WIDTH)), std::max(size.GetHeight(), static_cast(MIN_HEIGHT))); Layout(); + SetEscapeId(wxID_CLOSE); // To close the dialog using "Esc" button + // Bind events p->hex_picker->Bind(wxEVT_FILEPICKER_CHANGED, [this](wxFileDirPickerEvent& evt) { @@ -826,6 +828,7 @@ FirmwareDialog::FirmwareDialog(wxWindow *parent) : if (this->p->avrdude) { evt.Veto(); } else { + this->EndModal(wxID_CLOSE); evt.Skip(); } }); diff --git a/src/slic3r/GUI/SysInfoDialog.cpp b/src/slic3r/GUI/SysInfoDialog.cpp index 110bfaf44a5..5da74b4bb9d 100644 --- a/src/slic3r/GUI/SysInfoDialog.cpp +++ b/src/slic3r/GUI/SysInfoDialog.cpp @@ -120,7 +120,7 @@ SysInfoDialog::SysInfoDialog() this->Bind(wxEVT_BUTTON, &SysInfoDialog::onCloseDialog, this, wxID_OK); main_sizer->Add(buttons, 0, wxEXPAND | wxRIGHT | wxBOTTOM, 3); - this->Bind(wxEVT_LEFT_DOWN, &SysInfoDialog::onCloseDialog, this); +// this->Bind(wxEVT_LEFT_DOWN, &SysInfoDialog::onCloseDialog, this); logo->Bind(wxEVT_LEFT_DOWN, &SysInfoDialog::onCloseDialog, this); SetSizer(main_sizer); From 2f48997a2201b793fab79e901df1910a8002a6bb Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 15 Jan 2019 12:24:32 +0100 Subject: [PATCH 098/189] Fixed rotation of single volumes inside a rotated instance using rotate gizmo --- src/libslic3r/Geometry.cpp | 20 +++++++++++--------- src/slic3r/GUI/GLCanvas3D.cpp | 3 +-- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index 11a9955133b..37484de613d 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1182,15 +1182,17 @@ Transform3d assemble_transform(const Vec3d& translation, const Vec3d& rotation, Vec3d extract_euler_angles(const Eigen::Matrix& rotation_matrix) { #if ENABLE_NEW_EULER_ANGLES - bool x_only = (rotation_matrix(0, 0) == 1.0) && (rotation_matrix(0, 1) == 0.0) && (rotation_matrix(0, 2) == 0.0) && (rotation_matrix(1, 0) == 0.0) && (rotation_matrix(2, 0) == 0.0); - bool y_only = (rotation_matrix(0, 1) == 0.0) && (rotation_matrix(1, 0) == 0.0) && (rotation_matrix(1, 1) == 1.0) && (rotation_matrix(1, 2) == 0.0) && (rotation_matrix(2, 1) == 0.0); - bool z_only = (rotation_matrix(0, 2) == 0.0) && (rotation_matrix(1, 2) == 0.0) && (rotation_matrix(2, 0) == 0.0) && (rotation_matrix(2, 1) == 0.0) && (rotation_matrix(2, 2) == 1.0); -// bool xy_only = (rotation_matrix(0, 1) == 0.0); // Rx * Ry - bool yx_only = (rotation_matrix(1, 0) == 0.0); // Ry * Rx -// bool xz_only = (rotation_matrix(0, 2) == 0.0); // Rx * Rz -// bool zx_only = (rotation_matrix(2, 0) == 0.0); // Rz * Rx -// bool yz_only = (rotation_matrix(1, 2) == 0.0); // Ry * Rz -// bool zy_only = (rotation_matrix(2, 1) == 0.0); // Rz * Ry + auto is_approx = [](double value, double test_value) -> bool { return std::abs(value - test_value) < EPSILON; }; + + bool x_only = is_approx(rotation_matrix(0, 0), 1.0) && is_approx(rotation_matrix(0, 1), 0.0) && is_approx(rotation_matrix(0, 2), 0.0) && is_approx(rotation_matrix(1, 0), 0.0) && is_approx(rotation_matrix(2, 0), 0.0); + bool y_only = is_approx(rotation_matrix(0, 1), 0.0) && is_approx(rotation_matrix(1, 0), 0.0) && is_approx(rotation_matrix(1, 1), 1.0) && is_approx(rotation_matrix(1, 2), 0.0) && is_approx(rotation_matrix(2, 1), 0.0); + bool z_only = is_approx(rotation_matrix(0, 2), 0.0) && is_approx(rotation_matrix(1, 2), 0.0) && is_approx(rotation_matrix(2, 0), 0.0) && is_approx(rotation_matrix(2, 1), 0.0) && is_approx(rotation_matrix(2, 2), 1.0); +// bool xy_only = is_approx(rotation_matrix(0, 1), 0.0); // Rx * Ry + bool yx_only = is_approx(rotation_matrix(1, 0), 0.0); // Ry * Rx +// bool xz_only = is_approx(rotation_matrix(0, 2), 0.0); // Rx * Rz +// bool zx_only = is_approx(rotation_matrix(2, 0), 0.0); // Rz * Rx +// bool yz_only = is_approx(rotation_matrix(1, 2), 0.0); // Ry * Rz +// bool zy_only = is_approx(rotation_matrix(2, 1), 0.0); // Rz * Ry Vec3d angles = Vec3d::Zero(); if (x_only || y_only || z_only) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 6ffd0b62116..d5f4808aafe 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1614,8 +1614,7 @@ void GLCanvas3D::Selection::rotate(const Vec3d& rotation, bool local) else { Transform3d m = Geometry::assemble_transform(Vec3d::Zero(), rotation); - const Transform3d& inst_m = m_cache.volumes_data[i].get_instance_rotation_matrix(); - Vec3d new_rotation = Geometry::extract_euler_angles(inst_m.inverse() * m * inst_m * m_cache.volumes_data[i].get_volume_rotation_matrix()); + Vec3d new_rotation = Geometry::extract_euler_angles(m * m_cache.volumes_data[i].get_volume_rotation_matrix()); (*m_volumes)[i]->set_volume_rotation(new_rotation); } } From 4066df2db7cec9a4e1fafdcda9a95914c2e9d767 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 15 Jan 2019 12:59:28 +0100 Subject: [PATCH 099/189] Slightly increased limit for zoom out --- src/slic3r/GUI/GLCanvas3D.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index d5f4808aafe..9a2ea4b44c6 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -5708,7 +5708,7 @@ void GLCanvas3D::set_camera_zoom(float zoom) // Don't allow to zoom too far outside the scene. float zoom_min = _get_zoom_to_bounding_box_factor(_max_bounding_box()); if (zoom_min > 0.0f) - zoom = std::max(zoom, zoom_min * 0.8f); + zoom = std::max(zoom, zoom_min * 0.7f); m_camera.zoom = zoom; viewport_changed(); From 831de96a81f284c22f35ff8ec25273638bb1d91e Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 15 Jan 2019 14:25:28 +0100 Subject: [PATCH 100/189] Solving issue with first empty layer. --- src/libslic3r/SLA/SLASupportTree.cpp | 2 +- src/libslic3r/SLAPrint.cpp | 4 +--- src/libslic3r/SLAPrint.hpp | 8 ++++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/SLA/SLASupportTree.cpp b/src/libslic3r/SLA/SLASupportTree.cpp index c2fcb3c3a48..59d03039a7f 100644 --- a/src/libslic3r/SLA/SLASupportTree.cpp +++ b/src/libslic3r/SLA/SLASupportTree.cpp @@ -1746,7 +1746,7 @@ SlicedSupports SLASupportTree::slice(float layerh, float init_layerh) const const Pad& pad = m_impl->pad(); if(!pad.empty()) gndlvl -= float(get_pad_elevation(pad.cfg)); - std::vector heights = {gndlvl}; + std::vector heights; heights.reserve(size_t(modelh/layerh) + 1); for(float h = gndlvl + init_layerh; h < gndlvl + modelh; h += layerh) { diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index 5cddadb5b1b..1383acc40c9 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -732,9 +732,7 @@ void SLAPrint::process() po.m_supportdata->level_ids.reserve(sslices.size()); for(int i = 0; i < int(sslices.size()); ++i) { - int a = i == 0 ? 0 : 1; - int b = i == 0 ? 0 : i - 1; - LevelID h = sminZ + a * sih + b * slh; + LevelID h = sminZ + sih + i * slh; po.m_supportdata->level_ids.emplace_back(h); float fh = float(double(h) * SCALING_FACTOR); diff --git a/src/libslic3r/SLAPrint.hpp b/src/libslic3r/SLAPrint.hpp index 9fab4d55003..21503c6f6a8 100644 --- a/src/libslic3r/SLAPrint.hpp +++ b/src/libslic3r/SLAPrint.hpp @@ -148,8 +148,16 @@ class SLAPrintObject : public _SLAPrintObjectBase // Which steps have to be performed. Implicitly: all std::vector m_stepmask; + + // Individual 2d slice polygons from lower z to higher z levels std::vector m_model_slices; + + // Exact (float) height levels mapped to the slices. Each record contains + // the index to the model and the support slice vectors. SliceIndex m_slice_index; + + // The height levels corrected and scaled up in integer values. This will + // be used at rasterization. std::vector m_level_ids; // Caching the transformed (m_trafo) raw mesh of the object From bb8866ca372378cbec748fc3e42832d7d73c2f3b Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 15 Jan 2019 14:41:45 +0100 Subject: [PATCH 101/189] Quick fix for visible bridges under the pillar base. --- src/libslic3r/SLA/SLASupportTree.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/SLA/SLASupportTree.cpp b/src/libslic3r/SLA/SLASupportTree.cpp index 59d03039a7f..6477010fda4 100644 --- a/src/libslic3r/SLA/SLASupportTree.cpp +++ b/src/libslic3r/SLA/SLASupportTree.cpp @@ -1248,8 +1248,8 @@ bool SLASupportTree::generate(const PointSet &points, // there is no need to bridge them together. if(pillar_dist > 2*cfg.head_back_radius_mm && bridge_distance < cfg.max_bridge_length_mm) - while(sj(Z) > pillar.endpoint(Z) && - ej(Z) > nextpillar.endpoint(Z)) + while(sj(Z) > pillar.endpoint(Z) + cfg.base_radius_mm && + ej(Z) > nextpillar.endpoint(Z) + + cfg.base_radius_mm) { if(chkd >= bridge_distance) { result.add_bridge(sj, ej, pillar.r); From d6a203613d096e51727e5c4f81655a8665b2662e Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 15 Jan 2019 15:54:20 +0100 Subject: [PATCH 102/189] Fix of SPE-772 "Debug Assertion Failed" after the attention to D&D single material *.3mf to MMU preset --- src/slic3r/GUI/Plater.cpp | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a6ad715d594..96a6b1cff49 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -655,18 +655,24 @@ void Sidebar::update_presets(Preset::Type preset_type) PresetBundle &preset_bundle = *wxGetApp().preset_bundle; switch (preset_type) { - case Preset::TYPE_FILAMENT: - if (p->combos_filament.size() == 1) { + case Preset::TYPE_FILAMENT: + { + const int extruder_cnt = p->plater->printer_technology() != ptFFF ? 1 : + dynamic_cast(preset_bundle.printers.get_edited_preset().config.option("nozzle_diameter"))->values.size(); + const int filament_cnt = p->combos_filament.size() > extruder_cnt ? extruder_cnt : p->combos_filament.size(); + + if (filament_cnt == 1) { // Single filament printer, synchronize the filament presets. - const std::string &name = preset_bundle.filaments.get_selected_preset().name; - preset_bundle.set_filament_preset(0, name); + const std::string &name = preset_bundle.filaments.get_selected_preset().name; + preset_bundle.set_filament_preset(0, name); } - for (size_t i = 0; i < p->combos_filament.size(); i++) { - preset_bundle.update_platter_filament_ui(i, p->combos_filament[i]); + for (size_t i = 0; i < filament_cnt; i++) { + preset_bundle.update_platter_filament_ui(i, p->combos_filament[i]); } break; + } case Preset::TYPE_PRINT: preset_bundle.prints.update_platter_ui(p->combo_print); @@ -1356,14 +1362,14 @@ std::vector Plater::priv::load_files(const std::vector& input_ // The model should now be initialized if (model.looks_like_multipart_object()) { - wxMessageDialog dlg(q, _(L( - "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" - )), _(L("Multi-part object detected")), wxICON_WARNING | wxYES | wxNO); - if (dlg.ShowModal() == wxID_YES) { +// wxMessageDialog dlg(q, _(L( +// "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" +// )), _(L("Multi-part object detected")), wxICON_WARNING | wxYES | wxNO); +// if (dlg.ShowModal() == wxID_YES) { model.convert_multipart_object(nozzle_dmrs->values.size()); - } +// } } if (type_3mf || type_any_amf) { From 02a22ba991b5516c2ec749e7fd920046e1722744 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 16 Jan 2019 09:59:25 +0100 Subject: [PATCH 103/189] Fixed convex hull of sla supports --- src/slic3r/GUI/3DScene.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index d44789b7a19..0ee89296a15 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -696,7 +696,6 @@ void GLVolumeCollection::load_object_auxiliary( mesh.transform(mesh_trafo_inv); // Convex hull is required for out of print bed detection. TriangleMesh convex_hull = mesh.convex_hull_3d(); - convex_hull.transform(mesh_trafo_inv); for (const std::pair &instance_idx : instances) { const ModelInstance &model_instance = *print_object->model_object()->instances[instance_idx.first]; const SLAPrintObject::Instance &print_instance = print_object->instances()[instance_idx.second]; From 52493e17397cac76e79d66ff0d8651863a6468f2 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 16 Jan 2019 11:10:24 +0100 Subject: [PATCH 104/189] Show gizmos and toolbars tooltips when hovering on a disabled item --- src/slic3r/GUI/GLCanvas3D.cpp | 19 ++++++++++--------- src/slic3r/GUI/GLToolbar.cpp | 20 ++++++++------------ 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 9a2ea4b44c6..93ba79f2c71 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2800,13 +2800,13 @@ std::string GLCanvas3D::Gizmos::update_hover_state(const GLCanvas3D& canvas, con float icon_size = (float)it->second->get_textures_size() * OverlayIconsScale; + bool inside = (OverlayBorder <= (float)mouse_pos(0)) && ((float)mouse_pos(0) <= OverlayBorder + icon_size) && (top_y <= (float)mouse_pos(1)) && ((float)mouse_pos(1) <= top_y + icon_size); + if (inside) + name = it->second->get_name(); + if (it->second->is_activable(selection) && (it->second->get_state() != GLGizmoBase::On)) - { - bool inside = (OverlayBorder <= (float)mouse_pos(0)) && ((float)mouse_pos(0) <= OverlayBorder + icon_size) && (top_y <= (float)mouse_pos(1)) && ((float)mouse_pos(1) <= top_y + icon_size); it->second->set_state(inside ? GLGizmoBase::Hover : GLGizmoBase::Off); - if (inside) - name = it->second->get_name(); - } + top_y += (icon_size + OverlayGapY); } @@ -5365,9 +5365,8 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) std::string tooltip = ""; // updates gizmos overlay - if (!m_selection.is_empty()) - tooltip = m_gizmos.update_hover_state(*this, m_mouse.position, m_selection); - else + tooltip = m_gizmos.update_hover_state(*this, m_mouse.position, m_selection); + if (m_selection.is_empty()) m_gizmos.reset_all_states(); // updates toolbar overlay @@ -5452,7 +5451,9 @@ void GLCanvas3D::set_tooltip(const std::string& tooltip) const wxToolTip* t = m_canvas->GetToolTip(); if (t != nullptr) { - if (t->GetTip() != tooltip) + if (tooltip.empty()) + m_canvas->UnsetToolTip(); + else t->SetTip(tooltip); } else diff --git a/src/slic3r/GUI/GLToolbar.cpp b/src/slic3r/GUI/GLToolbar.cpp index 0efc19dee73..8a9c12f26a7 100644 --- a/src/slic3r/GUI/GLToolbar.cpp +++ b/src/slic3r/GUI/GLToolbar.cpp @@ -530,6 +530,8 @@ std::string GLToolbar::update_hover_state_horizontal(const Vec2d& mouse_pos, GLC GLToolbarItem::EState state = item->get_state(); bool inside = (left <= (float)scaled_mouse_pos(0)) && ((float)scaled_mouse_pos(0) <= right) && (bottom <= (float)scaled_mouse_pos(1)) && ((float)scaled_mouse_pos(1) <= top); + if (inside) + tooltip = item->get_tooltip(); switch (state) { @@ -545,9 +547,7 @@ std::string GLToolbar::update_hover_state_horizontal(const Vec2d& mouse_pos, GLC } case GLToolbarItem::Hover: { - if (inside) - tooltip = item->get_tooltip(); - else + if (!inside) { item->set_state(GLToolbarItem::Normal); parent.set_as_dirty(); @@ -567,9 +567,7 @@ std::string GLToolbar::update_hover_state_horizontal(const Vec2d& mouse_pos, GLC } case GLToolbarItem::HoverPressed: { - if (inside) - tooltip = item->get_tooltip(); - else + if (!inside) { item->set_state(GLToolbarItem::Pressed); parent.set_as_dirty(); @@ -623,6 +621,8 @@ std::string GLToolbar::update_hover_state_vertical(const Vec2d& mouse_pos, GLCan GLToolbarItem::EState state = item->get_state(); bool inside = (left <= (float)scaled_mouse_pos(0)) && ((float)scaled_mouse_pos(0) <= right) && (bottom <= (float)scaled_mouse_pos(1)) && ((float)scaled_mouse_pos(1) <= top); + if (inside) + tooltip = item->get_tooltip(); switch (state) { @@ -638,9 +638,7 @@ std::string GLToolbar::update_hover_state_vertical(const Vec2d& mouse_pos, GLCan } case GLToolbarItem::Hover: { - if (inside) - tooltip = item->get_tooltip(); - else + if (!inside) { item->set_state(GLToolbarItem::Normal); parent.set_as_dirty(); @@ -660,9 +658,7 @@ std::string GLToolbar::update_hover_state_vertical(const Vec2d& mouse_pos, GLCan } case GLToolbarItem::HoverPressed: { - if (inside) - tooltip = item->get_tooltip(); - else + if (!inside) { item->set_state(GLToolbarItem::Pressed); parent.set_as_dirty(); From 8146be5510c76cb6a678cee036bf766dfbfb3c2d Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 16 Jan 2019 11:51:30 +0100 Subject: [PATCH 105/189] Added shortcut strings to gizmos and toolbars tooltips --- src/slic3r/GUI/GLCanvas3D.cpp | 12 ++++++------ src/slic3r/GUI/GLGizmo.cpp | 13 ++++++------- src/slic3r/GUI/KBShortcutsDialog.cpp | 3 +-- src/slic3r/GUI/Plater.cpp | 4 ++-- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 93ba79f2c71..4e2eae7a643 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -5784,7 +5784,7 @@ bool GLCanvas3D::_init_toolbar() GLToolbarItem::Data item; item.name = "add"; - item.tooltip = GUI::L_str("Add..."); + item.tooltip = GUI::L_str("Add... [Ctrl+I]"); item.sprite_id = 0; item.is_toggable = false; item.action_event = EVT_GLTOOLBAR_ADD; @@ -5792,7 +5792,7 @@ bool GLCanvas3D::_init_toolbar() return false; item.name = "delete"; - item.tooltip = GUI::L_str("Delete"); + item.tooltip = GUI::L_str("Delete [Del]"); item.sprite_id = 1; item.is_toggable = false; item.action_event = EVT_GLTOOLBAR_DELETE; @@ -5800,7 +5800,7 @@ bool GLCanvas3D::_init_toolbar() return false; item.name = "deleteall"; - item.tooltip = GUI::L_str("Delete all"); + item.tooltip = GUI::L_str("Delete all [Ctrl+Del]"); item.sprite_id = 2; item.is_toggable = false; item.action_event = EVT_GLTOOLBAR_DELETE_ALL; @@ -5808,7 +5808,7 @@ bool GLCanvas3D::_init_toolbar() return false; item.name = "arrange"; - item.tooltip = GUI::L_str("Arrange"); + item.tooltip = GUI::L_str("Arrange [A]"); item.sprite_id = 3; item.is_toggable = false; item.action_event = EVT_GLTOOLBAR_ARRANGE; @@ -5819,7 +5819,7 @@ bool GLCanvas3D::_init_toolbar() return false; item.name = "more"; - item.tooltip = GUI::L_str("Add instance"); + item.tooltip = GUI::L_str("Add instance [+]"); item.sprite_id = 4; item.is_toggable = false; item.action_event = EVT_GLTOOLBAR_MORE; @@ -5827,7 +5827,7 @@ bool GLCanvas3D::_init_toolbar() return false; item.name = "fewer"; - item.tooltip = GUI::L_str("Remove instance"); + item.tooltip = GUI::L_str("Remove instance [-]"); item.sprite_id = 5; item.is_toggable = false; item.action_event = EVT_GLTOOLBAR_FEWER; diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index dda89d5f9cf..a7953572edc 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -748,7 +748,7 @@ bool GLGizmoRotate3D::on_init() std::string GLGizmoRotate3D::on_get_name() const { - return L("Rotate"); + return L("Rotate [R]"); } void GLGizmoRotate3D::on_start_dragging(const GLCanvas3D::Selection& selection) @@ -838,7 +838,7 @@ bool GLGizmoScale3D::on_init() std::string GLGizmoScale3D::on_get_name() const { - return L("Scale"); + return L("Scale [S]"); } void GLGizmoScale3D::on_start_dragging(const GLCanvas3D::Selection& selection) @@ -1197,7 +1197,7 @@ bool GLGizmoMove3D::on_init() std::string GLGizmoMove3D::on_get_name() const { - return L("Move"); + return L("Move [M]"); } void GLGizmoMove3D::on_start_dragging(const GLCanvas3D::Selection& selection) @@ -1427,7 +1427,7 @@ bool GLGizmoFlatten::on_init() std::string GLGizmoFlatten::on_get_name() const { - return L("Place on face"); + return L("Place on face [F]"); } bool GLGizmoFlatten::on_is_activable(const GLCanvas3D::Selection& selection) const @@ -2240,9 +2240,8 @@ bool GLGizmoSlaSupports::on_is_selectable() const } std::string GLGizmoSlaSupports::on_get_name() const - { - return L("SLA Support Points"); + return L("SLA Support Points [L]"); } @@ -2353,7 +2352,7 @@ bool GLGizmoCut::on_init() std::string GLGizmoCut::on_get_name() const { - return L("Cut"); + return L("Cut [C]"); } void GLGizmoCut::on_set_state() diff --git a/src/slic3r/GUI/KBShortcutsDialog.cpp b/src/slic3r/GUI/KBShortcutsDialog.cpp index 93930163511..688cf1af011 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.cpp +++ b/src/slic3r/GUI/KBShortcutsDialog.cpp @@ -120,8 +120,7 @@ void KBShortcutsDialog::fill_shortcuts() main_shortcuts.push_back(Shortcut("+" ,L("Add Instance to selected object "))); main_shortcuts.push_back(Shortcut("-" ,L("Remove Instance from selected object"))); main_shortcuts.push_back(Shortcut("?" ,L("Show keyboard shortcuts list"))); - main_shortcuts.push_back(Shortcut("PgUp/PgDn" ,L("Switch between 3D and Preview"))); - main_shortcuts.push_back(Shortcut("Shift+LeftMouse" ,L("Select multiple object/Move multiple object"))); + main_shortcuts.push_back(Shortcut("Shift+LeftMouse", L("Select multiple object/Move multiple object"))); m_full_shortcuts.emplace(_(L("Main Shortcuts")), main_shortcuts); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 96a6b1cff49..d3dad31e944 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2490,7 +2490,7 @@ void Plater::priv::init_view_toolbar() GLToolbarItem::Data item; item.name = "3D"; - item.tooltip = GUI::L_str("3D editor view"); + item.tooltip = GUI::L_str("3D editor view [Ctrl+5]"); item.sprite_id = 0; item.action_event = EVT_GLVIEWTOOLBAR_3D; item.is_toggable = false; @@ -2498,7 +2498,7 @@ void Plater::priv::init_view_toolbar() return; item.name = "Preview"; - item.tooltip = GUI::L_str("Preview"); + item.tooltip = GUI::L_str("Preview [Ctrl+6]"); item.sprite_id = 1; item.action_event = EVT_GLVIEWTOOLBAR_PREVIEW; item.is_toggable = false; From 7b449a53618c226e7098cf017e6a59293ec5880d Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 16 Jan 2019 14:39:25 +0100 Subject: [PATCH 106/189] Place on bed - increased tolerance for neighbouring triangles normals differences --- src/slic3r/GUI/GLGizmo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index a7953572edc..9decc625d6f 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -1559,7 +1559,7 @@ void GLGizmoFlatten::update_planes() while (facet_queue_cnt > 0) { int facet_idx = facet_queue[-- facet_queue_cnt]; const stl_normal& this_normal = ch.stl.facet_start[facet_idx].normal; - if (this_normal.isApprox(*normal_ptr)) { + if (std::abs(this_normal(0) - (*normal_ptr)(0)) < 0.001 && std::abs(this_normal(1) - (*normal_ptr)(1)) < 0.001 && std::abs(this_normal(2) - (*normal_ptr)(2)) < 0.001) { stl_vertex* first_vertex = ch.stl.facet_start[facet_idx].vertex; for (int j=0; j<3; ++j) m_planes.back().vertices.emplace_back((double)first_vertex[j](0), (double)first_vertex[j](1), (double)first_vertex[j](2)); From e8d63f3eb13052ba8d813e6599a50c4eb0b6ecb4 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Wed, 16 Jan 2019 12:22:17 +0100 Subject: [PATCH 107/189] Upgrade Boost to 1.66 on Windows --- deps/deps-windows.cmake | 4 ++-- src/libslic3r/CMakeLists.txt | 4 ++-- src/libslic3r/libslic3r.h | 4 +++- src/slic3r/GUI/Tab.cpp | 2 +- xs/CMakeLists.txt | 2 +- xs/main.xs.in | 2 +- xs/src/perlglue.cpp | 2 +- xs/src/xsinit.h | 9 ++++++++- xs/xsp/my.map | 6 +++--- xs/xsp/typemap.xspt | 6 +++--- 10 files changed, 25 insertions(+), 16 deletions(-) diff --git a/deps/deps-windows.cmake b/deps/deps-windows.cmake index ec61cb422d5..44a1843bb12 100644 --- a/deps/deps-windows.cmake +++ b/deps/deps-windows.cmake @@ -15,8 +15,8 @@ endif () ExternalProject_Add(dep_boost EXCLUDE_FROM_ALL 1 - URL "https://dl.bintray.com/boostorg/release/1.63.0/source/boost_1_63_0.tar.gz" - URL_HASH SHA256=fe34a4e119798e10b8cc9e565b3b0284e9fd3977ec8a1b19586ad1dec397088b + URL "https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz" + URL_HASH SHA256=bd0df411efd9a585e5a2212275f8762079fed8842264954675a4fddc46cfcf60 BUILD_IN_SOURCE 1 CONFIGURE_COMMAND bootstrap.bat BUILD_COMMAND b2.exe diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt index c97d3d97265..baf860bd45c 100644 --- a/src/libslic3r/CMakeLists.txt +++ b/src/libslic3r/CMakeLists.txt @@ -88,8 +88,8 @@ add_library(libslic3r STATIC GCode.hpp GCodeReader.cpp GCodeReader.hpp - GCodeSender.cpp - GCodeSender.hpp + # GCodeSender.cpp + # GCodeSender.hpp GCodeTimeEstimator.cpp GCodeTimeEstimator.hpp GCodeWriter.cpp diff --git a/src/libslic3r/libslic3r.h b/src/libslic3r/libslic3r.h index f8088faeaf5..19c6d3065ce 100644 --- a/src/libslic3r/libslic3r.h +++ b/src/libslic3r/libslic3r.h @@ -4,6 +4,8 @@ #include "libslic3r_version.h" // this needs to be included early for MSVC (listing it in Build.PL is not enough) +#include +#include #include #include #include @@ -13,7 +15,7 @@ #include #include #include -#include +#include #include "Technologies.hpp" diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 452e3bf2022..02366c72146 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1,4 +1,4 @@ -#include "libslic3r/GCodeSender.hpp" +// #include "libslic3r/GCodeSender.hpp" #include "Tab.hpp" #include "PresetBundle.hpp" #include "PresetHints.hpp" diff --git a/xs/CMakeLists.txt b/xs/CMakeLists.txt index f14499bf9a7..4696badc495 100644 --- a/xs/CMakeLists.txt +++ b/xs/CMakeLists.txt @@ -53,7 +53,7 @@ set(XS_XSP_FILES ${XSP_DIR}/Filler.xsp ${XSP_DIR}/Flow.xsp ${XSP_DIR}/GCode.xsp - ${XSP_DIR}/GCodeSender.xsp + # ${XSP_DIR}/GCodeSender.xsp ${XSP_DIR}/Geometry.xsp ${XSP_DIR}/Layer.xsp ${XSP_DIR}/Line.xsp diff --git a/xs/main.xs.in b/xs/main.xs.in index d2bb2518b3e..3523d569ea3 100644 --- a/xs/main.xs.in +++ b/xs/main.xs.in @@ -2,7 +2,7 @@ #include #include #include -#include +// #include #ifdef __cplusplus extern "C" { diff --git a/xs/src/perlglue.cpp b/xs/src/perlglue.cpp index 98a124c3faf..bcf84b95715 100644 --- a/xs/src/perlglue.cpp +++ b/xs/src/perlglue.cpp @@ -16,7 +16,7 @@ REGISTER_CLASS(Flow, "Flow"); REGISTER_CLASS(CoolingBuffer, "GCode::CoolingBuffer"); REGISTER_CLASS(GCode, "GCode"); REGISTER_CLASS(GCodePreviewData, "GCode::PreviewData"); -REGISTER_CLASS(GCodeSender, "GCode::Sender"); +// REGISTER_CLASS(GCodeSender, "GCode::Sender"); REGISTER_CLASS(Layer, "Layer"); REGISTER_CLASS(SupportLayer, "Layer::Support"); REGISTER_CLASS(LayerRegion, "Layer::Region"); diff --git a/xs/src/xsinit.h b/xs/src/xsinit.h index e36376bd1a1..506ef0a0be9 100644 --- a/xs/src/xsinit.h +++ b/xs/src/xsinit.h @@ -37,7 +37,7 @@ #include #include #include -#include +// #include #ifdef SLIC3RXS extern "C" { @@ -68,12 +68,19 @@ extern "C" { #undef fputc #undef fwrite #undef fclose + #undef sleep + #undef test + #undef accept + #undef wait // Breaks compilation with Eigen matrices embedded into Slic3r::Point. #undef malloc #undef realloc #undef free #undef select + + // Because of TBB + #define _WIN32_WINNT 0x0502 #endif /* _MSC_VER */ #undef Zero #undef Packet diff --git a/xs/xsp/my.map b/xs/xsp/my.map index 07e4a37999e..fd50d297511 100644 --- a/xs/xsp/my.map +++ b/xs/xsp/my.map @@ -199,9 +199,9 @@ MotionPlanner* O_OBJECT_SLIC3R Ref O_OBJECT_SLIC3R_T Clone O_OBJECT_SLIC3R_T -GCodeSender* O_OBJECT_SLIC3R -Ref O_OBJECT_SLIC3R_T -Clone O_OBJECT_SLIC3R_T +// GCodeSender* O_OBJECT_SLIC3R +// Ref O_OBJECT_SLIC3R_T +// Clone O_OBJECT_SLIC3R_T BridgeDetector* O_OBJECT_SLIC3R Ref O_OBJECT_SLIC3R_T diff --git a/xs/xsp/typemap.xspt b/xs/xsp/typemap.xspt index 121033db4b8..7e277703b8f 100644 --- a/xs/xsp/typemap.xspt +++ b/xs/xsp/typemap.xspt @@ -100,9 +100,9 @@ %typemap{MotionPlanner*}; %typemap{Ref}{simple}; %typemap{Clone}{simple}; -%typemap{GCodeSender*}; -%typemap{Ref}{simple}; -%typemap{Clone}{simple}; +// %typemap{GCodeSender*}; +// %typemap{Ref}{simple}; +// %typemap{Clone}{simple}; %typemap{BridgeDetector*}; %typemap{Ref}{simple}; %typemap{Clone}{simple}; From aa7ff0700b4af1ec81d9d2b6ba37c53def1f9bcb Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 17 Jan 2019 13:21:33 +0100 Subject: [PATCH 108/189] Reworked management of bed shape changes (may fix #1671) --- src/libslic3r/Technologies.hpp | 2 ++ src/slic3r/GUI/GLCanvas3D.cpp | 33 +++++++++++++++++++++++++++++++++ src/slic3r/GUI/GLCanvas3D.hpp | 8 ++++++++ src/slic3r/GUI/GUI_Preview.cpp | 4 ++++ src/slic3r/GUI/Plater.cpp | 10 +++++++--- 5 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 3d63f781c09..05bb076165d 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -60,3 +60,5 @@ #define ENABLE_MOVE_MIN_THRESHOLD (1 && ENABLE_1_42_0_ALPHA4) // Modified initial default placement of generic subparts #define ENABLE_GENERIC_SUBPARTS_PLACEMENT (1 && ENABLE_1_42_0_ALPHA4) +// Reworked management of bed shape changes +#define ENABLE_REWORKED_BED_SHAPE_CHANGE (1 && ENABLE_1_42_0_ALPHA4) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 4e2eae7a643..16f51945520 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -3718,7 +3718,11 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas) , m_dirty(true) , m_initialized(false) , m_use_VBOs(false) +#if ENABLE_REWORKED_BED_SHAPE_CHANGE + , m_requires_zoom_to_bed(false) +#else , m_force_zoom_to_bed_enabled(false) +#endif // ENABLE_REWORKED_BED_SHAPE_CHANGE , m_apply_zoom_to_volumes_filter(false) , m_hover_volume_id(-1) , m_toolbar_action_running(false) @@ -3937,7 +3941,11 @@ void GLCanvas3D::set_bed_shape(const Pointfs& shape) set_bed_axes_length(0.1 * m_bed.get_bounding_box().max_size()); if (new_shape) +#if ENABLE_REWORKED_BED_SHAPE_CHANGE + m_requires_zoom_to_bed = true; +#else zoom_to_bed(); +#endif // ENABLE_REWORKED_BED_SHAPE_CHANGE m_dirty = true; } @@ -4032,10 +4040,12 @@ void GLCanvas3D::enable_toolbar(bool enable) m_toolbar.set_enabled(enable); } +#if !ENABLE_REWORKED_BED_SHAPE_CHANGE void GLCanvas3D::enable_force_zoom_to_bed(bool enable) { m_force_zoom_to_bed_enabled = enable; } +#endif // !ENABLE_REWORKED_BED_SHAPE_CHANGE void GLCanvas3D::enable_dynamic_background(bool enable) { @@ -4116,6 +4126,9 @@ void GLCanvas3D::set_viewport_from_scene(const GLCanvas3D& other) m_camera.set_scene_box(other.m_camera.get_scene_box(), *this); m_camera.set_target(other.m_camera.get_target(), *this); m_camera.zoom = other.m_camera.zoom; +#if ENABLE_REWORKED_BED_SHAPE_CHANGE + m_requires_zoom_to_bed = false; +#endif // ENABLE_REWORKED_BED_SHAPE_CHANGE m_dirty = true; } @@ -4168,8 +4181,18 @@ void GLCanvas3D::render() #endif // ENABLE_USE_UNIQUE_GLCONTEXT return; +#if ENABLE_REWORKED_BED_SHAPE_CHANGE + if (m_requires_zoom_to_bed) + { + zoom_to_bed(); + const Size& cnv_size = get_canvas_size(); + _resize((unsigned int)cnv_size.get_width(), (unsigned int)cnv_size.get_height()); + m_requires_zoom_to_bed = false; + } +#else if (m_force_zoom_to_bed_enabled) _force_zoom_to_bed(); +#endif // ENABLE_REWORKED_BED_SHAPE_CHANGE _camera_tranform(); @@ -5738,11 +5761,13 @@ bool GLCanvas3D::_is_shown_on_screen() const return (m_canvas != nullptr) ? m_canvas->IsShownOnScreen() : false; } +#if !ENABLE_REWORKED_BED_SHAPE_CHANGE void GLCanvas3D::_force_zoom_to_bed() { zoom_to_bed(); m_force_zoom_to_bed_enabled = false; } +#endif // !ENABLE_REWORKED_BED_SHAPE_CHANGE bool GLCanvas3D::_init_toolbar() { @@ -5974,7 +5999,11 @@ void GLCanvas3D::_zoom_to_bounding_box(const BoundingBoxf3& bbox) viewport_changed(); +#if ENABLE_REWORKED_BED_SHAPE_CHANGE + m_dirty = true; +#else _refresh_if_shown_on_screen(); +#endif // ENABLE_REWORKED_BED_SHAPE_CHANGE } } @@ -6076,11 +6105,15 @@ void GLCanvas3D::_refresh_if_shown_on_screen() // Because of performance problems on macOS, where PaintEvents are not delivered // frequently enough, we call render() here directly when we can. +#if ENABLE_REWORKED_BED_SHAPE_CHANGE + render(); +#else // We can't do that when m_force_zoom_to_bed_enabled == true, because then render() // ends up calling back here via _force_zoom_to_bed(), causing a stack overflow. if (m_canvas != nullptr) { m_force_zoom_to_bed_enabled ? m_canvas->Refresh() : render(); } +#endif // ENABLE_REWORKED_BED_SHAPE_CHANGE } } diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index f1ccdf54be4..625c7316954 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -829,7 +829,11 @@ class GLCanvas3D bool m_dirty; bool m_initialized; bool m_use_VBOs; +#if ENABLE_REWORKED_BED_SHAPE_CHANGE + bool m_requires_zoom_to_bed; +#else bool m_force_zoom_to_bed_enabled; +#endif // ENABLE_REWORKED_BED_SHAPE_CHANGE bool m_apply_zoom_to_volumes_filter; mutable int m_hover_volume_id; bool m_toolbar_action_running; @@ -920,7 +924,9 @@ class GLCanvas3D void enable_moving(bool enable); void enable_gizmos(bool enable); void enable_toolbar(bool enable); +#if !ENABLE_REWORKED_BED_SHAPE_CHANGE void enable_force_zoom_to_bed(bool enable); +#endif // !ENABLE_REWORKED_BED_SHAPE_CHANGE void enable_dynamic_background(bool enable); void allow_multisample(bool allow); @@ -1001,7 +1007,9 @@ class GLCanvas3D private: bool _is_shown_on_screen() const; +#if !ENABLE_REWORKED_BED_SHAPE_CHANGE void _force_zoom_to_bed(); +#endif // !ENABLE_REWORKED_BED_SHAPE_CHANGE bool _init_toolbar(); diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index f791145a2b7..ad432c27396 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -69,7 +69,9 @@ bool View3D::init(wxWindow* parent, Model* model, DynamicPrintConfig* config, Ba m_canvas->set_config(config); m_canvas->enable_gizmos(true); m_canvas->enable_toolbar(true); +#if !ENABLE_REWORKED_BED_SHAPE_CHANGE m_canvas->enable_force_zoom_to_bed(true); +#endif // !ENABLE_REWORKED_BED_SHAPE_CHANGE #if !ENABLE_IMGUI m_gizmo_widget = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize); @@ -107,7 +109,9 @@ void View3D::set_bed_shape(const Pointfs& shape) if (m_canvas != nullptr) { m_canvas->set_bed_shape(shape); +#if !ENABLE_REWORKED_BED_SHAPE_CHANGE m_canvas->zoom_to_bed(); +#endif // !ENABLE_REWORKED_BED_SHAPE_CHANGE } } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index d3dad31e944..ad4472bcfc5 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1125,9 +1125,11 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) this->background_process_timer.SetOwner(this->q, 0); this->q->Bind(wxEVT_TIMER, [this](wxTimerEvent &evt) { this->update_restart_background_process(false, false); }); +#if !ENABLE_REWORKED_BED_SHAPE_CHANGE auto *bed_shape = config->opt("bed_shape"); view3D->set_bed_shape(bed_shape->values); preview->set_bed_shape(bed_shape->values); +#endif // !ENABLE_REWORKED_BED_SHAPE_CHANGE update(); @@ -2965,7 +2967,7 @@ void Plater::on_config_change(const DynamicPrintConfig &config) p->config->set_key_value(opt_key, config.option(opt_key)->clone()); if (opt_key == "printer_technology") this->set_printer_technology(config.opt_enum(opt_key)); - else if (opt_key == "bed_shape") { + else if (opt_key == "bed_shape") { if (p->view3D) p->view3D->set_bed_shape(p->config->option(opt_key)->values); if (p->preview) p->preview->set_bed_shape(p->config->option(opt_key)->values); update_scheduled = true; @@ -2990,12 +2992,14 @@ void Plater::on_config_change(const DynamicPrintConfig &config) p->preview->set_number_extruders(p->config->option(opt_key)->values.size()); } else if(opt_key == "max_print_height") { update_scheduled = true; - } else if(opt_key == "printer_model") { + } + else if (opt_key == "printer_model") { // update to force bed selection(for texturing) if (p->view3D) p->view3D->set_bed_shape(p->config->option("bed_shape")->values); if (p->preview) p->preview->set_bed_shape(p->config->option("bed_shape")->values); update_scheduled = true; - } else if (opt_key == "host_type" && this->p->printer_technology == ptSLA) { + } + else if (opt_key == "host_type" && this->p->printer_technology == ptSLA) { p->config->option>(opt_key)->value = htSL1; } } From d59fc1939bd39124c23461274eddf85ba0aae81d Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 17 Jan 2019 13:49:10 +0100 Subject: [PATCH 109/189] Fix a missing header in GCodeReader --- src/libslic3r/GCodeReader.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libslic3r/GCodeReader.cpp b/src/libslic3r/GCodeReader.cpp index 51853e9fa20..cd1ff867bc2 100644 --- a/src/libslic3r/GCodeReader.cpp +++ b/src/libslic3r/GCodeReader.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include From 6175eda867e982de79397fdaf7f25f1609d37aca Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 17 Jan 2019 15:40:09 +0100 Subject: [PATCH 110/189] Fix build --- src/libslic3r/PlaceholderParser.cpp | 6 +++--- src/libslic3r/Slicing.hpp | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/PlaceholderParser.cpp b/src/libslic3r/PlaceholderParser.cpp index eae8f418b77..42caa999e0f 100644 --- a/src/libslic3r/PlaceholderParser.cpp +++ b/src/libslic3r/PlaceholderParser.cpp @@ -270,9 +270,9 @@ namespace client { std::string out; switch (type) { - case TYPE_BOOL: out = boost::to_string(data.b); break; - case TYPE_INT: out = boost::to_string(data.i); break; - case TYPE_DOUBLE: out = boost::to_string(data.d); break; + case TYPE_BOOL: out = std::to_string(data.b); break; + case TYPE_INT: out = std::to_string(data.i); break; + case TYPE_DOUBLE: out = std::to_string(data.d); break; case TYPE_STRING: out = *data.s; break; default: break; } diff --git a/src/libslic3r/Slicing.hpp b/src/libslic3r/Slicing.hpp index b4a074bb54a..6070864e1bd 100644 --- a/src/libslic3r/Slicing.hpp +++ b/src/libslic3r/Slicing.hpp @@ -5,6 +5,7 @@ #include #include +#include #include "libslic3r.h" namespace Slic3r From 570cc6e16710ccade37e7c02223bae8d856d12f0 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 17 Jan 2019 16:47:01 +0100 Subject: [PATCH 111/189] Fix string conversions in PlaceholderParser --- src/libslic3r/PlaceholderParser.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/PlaceholderParser.cpp b/src/libslic3r/PlaceholderParser.cpp index 42caa999e0f..443b5e8f97c 100644 --- a/src/libslic3r/PlaceholderParser.cpp +++ b/src/libslic3r/PlaceholderParser.cpp @@ -270,9 +270,9 @@ namespace client { std::string out; switch (type) { - case TYPE_BOOL: out = std::to_string(data.b); break; - case TYPE_INT: out = std::to_string(data.i); break; - case TYPE_DOUBLE: out = std::to_string(data.d); break; + case TYPE_BOOL: out = boost::lexical_cast(data.b); break; + case TYPE_INT: out = boost::lexical_cast(data.i); break; + case TYPE_DOUBLE: out = boost::lexical_cast(data.d); break; case TYPE_STRING: out = *data.s; break; default: break; } From 606789130e4dfc99e1b6066fb33c6b3434326bfe Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 17 Jan 2019 16:10:32 +0100 Subject: [PATCH 112/189] Fix build against wx 3.1.2 on Windows --- src/slic3r/GUI/wxExtensions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 096db2c5f2c..52eb3180dd3 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -288,7 +288,7 @@ bool PrusaCollapsiblePaneMSW::Create(wxWindow *parent, wxWindowID id, const wxSt { if (!wxControl::Create(parent, id, pos, size, style, val, name)) return false; - m_pStaticLine = NULL; + // m_pStaticLine = NULL; m_strLabel = label; // sizer containing the expand button and possibly a static line From 3a48f362682389d25f9c1989710506ae49b5cbff Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 17 Jan 2019 19:00:08 +0100 Subject: [PATCH 113/189] Revert "Fix string conversions in PlaceholderParser" This reverts commit 570cc6e16710ccade37e7c02223bae8d856d12f0. Not an improvement --- src/libslic3r/PlaceholderParser.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/PlaceholderParser.cpp b/src/libslic3r/PlaceholderParser.cpp index 443b5e8f97c..42caa999e0f 100644 --- a/src/libslic3r/PlaceholderParser.cpp +++ b/src/libslic3r/PlaceholderParser.cpp @@ -270,9 +270,9 @@ namespace client { std::string out; switch (type) { - case TYPE_BOOL: out = boost::lexical_cast(data.b); break; - case TYPE_INT: out = boost::lexical_cast(data.i); break; - case TYPE_DOUBLE: out = boost::lexical_cast(data.d); break; + case TYPE_BOOL: out = std::to_string(data.b); break; + case TYPE_INT: out = std::to_string(data.i); break; + case TYPE_DOUBLE: out = std::to_string(data.d); break; case TYPE_STRING: out = *data.s; break; default: break; } From 668d374779f7249d226891e479ced01c84631ec5 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 17 Jan 2019 20:34:19 +0100 Subject: [PATCH 114/189] Implemented post-processing scripts on Windows. Fixes https://github.com/prusa3d/Slic3r/issues/1666 --- src/libslic3r/GCode/PostProcessor.cpp | 190 ++++++++++++++++++++------ 1 file changed, 149 insertions(+), 41 deletions(-) diff --git a/src/libslic3r/GCode/PostProcessor.cpp b/src/libslic3r/GCode/PostProcessor.cpp index e44faa22057..3bac8873396 100644 --- a/src/libslic3r/GCode/PostProcessor.cpp +++ b/src/libslic3r/GCode/PostProcessor.cpp @@ -1,22 +1,136 @@ #include "PostProcessor.hpp" #include +#include #ifdef WIN32 -namespace Slic3r { +// The standard Windows includes. +#define WIN32_LEAN_AND_MEAN +#define NOMINMAX +#include -//FIXME Ignore until we include boost::process -void run_post_process_scripts(const std::string &path, const PrintConfig &config) +// https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/ +// This routine appends the given argument to a command line such that CommandLineToArgvW will return the argument string unchanged. +// Arguments in a command line should be separated by spaces; this function does not add these spaces. +// Argument - Supplies the argument to encode. +// CommandLine - Supplies the command line to which we append the encoded argument string. +static void quote_argv_winapi(const std::wstring &argument, std::wstring &commmand_line_out) { + // Don't quote unless we actually need to do so --- hopefully avoid problems if programs won't parse quotes properly. + if (argument.empty() == false && argument.find_first_of(L" \t\n\v\"") == argument.npos) + commmand_line_out.append(argument); + else { + commmand_line_out.push_back(L'"'); + for (auto it = argument.begin(); ; ++ it) { + unsigned number_backslashes = 0; + while (it != argument.end() && *it == L'\\') { + ++ it; + ++ number_backslashes; + } + if (it == argument.end()) { + // Escape all backslashes, but let the terminating double quotation mark we add below be interpreted as a metacharacter. + commmand_line_out.append(number_backslashes * 2, L'\\'); + break; + } else if (*it == L'"') { + // Escape all backslashes and the following double quotation mark. + commmand_line_out.append(number_backslashes * 2 + 1, L'\\'); + commmand_line_out.push_back(*it); + } else { + // Backslashes aren't special here. + commmand_line_out.append(number_backslashes, L'\\'); + commmand_line_out.push_back(*it); + } + } + commmand_line_out.push_back(L'"'); + } } -} // namespace Slic3r +static DWORD execute_process_winapi(const std::wstring &command_line) +{ + // Extract the current environment to be passed to the child process. + std::wstring envstr; + { + wchar_t *env = GetEnvironmentStrings(); + assert(env != nullptr); + const wchar_t* var = env; + size_t totallen = 0; + size_t len; + while ((len = wcslen(var)) > 0) { + totallen += len + 1; + var += len + 1; + } + envstr = std::wstring(env, totallen); + FreeEnvironmentStrings(env); + } -#else + STARTUPINFOW startup_info; + memset(&startup_info, 0, sizeof(startup_info)); + startup_info.cb = sizeof(STARTUPINFO); +#if 0 + startup_info.dwFlags = STARTF_USESHOWWINDOW; + startup_info.wShowWindow = SW_HIDE; +#endif + PROCESS_INFORMATION process_info; + if (! ::CreateProcessW( + nullptr /* lpApplicationName */, (LPWSTR)command_line.c_str(), nullptr /* lpProcessAttributes */, nullptr /* lpThreadAttributes */, false /* bInheritHandles */, + CREATE_UNICODE_ENVIRONMENT /* | CREATE_NEW_CONSOLE */ /* dwCreationFlags */, (LPVOID)envstr.c_str(), nullptr /* lpCurrentDirectory */, &startup_info, &process_info)) + throw std::runtime_error(std::string("Failed starting the script ") + boost::nowide::narrow(command_line) + ", Win32 error: " + std::to_string(int(::GetLastError()))); + ::WaitForSingleObject(process_info.hProcess, INFINITE); + ULONG rc = 0; + ::GetExitCodeProcess(process_info.hProcess, &rc); + ::CloseHandle(process_info.hThread); + ::CloseHandle(process_info.hProcess); + return rc; +} + +// Run the script. If it is a perl script, run it through the bundled perl interpreter. +// If it is a batch file, run it through the cmd.exe. +// Otherwise run it directly. +static int run_script_win32(const std::string &script, const std::string &gcode) +{ + // Unpack the argument list provided by the user. + int nArgs; + LPWSTR *szArglist = CommandLineToArgvW(boost::nowide::widen(script).c_str(), &nArgs); + if (szArglist == nullptr || nArgs <= 0) { + // CommandLineToArgvW failed. Maybe the command line escapment is invalid? + throw std::runtime_error(std::string("Post processing script ") + script + " on file " + gcode + " failed. CommandLineToArgvW() refused to parse the command line path."); + } -#include -#ifndef WIN32 + std::wstring command_line; + std::wstring command = szArglist[0]; + if (! boost::filesystem::exists(boost::filesystem::path(command))) + throw std::runtime_error(std::string("The configured post-processing script does not exist: ") + boost::nowide::narrow(command)); + if (boost::iends_with(command, L".pl")) { + // This is a perl script. Run it through the perl interpreter. + // The current process may be slic3r.exe or slic3r-console.exe. + // Find the path of the process: + wchar_t wpath_exe[_MAX_PATH + 1]; + ::GetModuleFileNameW(nullptr, wpath_exe, _MAX_PATH); + boost::filesystem::path path_exe(wpath_exe); + boost::filesystem::path path_perl = path_exe.parent_path() / "perl" / "perl.exe"; + if (! boost::filesystem::exists(path_perl)) { + LocalFree(szArglist); + throw std::runtime_error(std::string("Perl interpreter ") + path_perl.string() + " does not exist."); + } + // Replace it with the current perl interpreter. + quote_argv_winapi(boost::nowide::widen(path_perl.string()), command_line); + command_line += L" "; + } else if (boost::iends_with(command, ".bat")) { + // Run a batch file through the command line interpreter. + command_line = L"cmd.exe /C "; + } + + for (int i = 0; i < nArgs; ++ i) { + quote_argv_winapi(szArglist[i], command_line); + command_line += L" "; + } + LocalFree(szArglist); + quote_argv_winapi(boost::nowide::widen(gcode), command_line); + return (int)execute_process_winapi(command_line); +} + +#else #include //for getting filesystem UID/GID #include //for getting current UID/GID #endif @@ -33,44 +147,38 @@ void run_post_process_scripts(const std::string &path, const PrintConfig &config if (! boost::filesystem::exists(gcode_file)) throw std::runtime_error(std::string("Post-processor can't find exported gcode file")); - for (std::string script: config.post_process.values) { - // Ignore empty post processing script lines. - boost::trim(script); - if (script.empty()) - continue; - BOOST_LOG_TRIVIAL(info) << "Executing script " << script << " on file " << path; - if (! boost::filesystem::exists(boost::filesystem::path(script))) - throw std::runtime_error(std::string("The configured post-processing script does not exist: ") + script); -#ifndef WIN32 - struct stat info; - if (stat(script.c_str(), &info)) - throw std::runtime_error(std::string("Cannot read information for post-processing script: ") + script); - boost::filesystem::perms script_perms = boost::filesystem::status(script).permissions(); - //if UID matches, check UID perm. else if GID matches, check GID perm. Otherwise check other perm. - if (!(script_perms & ((info.st_uid == geteuid()) ? boost::filesystem::perms::owner_exe - : ((info.st_gid == getegid()) ? boost::filesystem::perms::group_exe - : boost::filesystem::perms::others_exe)))) - throw std::runtime_error(std::string("The configured post-processing script is not executable: check permissions. ") + script); -#endif - int result = 0; + for (const std::string &scripts : config.post_process.values) { + std::vector lines; + boost::split(lines, scripts, boost::is_any_of("\r\n")); + for (std::string script : lines) { + // Ignore empty post processing script lines. + boost::trim(script); + if (script.empty()) + continue; + BOOST_LOG_TRIVIAL(info) << "Executing script " << script << " on file " << path; #ifdef WIN32 - if (boost::iends_with(file, ".gcode")) { - // The current process may be slic3r.exe or slic3r-console.exe. - // Find the path of the process: - wchar_t wpath_exe[_MAX_PATH + 1]; - ::GetModuleFileNameW(nullptr, wpath_exe, _MAX_PATH); - boost::filesystem::path path_exe(wpath_exe); - // Replace it with the current perl interpreter. - result = boost::process::system((path_exe.parent_path() / "perl5.24.0.exe").string(), script, gcode_file); - } else + int result = run_script_win32(script, gcode_file.string()); #else - result = boost::process::system(script, gcode_file); + //FIXME testing existence of a script is risky, as the script line may contain the script and some additional command line parameters. + // We would have to process the script line into parameters before testing for the existence of the command, the command may be looked up + // in the PATH etc. + if (! boost::filesystem::exists(boost::filesystem::path(script))) + throw std::runtime_error(std::string("The configured post-processing script does not exist: ") + script); + struct stat info; + if (stat(script.c_str(), &info)) + throw std::runtime_error(std::string("Cannot read information for post-processing script: ") + script); + boost::filesystem::perms script_perms = boost::filesystem::status(script).permissions(); + //if UID matches, check UID perm. else if GID matches, check GID perm. Otherwise check other perm. + if (!(script_perms & ((info.st_uid == geteuid()) ? boost::filesystem::perms::owner_exe + : ((info.st_gid == getegid()) ? boost::filesystem::perms::group_exe + : boost::filesystem::perms::others_exe)))) + throw std::runtime_error(std::string("The configured post-processing script is not executable: check permissions. ") + script); + int result = boost::process::system(script, gcode_file); + if (result < 0) + BOOST_LOG_TRIVIAL(error) << "Script " << script << " on file " << path << " failed. Negative error code returned."; #endif - if (result < 0) - BOOST_LOG_TRIVIAL(error) << "Script " << script << " on file " << path << " failed. Negative error code returned."; + } } } } // namespace Slic3r - -#endif From 13f0da3ace8119633f71b92818b7f4bec6445f77 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 18 Jan 2019 09:50:56 +0100 Subject: [PATCH 115/189] Fixed conversion of floating point values to string from PlaceholderParser after boost::to_string() was removed from boost 1.66. --- src/libslic3r/PlaceholderParser.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/PlaceholderParser.cpp b/src/libslic3r/PlaceholderParser.cpp index 42caa999e0f..ae66178aa3e 100644 --- a/src/libslic3r/PlaceholderParser.cpp +++ b/src/libslic3r/PlaceholderParser.cpp @@ -270,9 +270,22 @@ namespace client { std::string out; switch (type) { - case TYPE_BOOL: out = std::to_string(data.b); break; + case TYPE_BOOL: out = data.b ? "true" : "false"; break; case TYPE_INT: out = std::to_string(data.i); break; - case TYPE_DOUBLE: out = std::to_string(data.d); break; + case TYPE_DOUBLE: +#if 0 + // The default converter produces trailing zeros after the decimal point. + out = std::to_string(data.d); +#else + // ostringstream default converter produces no trailing zeros after the decimal point. + // It seems to be doing what the old boost::to_string() did. + { + std::ostringstream ss; + ss << data.d; + out = ss.str(); + } +#endif + break; case TYPE_STRING: out = *data.s; break; default: break; } From 3e289056216777986a89f4c044b4090c2b9a3a73 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 18 Jan 2019 10:16:53 +0100 Subject: [PATCH 116/189] Fixed missing includes in PostProcessor.cpp Fixes https://github.com/prusa3d/Slic3r/issues/1679 --- src/libslic3r/GCode/PostProcessor.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libslic3r/GCode/PostProcessor.cpp b/src/libslic3r/GCode/PostProcessor.cpp index 3bac8873396..e86463b8471 100644 --- a/src/libslic3r/GCode/PostProcessor.cpp +++ b/src/libslic3r/GCode/PostProcessor.cpp @@ -1,5 +1,6 @@ #include "PostProcessor.hpp" +#include #include #include @@ -133,6 +134,7 @@ static int run_script_win32(const std::string &script, const std::string &gcode) #else #include //for getting filesystem UID/GID #include //for getting current UID/GID + #include #endif namespace Slic3r { From 80bae6dd9885d9717fd8286cb3e11dc30a872539 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 18 Jan 2019 12:52:09 +0100 Subject: [PATCH 117/189] 1st installment of volumes centering fixes (WIP) --- src/libslic3r/Format/3mf.cpp | 9 ++ src/libslic3r/Format/AMF.cpp | 6 +- src/libslic3r/Format/PRUS.cpp | 2 + src/libslic3r/Geometry.cpp | 25 +++++ src/libslic3r/Geometry.hpp | 6 ++ src/libslic3r/Model.cpp | 146 ++++++++++++++++++++++++++++-- src/libslic3r/Model.hpp | 6 ++ src/libslic3r/Technologies.hpp | 11 +++ src/slic3r/GUI/GUI_ObjectList.cpp | 16 ++++ src/slic3r/GUI/Plater.cpp | 34 ++++++- 10 files changed, 251 insertions(+), 10 deletions(-) diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp index 6b8a38f5cfd..35e583f6a62 100644 --- a/src/libslic3r/Format/3mf.cpp +++ b/src/libslic3r/Format/3mf.cpp @@ -1456,7 +1456,9 @@ namespace Slic3r { // splits volume out of imported geometry unsigned int triangles_count = volume_data.last_triangle_id - volume_data.first_triangle_id + 1; +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ModelVolume* volume = object.add_volume(TriangleMesh()); +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ stl_file& stl = volume->mesh.stl; stl.stats.type = inmemory; stl.stats.number_of_facets = (uint32_t)triangles_count; @@ -1477,7 +1479,9 @@ namespace Slic3r { stl_get_size(&stl); volume->mesh.repair(); +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ volume->center_geometry(); +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ volume->calculate_convex_hull(); // apply volume's name and config data @@ -1845,6 +1849,11 @@ namespace Slic3r { { stream << " <" << VERTEX_TAG << " "; Vec3d v = matrix * stl.v_shared[i].cast(); + +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + std::cout << to_string((Vec3d)stl.v_shared[i].cast()) << " --> " << to_string(v) << std::endl; +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + stream << "x=\"" << v(0) << "\" "; stream << "y=\"" << v(1) << "\" "; stream << "z=\"" << v(2) << "\" />\n"; diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index 08936886584..e0f94b09e6a 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -279,8 +279,10 @@ void AMFParserContext::startElement(const char *name, const char **atts) node_type_new = NODE_TYPE_VERTICES; else if (strcmp(name, "volume") == 0) { assert(! m_volume); - m_volume = m_object->add_volume(TriangleMesh()); - node_type_new = NODE_TYPE_VOLUME; +//################################################################################################################################################################################# + m_volume = m_object->add_volume(TriangleMesh()); +//################################################################################################################################################################################# + node_type_new = NODE_TYPE_VOLUME; } } else if (m_path[2] == NODE_TYPE_INSTANCE) { assert(m_instance); diff --git a/src/libslic3r/Format/PRUS.cpp b/src/libslic3r/Format/PRUS.cpp index 80aae75cf62..edfa089470f 100644 --- a/src/libslic3r/Format/PRUS.cpp +++ b/src/libslic3r/Format/PRUS.cpp @@ -282,7 +282,9 @@ static void extract_model_from_archive( group_to_model_object[group_id] = model_object; } else { // This is not the 1st mesh of a group. Add it to the ModelObject. +//################################################################################################################################################################################# volume = model_object->add_volume(std::move(mesh)); +//################################################################################################################################################################################# volume->name = name; } // Set the extruder to the volume. diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index 37484de613d..68d55852f89 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1303,13 +1303,24 @@ void Transformation::Flags::set(bool dont_translate, bool dont_rotate, bool dont } Transformation::Transformation() +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ : m_offset(Vec3d::Zero()) , m_rotation(Vec3d::Zero()) , m_scaling_factor(Vec3d::Ones()) , m_mirror(Vec3d::Ones()) , m_matrix(Transform3d::Identity()) , m_dirty(false) +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ { +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + reset(); +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } Transformation::Transformation(const Transform3d& transform) @@ -1428,6 +1439,20 @@ void Transformation::set_from_transform(const Transform3d& transform) // std::cout << "something went wrong in extracting data from matrix" << std::endl; } +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES +void Transformation::reset() +{ + m_offset = Vec3d::Zero(); + m_rotation = Vec3d::Zero(); + m_scaling_factor = Vec3d::Ones(); + m_mirror = Vec3d::Ones(); + m_matrix = Transform3d::Identity(); + m_dirty = false; +} +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + const Transform3d& Transformation::get_matrix(bool dont_translate, bool dont_rotate, bool dont_scale, bool dont_mirror) const { if (m_dirty || m_flags.needs_update(dont_translate, dont_rotate, dont_scale, dont_mirror)) diff --git a/src/libslic3r/Geometry.hpp b/src/libslic3r/Geometry.hpp index 111fc3ca4ab..39a1a01e9c3 100644 --- a/src/libslic3r/Geometry.hpp +++ b/src/libslic3r/Geometry.hpp @@ -251,6 +251,12 @@ class Transformation void set_from_transform(const Transform3d& transform); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + void reset(); +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + const Transform3d& get_matrix(bool dont_translate = false, bool dont_rotate = false, bool dont_scale = false, bool dont_mirror = false) const; Transformation operator * (const Transformation& other) const; diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 81ed392c2cf..07f750a47e8 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -164,7 +164,9 @@ ModelObject* Model::add_object(const char *name, const char *path, const Triangl this->objects.push_back(new_object); new_object->name = name; new_object->input_file = path; +//################################################################################################################################################################################# ModelVolume *new_volume = new_object->add_volume(mesh); +//################################################################################################################################################################################# new_volume->name = name; new_object->invalidate_bounding_box(); return new_object; @@ -176,7 +178,9 @@ ModelObject* Model::add_object(const char *name, const char *path, TriangleMesh this->objects.push_back(new_object); new_object->name = name; new_object->input_file = path; +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ModelVolume *new_volume = new_object->add_volume(std::move(mesh)); +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ new_volume->name = name; new_object->invalidate_bounding_box(); return new_object; @@ -481,10 +485,39 @@ void Model::convert_multipart_object(unsigned int max_extruders) reset_auto_extruder_id(); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//#if ENABLE_VOLUMES_CENTERING_FIXES +// for (const ModelObject* o : this->objects) +// { +// const ModelInstance* i = o->instances.front(); +// const Geometry::Transformation& t = i->get_transformation(); +// for (const ModelVolume* v : o->volumes) +// { +////$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +// ModelVolume* new_v = object->add_volume(*v); +////$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +// if (new_v != nullptr) +// { +// new_v->name = o->name; +// new_v->set_transformation(t * new_v->get_transformation()); +// new_v->config.set_deserialize("extruder", get_auto_extruder_id_as_string(max_extruders)); +// } +// } +// } +// +// for (const ModelInstance* i : this->objects.front()->instances) +// { +// ModelInstance* inst = object->add_instance(*i); +// inst->set_transformation(Geometry::Transformation()); +// } +//#else +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ for (const ModelObject* o : this->objects) for (const ModelVolume* v : o->volumes) { +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ModelVolume* new_v = object->add_volume(*v); +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ if (new_v != nullptr) { new_v->name = o->name; @@ -494,6 +527,9 @@ void Model::convert_multipart_object(unsigned int max_extruders) for (const ModelInstance* i : this->objects.front()->instances) object->add_instance(*i); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->clear_objects(); this->objects.push_back(object); @@ -641,6 +677,11 @@ ModelVolume* ModelObject::add_volume(const TriangleMesh &mesh) { ModelVolume* v = new ModelVolume(this, mesh); this->volumes.push_back(v); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + v->center_geometry(); +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); return v; } @@ -649,6 +690,11 @@ ModelVolume* ModelObject::add_volume(TriangleMesh &&mesh) { ModelVolume* v = new ModelVolume(this, std::move(mesh)); this->volumes.push_back(v); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + v->center_geometry(); +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); return v; } @@ -657,6 +703,11 @@ ModelVolume* ModelObject::add_volume(const ModelVolume &other) { ModelVolume* v = new ModelVolume(this, other); this->volumes.push_back(v); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + v->center_geometry(); +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); return v; } @@ -665,6 +716,11 @@ ModelVolume* ModelObject::add_volume(const ModelVolume &other, TriangleMesh &&me { ModelVolume* v = new ModelVolume(this, other, std::move(mesh)); this->volumes.push_back(v); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + v->center_geometry(); +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); return v; } @@ -675,6 +731,30 @@ void ModelObject::delete_volume(size_t idx) delete *i; this->volumes.erase(i); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + if (this->volumes.size() == 1) + { + // only one volume left + // we need to collapse the volume transform into the instances transforms because now when selecting this volume + // it will be seen as a single full instance ans so its volume transform may be ignored + ModelVolume* v = this->volumes.front(); + Transform3d v_t = v->get_transformation().get_matrix(); +// Transform3d v_t = v->get_transformation().get_matrix(true); + for (ModelInstance* inst : this->instances) + { +// Vec3d offset = inst->get_offset(); + inst->set_transformation(Geometry::Transformation(inst->get_transformation().get_matrix() * v_t)); +// inst->set_transformation(Geometry::Transformation(inst->get_transformation().get_matrix(true) * v_t)); +// inst->set_offset(offset); + } + Geometry::Transformation t; +// t.set_offset(v->get_offset()); + v->set_transformation(t); + v->set_new_unique_id(); + } +#else +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if (this->volumes.size() == 1) { // only one volume left @@ -691,6 +771,9 @@ void ModelObject::delete_volume(size_t idx) v->set_offset(Vec3d::Zero()); v->set_new_unique_id(); } +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); } @@ -868,15 +951,39 @@ BoundingBoxf3 ModelObject::instance_bounding_box(size_t instance_idx, bool dont_ return bb; } +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES +BoundingBoxf3 ModelObject::full_raw_mesh_bounding_box() const +{ + BoundingBoxf3 bb; + for (const ModelVolume *v : this->volumes) + { + TriangleMesh vol_mesh(v->mesh); + vol_mesh.transform(v->get_matrix()); + bb.merge(vol_mesh.bounding_box()); + } + return bb; +} +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + void ModelObject::center_around_origin() { // calculate the displacements needed to // center this object around the origin +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + BoundingBoxf3 bb = full_raw_mesh_bounding_box(); +#else +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ BoundingBoxf3 bb; for (ModelVolume *v : this->volumes) if (v->is_model_part()) - bb.merge(v->mesh.bounding_box()); - + bb.merge(v->mesh.bounding_box()); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + // Shift is the vector from the center of the bounding box to the origin Vec3d shift = -bb.center(); @@ -1040,9 +1147,12 @@ ModelObjectPtrs ModelObject::cut(size_t instance, coordf_t z, bool keep_upper, b volume->set_transformation(Geometry::Transformation(instance_matrix * volume_matrix)); +//################################################################################################################################################################################# if (keep_upper) { upper->add_volume(*volume); } if (keep_lower) { lower->add_volume(*volume); } - } else { +//################################################################################################################################################################################# + } + else { TriangleMesh upper_mesh, lower_mesh; // Transform the mesh by the combined transformation matrix @@ -1067,14 +1177,18 @@ ModelObjectPtrs ModelObject::cut(size_t instance, coordf_t z, bool keep_upper, b } if (keep_upper && upper_mesh.facets_count() > 0) { - ModelVolume* vol = upper->add_volume(upper_mesh); - vol->name = volume->name; +//################################################################################################################################################################################# + ModelVolume* vol = upper->add_volume(upper_mesh); +//################################################################################################################################################################################# + vol->name = volume->name; vol->config = volume->config; vol->set_material(volume->material_id(), *volume->material()); } if (keep_lower && lower_mesh.facets_count() > 0) { - ModelVolume* vol = lower->add_volume(lower_mesh); - vol->name = volume->name; +//################################################################################################################################################################################# + ModelVolume* vol = lower->add_volume(lower_mesh); +//################################################################################################################################################################################# + vol->name = volume->name; vol->config = volume->config; vol->set_material(volume->material_id(), *volume->material()); @@ -1152,8 +1266,10 @@ void ModelObject::split(ModelObjectPtrs* new_objects) new_object->instances.reserve(this->instances.size()); for (const ModelInstance *model_instance : this->instances) new_object->add_instance(*model_instance); +//################################################################################################################################################################################# ModelVolume* new_vol = new_object->add_volume(*volume, std::move(*mesh)); new_vol->center_geometry(); +//################################################################################################################################################################################# for (ModelInstance* model_instance : new_object->instances) { @@ -1321,10 +1437,24 @@ int ModelVolume::extruder_id() const void ModelVolume::center_geometry() { +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + Vec3d shift = mesh.bounding_box().center(); + if (!shift.isApprox(Vec3d::Zero())) + { + mesh.translate(-(float)shift(0), -(float)shift(1), -(float)shift(2)); + m_convex_hull.translate(-(float)shift(0), -(float)shift(1), -(float)shift(2)); + translate(shift); + } +#else +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Vec3d shift = -mesh.bounding_box().center(); mesh.translate((float)shift(0), (float)shift(1), (float)shift(2)); m_convex_hull.translate((float)shift(0), (float)shift(1), (float)shift(2)); translate(-shift); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } void ModelVolume::calculate_convex_hull() @@ -1400,7 +1530,9 @@ size_t ModelVolume::split(unsigned int max_extruders) this->object->volumes.insert(this->object->volumes.begin() + (++ivolume), new ModelVolume(object, *this, std::move(*mesh))); this->object->volumes[ivolume]->set_offset(Vec3d::Zero()); +//################################################################################################################################################################################# this->object->volumes[ivolume]->center_geometry(); +//################################################################################################################################################################################# 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", Model::get_auto_extruder_id_as_string(max_extruders)); diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index 9473014371b..70fe5aafd9c 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -223,6 +223,12 @@ class ModelObject : public ModelBase BoundingBoxf3 raw_bounding_box() const; // A snug bounding box around the transformed non-modifier object volumes. BoundingBoxf3 instance_bounding_box(size_t instance_idx, bool dont_translate = false) const; +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + // Bounding box of non-transformed (non-rotated, non-scaled, non-translated) sum of all object volumes. + BoundingBoxf3 full_raw_mesh_bounding_box() const; +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ void center_around_origin(); void ensure_on_bed(); void translate_instances(const Vec3d& vector); diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 05bb076165d..35c98b47176 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -62,3 +62,14 @@ #define ENABLE_GENERIC_SUBPARTS_PLACEMENT (1 && ENABLE_1_42_0_ALPHA4) // Reworked management of bed shape changes #define ENABLE_REWORKED_BED_SHAPE_CHANGE (1 && ENABLE_1_42_0_ALPHA4) + + +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//==================== +// 1.42.0.alpha5 techs +//==================== +#define ENABLE_1_42_0_ALPHA5 1 + +// Bunch of fixes related to volumes centering +#define ENABLE_VOLUMES_CENTERING_FIXES (1 && ENABLE_1_42_0_ALPHA5) +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 24aa5e45ca6..ace3687a45d 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -845,9 +845,17 @@ void ObjectList::load_part( ModelObject* model_object, delta = model_object->origin_translation - object->origin_translation; } for (auto volume : object->volumes) { +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ volume->center_geometry(); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ volume->translate(delta); +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ auto new_volume = model_object->add_volume(*volume); +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ new_volume->set_type(static_cast(type)); new_volume->name = boost::filesystem::path(input_file).filename().string(); @@ -892,13 +900,21 @@ void ObjectList::load_generic_subobject(const std::string& type_name, const int } mesh.repair(); +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ auto new_volume = (*m_objects)[obj_idx]->add_volume(mesh); +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ new_volume->set_type(static_cast(type)); #if !ENABLE_GENERIC_SUBPARTS_PLACEMENT new_volume->set_offset(Vec3d(0.0, 0.0, (*m_objects)[obj_idx]->origin_translation(2) - mesh.stl.stats.min(2))); #endif // !ENABLE_GENERIC_SUBPARTS_PLACEMENT +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ new_volume->center_geometry(); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_GENERIC_SUBPARTS_PLACEMENT const GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index ad4472bcfc5..ed44f5a55d9 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1319,6 +1319,11 @@ std::vector Plater::priv::load_files(const std::vector& input_ const bool type_3mf = std::regex_match(path.string(), pattern_3mf); const bool type_zip_amf = !type_3mf && std::regex_match(path.string(), pattern_zip_amf); const bool type_any_amf = !type_3mf && std::regex_match(path.string(), pattern_any_amf); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + bool config_applied = false; +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Slic3r::Model model; try { @@ -1344,6 +1349,11 @@ std::vector Plater::priv::load_files(const std::vector& input_ Preset::normalize(config); wxGetApp().preset_bundle->load_config_model(filename.string(), std::move(config)); wxGetApp().load_current_presets(); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + config_applied = true; +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } wxGetApp().app_config->update_config_dir(path.parent_path().string()); } @@ -1363,7 +1373,12 @@ std::vector Plater::priv::load_files(const std::vector& input_ { // The model should now be initialized - if (model.looks_like_multipart_object()) { +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + if (!type_3mf && !(type_any_amf && config_applied)) { +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + if (model.looks_like_multipart_object()) { // wxMessageDialog dlg(q, _(L( // "This file contains several objects positioned at multiple heights. " // "Instead of considering them as multiple objects, should I consider\n" @@ -1372,14 +1387,31 @@ std::vector Plater::priv::load_files(const std::vector& input_ // if (dlg.ShowModal() == wxID_YES) { model.convert_multipart_object(nozzle_dmrs->values.size()); // } + } +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES } +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if (type_3mf || type_any_amf) { +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ for (ModelObject* model_object : model.objects) { model_object->center_around_origin(); model_object->ensure_on_bed(); } +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // check multi-part object adding for the SLA-printing if (printer_technology == ptSLA) From ce099e91c76a6468db07566dec5dabd074ec0698 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 18 Jan 2019 14:40:10 +0100 Subject: [PATCH 118/189] Fixed .amf i/o --- src/libslic3r/Format/AMF.cpp | 14 +++++++++++--- src/slic3r/GUI/Plater.cpp | 12 +----------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index e0f94b09e6a..89e91d6c9f1 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -279,9 +279,9 @@ void AMFParserContext::startElement(const char *name, const char **atts) node_type_new = NODE_TYPE_VERTICES; else if (strcmp(name, "volume") == 0) { assert(! m_volume); -//################################################################################################################################################################################# +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ m_volume = m_object->add_volume(TriangleMesh()); -//################################################################################################################################################################################# +//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ node_type_new = NODE_TYPE_VOLUME; } } else if (m_path[2] == NODE_TYPE_INSTANCE) { @@ -644,13 +644,21 @@ void AMFParserContext::endDocument() continue; } for (const Instance &instance : object.second.instances) +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + { +#else +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if (instance.deltax_set && instance.deltay_set) { +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ModelInstance *mi = m_model.objects[object.second.idx]->add_instance(); mi->set_offset(Vec3d(instance.deltax_set ? (double)instance.deltax : 0.0, instance.deltay_set ? (double)instance.deltay : 0.0, instance.deltaz_set ? (double)instance.deltaz : 0.0)); mi->set_rotation(Vec3d(instance.rx_set ? (double)instance.rx : 0.0, instance.ry_set ? (double)instance.ry : 0.0, instance.rz_set ? (double)instance.rz : 0.0)); mi->set_scaling_factor(Vec3d(instance.scalex_set ? (double)instance.scalex : 1.0, instance.scaley_set ? (double)instance.scaley : 1.0, instance.scalez_set ? (double)instance.scalez : 1.0)); mi->set_mirror(Vec3d(instance.mirrorx_set ? (double)instance.mirrorx : 1.0, instance.mirrory_set ? (double)instance.mirrory : 1.0, instance.mirrorz_set ? (double)instance.mirrorz : 1.0)); - } + } } } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index ed44f5a55d9..04b2c26d1c4 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1319,11 +1319,6 @@ std::vector Plater::priv::load_files(const std::vector& input_ const bool type_3mf = std::regex_match(path.string(), pattern_3mf); const bool type_zip_amf = !type_3mf && std::regex_match(path.string(), pattern_zip_amf); const bool type_any_amf = !type_3mf && std::regex_match(path.string(), pattern_any_amf); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -#if ENABLE_VOLUMES_CENTERING_FIXES - bool config_applied = false; -#endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Slic3r::Model model; try { @@ -1349,11 +1344,6 @@ std::vector Plater::priv::load_files(const std::vector& input_ Preset::normalize(config); wxGetApp().preset_bundle->load_config_model(filename.string(), std::move(config)); wxGetApp().load_current_presets(); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -#if ENABLE_VOLUMES_CENTERING_FIXES - config_applied = true; -#endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } wxGetApp().app_config->update_config_dir(path.parent_path().string()); } @@ -1375,7 +1365,7 @@ std::vector Plater::priv::load_files(const std::vector& input_ //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES - if (!type_3mf && !(type_any_amf && config_applied)) { + if (!type_3mf && !type_any_amf) { #endif // ENABLE_VOLUMES_CENTERING_FIXES //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if (model.looks_like_multipart_object()) { From 4ffe76f012529185aa7834adea53087063b3959f Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Fri, 18 Jan 2019 15:02:07 +0100 Subject: [PATCH 119/189] Cut: Prevent the neither part kept option --- src/slic3r/GUI/GLGizmo.cpp | 4 +++- src/slic3r/GUI/ImGuiWrapper.cpp | 23 +++++++++++++++++++++++ src/slic3r/GUI/ImGuiWrapper.hpp | 5 ++++- src/slic3r/GUI/Plater.cpp | 4 ++++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index 9decc625d6f..2ea7e677e4f 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -2466,11 +2466,13 @@ void GLGizmoCut::on_render_input_window(float x, float y, const GLCanvas3D::Sele m_imgui->checkbox(_(L("Keep lower part")), m_keep_lower); m_imgui->checkbox(_(L("Rotate lower part upwards")), m_rotate_lower); + m_imgui->disabled_begin(!m_keep_upper && !m_keep_lower); const bool cut_clicked = m_imgui->button(_(L("Perform cut"))); + m_imgui->disabled_end(); m_imgui->end(); - if (cut_clicked) { + if (cut_clicked && (m_keep_upper || m_keep_lower)) { perform_cut(selection); } } diff --git a/src/slic3r/GUI/ImGuiWrapper.cpp b/src/slic3r/GUI/ImGuiWrapper.cpp index 2cc22d2b5bd..7ce34d4e247 100644 --- a/src/slic3r/GUI/ImGuiWrapper.cpp +++ b/src/slic3r/GUI/ImGuiWrapper.cpp @@ -12,6 +12,8 @@ #include +#include + #include "libslic3r/libslic3r.h" #include "libslic3r/Utils.hpp" #include "GUI.hpp" @@ -23,6 +25,7 @@ namespace GUI { ImGuiWrapper::ImGuiWrapper() : m_font_texture(0) , m_mouse_buttons(0) + , m_disabled(false) { } @@ -154,6 +157,26 @@ void ImGuiWrapper::text(const wxString &label) ImGui::Text(label_utf8.c_str(), NULL); } +void ImGuiWrapper::disabled_begin(bool disabled) +{ + wxCHECK_RET(!m_disabled, "ImGUI: Unbalanced disabled_begin() call"); + + if (disabled) { + ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true); + ImGui::PushStyleVar(ImGuiStyleVar_Alpha, ImGui::GetStyle().Alpha * 0.5f); + m_disabled = true; + } +} + +void ImGuiWrapper::disabled_end() +{ + if (m_disabled) { + ImGui::PopItemFlag(); + ImGui::PopStyleVar(); + m_disabled = false; + } +} + bool ImGuiWrapper::want_mouse() const { return ImGui::GetIO().WantCaptureMouse; diff --git a/src/slic3r/GUI/ImGuiWrapper.hpp b/src/slic3r/GUI/ImGuiWrapper.hpp index cd8508aefe5..5293bee26cc 100644 --- a/src/slic3r/GUI/ImGuiWrapper.hpp +++ b/src/slic3r/GUI/ImGuiWrapper.hpp @@ -21,8 +21,8 @@ class ImGuiWrapper FontsMap m_fonts; unsigned m_font_texture; - unsigned m_mouse_buttons; + bool m_disabled; public: ImGuiWrapper(); @@ -50,6 +50,9 @@ class ImGuiWrapper bool checkbox(const wxString &label, bool &value); void text(const wxString &label); + void disabled_begin(bool disabled); + void disabled_end(); + bool want_mouse() const; bool want_keyboard() const; bool want_text_input() const; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index ad4472bcfc5..7cdb8cfc8d9 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2767,6 +2767,10 @@ void Plater::cut(size_t obj_idx, size_t instance_idx, coordf_t z, bool keep_uppe wxCHECK_RET(instance_idx < object->instances.size(), "instance_idx out of bounds"); + if (!keep_upper && !keep_lower) { + return; + } + const auto new_objects = object->cut(instance_idx, z, keep_upper, keep_lower, rotate_lower); remove(obj_idx); From 1eb01df0c8d7c0c61500d3b1a4a3b879150738b1 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 18 Jan 2019 16:01:43 +0100 Subject: [PATCH 120/189] Fixed .prusa i/o and split to objects --- src/libslic3r/Format/3mf.cpp | 4 --- src/libslic3r/Format/AMF.cpp | 2 -- src/libslic3r/Format/PRUS.cpp | 2 -- src/libslic3r/Model.cpp | 52 ++++--------------------------- src/slic3r/GUI/GUI_ObjectList.cpp | 4 --- src/slic3r/GUI/Plater.cpp | 17 +++++++++- 6 files changed, 22 insertions(+), 59 deletions(-) diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp index 35e583f6a62..c774083f762 100644 --- a/src/libslic3r/Format/3mf.cpp +++ b/src/libslic3r/Format/3mf.cpp @@ -1456,9 +1456,7 @@ namespace Slic3r { // splits volume out of imported geometry unsigned int triangles_count = volume_data.last_triangle_id - volume_data.first_triangle_id + 1; -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ModelVolume* volume = object.add_volume(TriangleMesh()); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ stl_file& stl = volume->mesh.stl; stl.stats.type = inmemory; stl.stats.number_of_facets = (uint32_t)triangles_count; @@ -1479,9 +1477,7 @@ namespace Slic3r { stl_get_size(&stl); volume->mesh.repair(); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ volume->center_geometry(); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ volume->calculate_convex_hull(); // apply volume's name and config data diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index 89e91d6c9f1..6c6daaac023 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -279,9 +279,7 @@ void AMFParserContext::startElement(const char *name, const char **atts) node_type_new = NODE_TYPE_VERTICES; else if (strcmp(name, "volume") == 0) { assert(! m_volume); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ m_volume = m_object->add_volume(TriangleMesh()); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ node_type_new = NODE_TYPE_VOLUME; } } else if (m_path[2] == NODE_TYPE_INSTANCE) { diff --git a/src/libslic3r/Format/PRUS.cpp b/src/libslic3r/Format/PRUS.cpp index edfa089470f..80aae75cf62 100644 --- a/src/libslic3r/Format/PRUS.cpp +++ b/src/libslic3r/Format/PRUS.cpp @@ -282,9 +282,7 @@ static void extract_model_from_archive( group_to_model_object[group_id] = model_object; } else { // This is not the 1st mesh of a group. Add it to the ModelObject. -//################################################################################################################################################################################# volume = model_object->add_volume(std::move(mesh)); -//################################################################################################################################################################################# volume->name = name; } // Set the extruder to the volume. diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 07f750a47e8..157723ca67f 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -164,9 +164,7 @@ ModelObject* Model::add_object(const char *name, const char *path, const Triangl this->objects.push_back(new_object); new_object->name = name; new_object->input_file = path; -//################################################################################################################################################################################# ModelVolume *new_volume = new_object->add_volume(mesh); -//################################################################################################################################################################################# new_volume->name = name; new_object->invalidate_bounding_box(); return new_object; @@ -178,9 +176,7 @@ ModelObject* Model::add_object(const char *name, const char *path, TriangleMesh this->objects.push_back(new_object); new_object->name = name; new_object->input_file = path; -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ModelVolume *new_volume = new_object->add_volume(std::move(mesh)); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ new_volume->name = name; new_object->invalidate_bounding_box(); return new_object; @@ -485,39 +481,10 @@ void Model::convert_multipart_object(unsigned int max_extruders) reset_auto_extruder_id(); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -//#if ENABLE_VOLUMES_CENTERING_FIXES -// for (const ModelObject* o : this->objects) -// { -// const ModelInstance* i = o->instances.front(); -// const Geometry::Transformation& t = i->get_transformation(); -// for (const ModelVolume* v : o->volumes) -// { -////$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -// ModelVolume* new_v = object->add_volume(*v); -////$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -// if (new_v != nullptr) -// { -// new_v->name = o->name; -// new_v->set_transformation(t * new_v->get_transformation()); -// new_v->config.set_deserialize("extruder", get_auto_extruder_id_as_string(max_extruders)); -// } -// } -// } -// -// for (const ModelInstance* i : this->objects.front()->instances) -// { -// ModelInstance* inst = object->add_instance(*i); -// inst->set_transformation(Geometry::Transformation()); -// } -//#else -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ for (const ModelObject* o : this->objects) for (const ModelVolume* v : o->volumes) { -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ModelVolume* new_v = object->add_volume(*v); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ if (new_v != nullptr) { new_v->name = o->name; @@ -527,9 +494,6 @@ void Model::convert_multipart_object(unsigned int max_extruders) for (const ModelInstance* i : this->objects.front()->instances) object->add_instance(*i); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -//#endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->clear_objects(); this->objects.push_back(object); @@ -1147,10 +1111,8 @@ ModelObjectPtrs ModelObject::cut(size_t instance, coordf_t z, bool keep_upper, b volume->set_transformation(Geometry::Transformation(instance_matrix * volume_matrix)); -//################################################################################################################################################################################# if (keep_upper) { upper->add_volume(*volume); } if (keep_lower) { lower->add_volume(*volume); } -//################################################################################################################################################################################# } else { TriangleMesh upper_mesh, lower_mesh; @@ -1177,17 +1139,13 @@ ModelObjectPtrs ModelObject::cut(size_t instance, coordf_t z, bool keep_upper, b } if (keep_upper && upper_mesh.facets_count() > 0) { -//################################################################################################################################################################################# ModelVolume* vol = upper->add_volume(upper_mesh); -//################################################################################################################################################################################# vol->name = volume->name; vol->config = volume->config; vol->set_material(volume->material_id(), *volume->material()); } if (keep_lower && lower_mesh.facets_count() > 0) { -//################################################################################################################################################################################# ModelVolume* vol = lower->add_volume(lower_mesh); -//################################################################################################################################################################################# vol->name = volume->name; vol->config = volume->config; vol->set_material(volume->material_id(), *volume->material()); @@ -1266,10 +1224,14 @@ void ModelObject::split(ModelObjectPtrs* new_objects) new_object->instances.reserve(this->instances.size()); for (const ModelInstance *model_instance : this->instances) new_object->add_instance(*model_instance); -//################################################################################################################################################################################# ModelVolume* new_vol = new_object->add_volume(*volume, std::move(*mesh)); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ new_vol->center_geometry(); -//################################################################################################################################################################################# +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#endif // !ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ for (ModelInstance* model_instance : new_object->instances) { @@ -1530,9 +1492,7 @@ size_t ModelVolume::split(unsigned int max_extruders) this->object->volumes.insert(this->object->volumes.begin() + (++ivolume), new ModelVolume(object, *this, std::move(*mesh))); this->object->volumes[ivolume]->set_offset(Vec3d::Zero()); -//################################################################################################################################################################################# this->object->volumes[ivolume]->center_geometry(); -//################################################################################################################################################################################# 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", Model::get_auto_extruder_id_as_string(max_extruders)); diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index ace3687a45d..a1a56ded134 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -853,9 +853,7 @@ void ObjectList::load_part( ModelObject* model_object, #endif // !ENABLE_VOLUMES_CENTERING_FIXES //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ volume->translate(delta); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ auto new_volume = model_object->add_volume(*volume); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ new_volume->set_type(static_cast(type)); new_volume->name = boost::filesystem::path(input_file).filename().string(); @@ -900,9 +898,7 @@ void ObjectList::load_generic_subobject(const std::string& type_name, const int } mesh.repair(); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ auto new_volume = (*m_objects)[obj_idx]->add_volume(mesh); -//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ new_volume->set_type(static_cast(type)); #if !ENABLE_GENERIC_SUBPARTS_PLACEMENT diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 04b2c26d1c4..fb1ae43c15e 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -970,6 +970,11 @@ struct Plater::priv static const std::regex pattern_3mf; static const std::regex pattern_zip_amf; static const std::regex pattern_any_amf; +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + static const std::regex pattern_prusa; +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ priv(Plater *q, MainFrame *main_frame); @@ -1079,6 +1084,11 @@ const std::regex Plater::priv::pattern_bundle(".*[.](amf|amf[.]xml|zip[.]amf|3mf const std::regex Plater::priv::pattern_3mf(".*3mf", std::regex::icase); const std::regex Plater::priv::pattern_zip_amf(".*[.]zip[.]amf", std::regex::icase); const std::regex Plater::priv::pattern_any_amf(".*[.](amf|amf[.]xml|zip[.]amf)", std::regex::icase); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES +const std::regex Plater::priv::pattern_prusa(".*prusa", std::regex::icase); +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Plater::priv::priv(Plater *q, MainFrame *main_frame) : q(q) @@ -1319,6 +1329,11 @@ std::vector Plater::priv::load_files(const std::vector& input_ const bool type_3mf = std::regex_match(path.string(), pattern_3mf); const bool type_zip_amf = !type_3mf && std::regex_match(path.string(), pattern_zip_amf); const bool type_any_amf = !type_3mf && std::regex_match(path.string(), pattern_any_amf); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +#if ENABLE_VOLUMES_CENTERING_FIXES + const bool type_prusa = std::regex_match(path.string(), pattern_prusa); +#endif // ENABLE_VOLUMES_CENTERING_FIXES +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Slic3r::Model model; try { @@ -1365,7 +1380,7 @@ std::vector Plater::priv::load_files(const std::vector& input_ //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES - if (!type_3mf && !type_any_amf) { + if (!type_3mf && !type_any_amf && !type_prusa) { #endif // ENABLE_VOLUMES_CENTERING_FIXES //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if (model.looks_like_multipart_object()) { From d64b55d27d1716cb3f5ead25c269dce73028899a Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 21 Jan 2019 10:06:51 +0100 Subject: [PATCH 121/189] WIP Restoration of the layer editing. --- src/libslic3r/Format/3mf.cpp | 5 +- src/libslic3r/Format/AMF.cpp | 3 +- src/libslic3r/Model.cpp | 2 - src/libslic3r/Model.hpp | 8 +- src/libslic3r/Print.cpp | 75 +------ src/libslic3r/Print.hpp | 35 ++- src/libslic3r/PrintObject.cpp | 117 ++++++---- src/libslic3r/PrintRegion.cpp | 16 ++ src/libslic3r/Slicing.hpp | 2 +- src/slic3r/GUI/3DScene.cpp | 144 ++---------- src/slic3r/GUI/3DScene.hpp | 88 +------- src/slic3r/GUI/GLCanvas3D.cpp | 385 +++++++++++++++++---------------- src/slic3r/GUI/GLCanvas3D.hpp | 71 ++++-- src/slic3r/GUI/GUI_Preview.cpp | 2 +- src/slic3r/GUI/MainFrame.cpp | 1 + src/slic3r/GUI/Plater.cpp | 10 +- src/slic3r/GUI/Tab.cpp | 3 - 17 files changed, 398 insertions(+), 569 deletions(-) diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp index 6b8a38f5cfd..8b0c28cd6ff 100644 --- a/src/libslic3r/Format/3mf.cpp +++ b/src/libslic3r/Format/3mf.cpp @@ -582,10 +582,7 @@ namespace Slic3r { IdToLayerHeightsProfileMap::iterator obj_layer_heights_profile = m_layer_heights_profiles.find(object.first); if (obj_layer_heights_profile != m_layer_heights_profiles.end()) - { object.second->layer_height_profile = obj_layer_heights_profile->second; - object.second->layer_height_profile_valid = true; - } IdToSlaSupportPointsMap::iterator obj_sla_support_points = m_sla_support_points.find(object.first); if (obj_sla_support_points != m_sla_support_points.end() && !obj_sla_support_points->second.empty()) @@ -1926,7 +1923,7 @@ namespace Slic3r { for (const ModelObject* object : model.objects) { ++count; - std::vector layer_height_profile = object->layer_height_profile_valid ? object->layer_height_profile : std::vector(); + const std::vector &layer_height_profile = object->layer_height_profile; if ((layer_height_profile.size() >= 4) && ((layer_height_profile.size() % 2) == 0)) { sprintf(buffer, "object_id=%d|", count); diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index 08936886584..83f931b0cf2 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -578,7 +578,6 @@ void AMFParserContext::endElement(const char * /* name */) break; p = end + 1; } - m_object->layer_height_profile_valid = true; } else if (m_path.size() == 3 && m_path[1] == NODE_TYPE_OBJECT && m_object && strcmp(opt_key, "sla_support_points") == 0) { // Parse object's layer height profile, a semicolon separated list of floats. @@ -885,7 +884,7 @@ bool store_amf(const char *path, Model *model, const DynamicPrintConfig *config) stream << " " << object->config.serialize(key) << "\n"; if (!object->name.empty()) stream << " " << xml_escape(object->name) << "\n"; - std::vector layer_height_profile = object->layer_height_profile_valid ? object->layer_height_profile : std::vector(); + const std::vector &layer_height_profile = object->layer_height_profile; if (layer_height_profile.size() >= 4 && (layer_height_profile.size() % 2) == 0) { // Store the layer height profile as a single semicolon separated list. stream << " "; diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 81ed392c2cf..de364673852 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -570,7 +570,6 @@ ModelObject& ModelObject::assign_copy(const ModelObject &rhs) this->sla_support_points = rhs.sla_support_points; this->layer_height_ranges = rhs.layer_height_ranges; this->layer_height_profile = rhs.layer_height_profile; - this->layer_height_profile_valid = rhs.layer_height_profile_valid; this->origin_translation = rhs.origin_translation; m_bounding_box = rhs.m_bounding_box; m_bounding_box_valid = rhs.m_bounding_box_valid; @@ -602,7 +601,6 @@ ModelObject& ModelObject::assign_copy(ModelObject &&rhs) this->sla_support_points = std::move(rhs.sla_support_points); this->layer_height_ranges = std::move(rhs.layer_height_ranges); this->layer_height_profile = std::move(rhs.layer_height_profile); - this->layer_height_profile_valid = std::move(rhs.layer_height_profile_valid); this->origin_translation = std::move(rhs.origin_translation); m_bounding_box = std::move(rhs.m_bounding_box); m_bounding_box_valid = std::move(rhs.m_bounding_box_valid); diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index 9473014371b..477b64b7353 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -170,12 +170,8 @@ class ModelObject : public ModelBase // Variation of a layer thickness for spans of Z coordinates. t_layer_height_ranges layer_height_ranges; // Profile of increasing z to a layer height, to be linearly interpolated when calculating the layers. - // The pairs of are packed into a 1D array to simplify handling by the Perl XS. + // The pairs of are packed into a 1D array. std::vector layer_height_profile; - // layer_height_profile is initialized when the layer editing mode is entered. - // Only if the user really modified the layer height, layer_height_profile_valid is set - // and used subsequently by the PrintObject. - bool layer_height_profile_valid; // This vector holds position of selected support points for SLA. The data are // saved in mesh coordinates to allow using them for several instances. @@ -261,7 +257,7 @@ class ModelObject : public ModelBase void set_model(Model *model) { m_model = model; } private: - ModelObject(Model *model) : layer_height_profile_valid(false), m_model(model), origin_translation(Vec3d::Zero()), m_bounding_box_valid(false) {} + ModelObject(Model *model) : m_model(model), origin_translation(Vec3d::Zero()), m_bounding_box_valid(false) {} ~ModelObject(); /* To be able to return an object from own copy / clone methods. Hopefully the compiler will do the "Copy elision" */ diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 1981f338e35..acaba9d6a68 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -287,18 +287,8 @@ std::vector Print::object_extruders() const { std::vector extruders; extruders.reserve(m_regions.size() * 3); - - for (const PrintRegion *region : m_regions) { - // these checks reflect the same logic used in the GUI for enabling/disabling - // extruder selection fields - if (region->config().perimeters.value > 0 || m_config.brim_width.value > 0) - extruders.emplace_back(region->config().perimeter_extruder - 1); - if (region->config().fill_density.value > 0) - extruders.emplace_back(region->config().infill_extruder - 1); - if (region->config().top_solid_layers.value > 0 || region->config().bottom_solid_layers.value > 0) - extruders.emplace_back(region->config().solid_infill_extruder - 1); - } - + for (const PrintRegion *region : m_regions) + region->collect_object_printing_extruders(extruders); sort_remove_duplicates(extruders); return extruders; } @@ -366,37 +356,6 @@ double Print::max_allowed_layer_height() const return nozzle_diameter_max; } -static void clamp_exturder_to_default(ConfigOptionInt &opt, size_t num_extruders) -{ - if (opt.value > (int)num_extruders) - // assign the default extruder - opt.value = 1; -} - -static PrintObjectConfig object_config_from_model(const PrintObjectConfig &default_object_config, const ModelObject &object, size_t num_extruders) -{ - PrintObjectConfig config = default_object_config; - normalize_and_apply_config(config, object.config); - // Clamp invalid extruders to the default extruder (with index 1). - clamp_exturder_to_default(config.support_material_extruder, num_extruders); - clamp_exturder_to_default(config.support_material_interface_extruder, num_extruders); - return config; -} - -static PrintRegionConfig region_config_from_model_volume(const PrintRegionConfig &default_region_config, const ModelVolume &volume, size_t num_extruders) -{ - PrintRegionConfig config = default_region_config; - normalize_and_apply_config(config, volume.get_object()->config); - normalize_and_apply_config(config, volume.config); - if (! volume.material_id().empty()) - normalize_and_apply_config(config, volume.material()->config); - // Clamp invalid extruders to the default extruder (with index 1). - clamp_exturder_to_default(config.infill_extruder, num_extruders); - clamp_exturder_to_default(config.perimeter_extruder, num_extruders); - clamp_exturder_to_default(config.solid_infill_extruder, num_extruders); - return config; -} - // Caller is responsible for supplying models whose objects don't collide // and have explicit instance positions. void Print::add_model_object(ModelObject* model_object, int idx) @@ -433,7 +392,7 @@ void Print::add_model_object(ModelObject* model_object, int idx) if (! volume->is_model_part() && ! volume->is_modifier()) continue; // Get the config applied to this volume. - PrintRegionConfig config = region_config_from_model_volume(m_default_region_config, *volume, 99999); + PrintRegionConfig config = PrintObject::region_config_from_model_volume(m_default_region_config, *volume, 99999); // Find an existing print region with the same config. size_t region_id = size_t(-1); for (size_t i = 0; i < m_regions.size(); ++ i) @@ -514,12 +473,12 @@ bool Print::apply_config(DynamicPrintConfig config) // If the new config for this volume differs from the other // volume configs currently associated to this region, it means // the region subdivision does not make sense anymore. - if (! this_region_config.equals(region_config_from_model_volume(m_default_region_config, volume, 99999))) { + if (! this_region_config.equals(PrintObject::region_config_from_model_volume(m_default_region_config, volume, 99999))) { rearrange_regions = true; goto exit_for_rearrange_regions; } } else { - this_region_config = region_config_from_model_volume(m_default_region_config, volume, 99999); + this_region_config = PrintObject::region_config_from_model_volume(m_default_region_config, volume, 99999); this_region_config_set = true; } for (const PrintRegionConfig &cfg : other_region_configs) { @@ -563,10 +522,6 @@ bool Print::apply_config(DynamicPrintConfig config) invalidated = true; } - // Always make sure that the layer_height_profiles are set, as they should not be modified from the worker threads. - for (PrintObject *object : m_objects) - object->update_layer_height_profile(); - return invalidated; } @@ -888,8 +843,7 @@ Print::ApplyStatus Print::apply(const Model &model, const DynamicPrintConfig &co if (model_parts_differ || modifiers_differ || model_object.origin_translation != model_object_new.origin_translation || model_object.layer_height_ranges != model_object_new.layer_height_ranges || - model_object.layer_height_profile != model_object_new.layer_height_profile || - model_object.layer_height_profile_valid != model_object_new.layer_height_profile_valid) { + model_object.layer_height_profile != model_object_new.layer_height_profile) { // The very first step (the slicing step) is invalidated. One may freely remove all associated PrintObjects. auto range = print_object_status.equal_range(PrintObjectStatus(model_object.id())); for (auto it = range.first; it != range.second; ++ it) { @@ -915,7 +869,7 @@ Print::ApplyStatus Print::apply(const Model &model, const DynamicPrintConfig &co if (object_config_changed) model_object.config = model_object_new.config; if (! object_diff.empty() || object_config_changed) { - PrintObjectConfig new_config = object_config_from_model(m_default_object_config, model_object, num_extruders); + PrintObjectConfig new_config = PrintObject::object_config_from_model_object(m_default_object_config, model_object, num_extruders); auto range = print_object_status.equal_range(PrintObjectStatus(model_object.id())); for (auto it = range.first; it != range.second; ++ it) { t_config_option_keys diff = it->print_object->config().diff(new_config); @@ -957,7 +911,7 @@ Print::ApplyStatus Print::apply(const Model &model, const DynamicPrintConfig &co old.emplace_back(&(*it)); } // Generate a list of trafos and XY offsets for instances of a ModelObject - PrintObjectConfig config = object_config_from_model(m_default_object_config, *model_object, num_extruders); + PrintObjectConfig config = PrintObject::object_config_from_model_object(m_default_object_config, *model_object, num_extruders); std::vector new_print_instances = print_objects_from_model_object(*model_object); if (old.empty()) { // Simple case, just generate new instances. @@ -1048,11 +1002,11 @@ Print::ApplyStatus Print::apply(const Model &model, const DynamicPrintConfig &co // If the new config for this volume differs from the other // volume configs currently associated to this region, it means // the region subdivision does not make sense anymore. - if (! this_region_config.equals(region_config_from_model_volume(m_default_region_config, volume, num_extruders))) + if (! this_region_config.equals(PrintObject::region_config_from_model_volume(m_default_region_config, volume, num_extruders))) // Regions were split. Reset this print_object. goto print_object_end; } else { - this_region_config = region_config_from_model_volume(m_default_region_config, volume, num_extruders); + this_region_config = PrintObject::region_config_from_model_volume(m_default_region_config, volume, num_extruders); for (size_t i = 0; i < region_id; ++i) { const PrintRegion ®ion_other = *m_regions[i]; if (region_other.m_refcnt != 0 && region_other.config().equals(this_region_config)) @@ -1103,7 +1057,7 @@ Print::ApplyStatus Print::apply(const Model &model, const DynamicPrintConfig &co int region_id = -1; if (&print_object == &print_object0) { // Get the config applied to this volume. - PrintRegionConfig config = region_config_from_model_volume(m_default_region_config, *volume, num_extruders); + PrintRegionConfig config = PrintObject::region_config_from_model_volume(m_default_region_config, *volume, num_extruders); // Find an existing print region with the same config. int idx_empty_slot = -1; for (int i = 0; i < (int)m_regions.size(); ++ i) { @@ -1139,13 +1093,6 @@ Print::ApplyStatus Print::apply(const Model &model, const DynamicPrintConfig &co } } - // Always make sure that the layer_height_profiles are set, as they should not be modified from the worker threads. - for (PrintObject *object : m_objects) - if (! object->layer_height_profile_valid) - // No need to call the next line as the step should already be invalidated above. - // update_apply_status(object->invalidate_step(posSlice)); - object->update_layer_height_profile(); - //FIXME there may be a race condition with the G-code export running at the background thread. this->update_object_placeholders(); diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index eaad767ea70..d0591e764d7 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -45,6 +45,10 @@ class PrintRegion // Average diameter of nozzles participating on extruding this region. coordf_t bridging_height_avg(const PrintConfig &print_config) const; + // Collect extruder indices used to print this region's object. + void collect_object_printing_extruders(std::vector &object_extruders) const; + static void collect_object_printing_extruders(const PrintConfig &print_config, const PrintRegionConfig ®ion_config, std::vector &object_extruders); + // Methods modifying the PrintRegion's state: public: Print* print() { return m_print; } @@ -80,14 +84,8 @@ class PrintObject : public PrintObjectBaseWithState> region_volumes; // Profile of increasing z to a layer height, to be linearly interpolated when calculating the layers. - // The pairs of are packed into a 1D array to simplify handling by the Perl XS. - // layer_height_profile must not be set by the background thread. + // The pairs of are packed into a 1D array. std::vector layer_height_profile; - // There is a layer_height_profile at both PrintObject and ModelObject. The layer_height_profile at the ModelObject - // is used for interactive editing and for loading / storing into a project file (AMF file as of today). - // This flag indicates that the layer_height_profile at the UI has been updated, therefore the backend needs to get it. - // This flag is necessary as we cannot safely clear the layer_height_profile if the background calculation is running. - bool layer_height_profile_valid; // this is set to true when LayerRegion->slices is split in top/internal/bottom // so that next call to make_perimeters() performs a union() before computing loops @@ -129,23 +127,19 @@ class PrintObject : public PrintObjectBaseWithState &layer_height_profile) const; - - // Process layer_height_ranges, the raft layers and first layer thickness into layer_height_profile. - // The layer_height_profile may be later modified interactively by the user to refine layers at sloping surfaces. - bool update_layer_height_profile(); - - void reset_layer_height_profile(); - - void adjust_layer_height_profile(coordf_t z, coordf_t layer_thickness_delta, coordf_t band_width, int action); + // Initialize the layer_height_profile from the model_object's layer_height_profile, from model_object's layer height table, or from slicing parameters. + // Returns true, if the layer_height_profile was changed. + static bool update_layer_height_profile(const ModelObject &model_object, const SlicingParameters &slicing_parameters, std::vector &layer_height_profile); // Collect the slicing parameters, to be used by variable layer thickness algorithm, // by the interactive layer height editor and by the printing process itself. // The slicing parameters are dependent on various configuration values // (layer height, first layer height, raft settings, print nozzle diameter etc). - SlicingParameters slicing_parameters() const; + SlicingParameters slicing_parameters() const; + static SlicingParameters slicing_parameters(const DynamicPrintConfig &full_config, const ModelObject &model_object); + + // returns 0-based indices of extruders used to print the object (without brim, support and other helper extrusions) + std::vector object_extruders() const; // Called when slicing to SVG (see Print.pm sub export_svg), and used by perimeters.t void slice(); @@ -172,6 +166,9 @@ class PrintObject : public PrintObjectBaseWithState &opt_keys); + static PrintObjectConfig object_config_from_model_object(const PrintObjectConfig &default_object_config, const ModelObject &object, size_t num_extruders); + static PrintRegionConfig region_config_from_model_volume(const PrintRegionConfig &default_region_config, const ModelVolume &volume, size_t num_extruders); + private: void make_perimeters(); void prepare_infill(); diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index a7214afa33b..9dd10112365 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -38,8 +38,7 @@ namespace Slic3r { PrintObject::PrintObject(Print* print, ModelObject* model_object, bool add_instances) : PrintObjectBaseWithState(print, model_object), typed_slices(false), - size(Vec3crd::Zero()), - layer_height_profile_valid(false) + size(Vec3crd::Zero()) { // Compute the translation to be applied to our meshes so that we work with smaller coordinates { @@ -106,6 +105,8 @@ void PrintObject::slice() if (! this->set_started(posSlice)) return; m_print->set_status(10, "Processing triangulated mesh"); + this->update_layer_height_profile(*this->model_object(), this->slicing_parameters(), this->layer_height_profile); + m_print->throw_if_canceled(); this->_slice(); m_print->throw_if_canceled(); // Fix the model. @@ -455,7 +456,6 @@ bool PrintObject::invalidate_state_by_config_options(const std::vectorreset_layer_height_profile(); } else if ( opt_key == "clip_multipart_objects" @@ -542,7 +542,6 @@ bool PrintObject::invalidate_state_by_config_options(const std::vectorinvalidate_all_steps(); - this->reset_layer_height_profile(); invalidated = true; } } @@ -1329,55 +1328,107 @@ void PrintObject::bridge_over_infill() } } +static void clamp_exturder_to_default(ConfigOptionInt &opt, size_t num_extruders) +{ + if (opt.value > (int)num_extruders) + // assign the default extruder + opt.value = 1; +} + +PrintObjectConfig PrintObject::object_config_from_model_object(const PrintObjectConfig &default_object_config, const ModelObject &object, size_t num_extruders) +{ + PrintObjectConfig config = default_object_config; + normalize_and_apply_config(config, object.config); + // Clamp invalid extruders to the default extruder (with index 1). + clamp_exturder_to_default(config.support_material_extruder, num_extruders); + clamp_exturder_to_default(config.support_material_interface_extruder, num_extruders); + return config; +} + +PrintRegionConfig PrintObject::region_config_from_model_volume(const PrintRegionConfig &default_region_config, const ModelVolume &volume, size_t num_extruders) +{ + PrintRegionConfig config = default_region_config; + normalize_and_apply_config(config, volume.get_object()->config); + normalize_and_apply_config(config, volume.config); + if (! volume.material_id().empty()) + normalize_and_apply_config(config, volume.material()->config); + // Clamp invalid extruders to the default extruder (with index 1). + clamp_exturder_to_default(config.infill_extruder, num_extruders); + clamp_exturder_to_default(config.perimeter_extruder, num_extruders); + clamp_exturder_to_default(config.solid_infill_extruder, num_extruders); + return config; +} + SlicingParameters PrintObject::slicing_parameters() const { return SlicingParameters::create_from_config( this->print()->config(), m_config, - unscale(this->size(2)), this->print()->object_extruders()); + unscale(this->size(2)), this->object_extruders()); } -bool PrintObject::update_layer_height_profile(std::vector &layer_height_profile) const +SlicingParameters PrintObject::slicing_parameters(const DynamicPrintConfig &full_config, const ModelObject &model_object) +{ + PrintConfig print_config; + PrintObjectConfig object_config; + PrintRegionConfig default_region_config; + print_config .apply(full_config, true); + object_config.apply(full_config, true); + default_region_config.apply(full_config, true); + size_t num_extruders = print_config.nozzle_diameter.size(); + object_config = object_config_from_model_object(object_config, model_object, num_extruders); + + std::vector object_extruders; + for (const ModelVolume *model_volume : model_object.volumes) + if (model_volume->is_model_part()) + PrintRegion::collect_object_printing_extruders( + print_config, + region_config_from_model_volume(default_region_config, *model_volume, num_extruders), + object_extruders); + sort_remove_duplicates(object_extruders); + + return SlicingParameters::create_from_config(print_config, object_config, model_object.bounding_box().max.z(), object_extruders); +} + +// returns 0-based indices of extruders used to print the object (without brim, support and other helper extrusions) +std::vector PrintObject::object_extruders() const +{ + std::vector extruders; + extruders.reserve(this->region_volumes.size() * 3); + for (size_t idx_region = 0; idx_region < this->region_volumes.size(); ++ idx_region) + if (! this->region_volumes[idx_region].empty()) + m_print->get_region(idx_region)->collect_object_printing_extruders(extruders); + sort_remove_duplicates(extruders); + return extruders; +} + +bool PrintObject::update_layer_height_profile(const ModelObject &model_object, const SlicingParameters &slicing_parameters, std::vector &layer_height_profile) { bool updated = false; - // If the layer height profile is not set, try to use the one stored at the ModelObject. if (layer_height_profile.empty()) { - layer_height_profile = this->model_object()->layer_height_profile; + layer_height_profile = model_object.layer_height_profile; updated = true; } // Verify the layer_height_profile. - SlicingParameters slicing_params = this->slicing_parameters(); if (! layer_height_profile.empty() && // Must not be of even length. ((layer_height_profile.size() & 1) != 0 || // Last entry must be at the top of the object. - std::abs(layer_height_profile[layer_height_profile.size() - 2] - slicing_params.object_print_z_height()) > 1e-3)) + std::abs(layer_height_profile[layer_height_profile.size() - 2] - slicing_parameters.object_print_z_height()) > 1e-3)) layer_height_profile.clear(); if (layer_height_profile.empty()) { if (0) // if (this->layer_height_profile.empty()) - layer_height_profile = layer_height_profile_adaptive(slicing_params, this->model_object()->layer_height_ranges, this->model_object()->volumes); + layer_height_profile = layer_height_profile_adaptive(slicing_parameters, model_object.layer_height_ranges, model_object.volumes); else - layer_height_profile = layer_height_profile_from_ranges(slicing_params, this->model_object()->layer_height_ranges); + layer_height_profile = layer_height_profile_from_ranges(slicing_parameters, model_object.layer_height_ranges); updated = true; } return updated; } -// This must be called from the main thread as it modifies the layer_height_profile. -bool PrintObject::update_layer_height_profile() -{ - // If the layer height profile has been marked as invalid for some reason (modified at the UI level - // or invalidated due to the slicing parameters), clear it now. - if (! this->layer_height_profile_valid) { - this->layer_height_profile.clear(); - this->layer_height_profile_valid = true; - } - return this->update_layer_height_profile(this->layer_height_profile); -} - // 1) Decides Z positions of the layers, // 2) Initializes layers and their regions // 3) Slices the object meshes @@ -2198,22 +2249,4 @@ void PrintObject::_generate_support_material() support_material.generate(*this); } -void PrintObject::reset_layer_height_profile() -{ - // Reset the layer_heigth_profile. - this->layer_height_profile.clear(); - this->layer_height_profile_valid = false; - // Reset the source layer_height_profile if it exists at the ModelObject. - this->model_object()->layer_height_profile.clear(); - this->model_object()->layer_height_profile_valid = false; -} - -void PrintObject::adjust_layer_height_profile(coordf_t z, coordf_t layer_thickness_delta, coordf_t band_width, int action) -{ - update_layer_height_profile(m_model_object->layer_height_profile); - Slic3r::adjust_layer_height_profile(slicing_parameters(), m_model_object->layer_height_profile, z, layer_thickness_delta, band_width, LayerHeightEditActionType(action)); - m_model_object->layer_height_profile_valid = true; - layer_height_profile_valid = false; -} - } // namespace Slic3r diff --git a/src/libslic3r/PrintRegion.cpp b/src/libslic3r/PrintRegion.cpp index 4ea777b4a4f..73b40487bcf 100644 --- a/src/libslic3r/PrintRegion.cpp +++ b/src/libslic3r/PrintRegion.cpp @@ -61,4 +61,20 @@ coordf_t PrintRegion::bridging_height_avg(const PrintConfig &print_config) const return this->nozzle_dmr_avg(print_config) * sqrt(m_config.bridge_flow_ratio.value); } +void PrintRegion::collect_object_printing_extruders(const PrintConfig &print_config, const PrintRegionConfig ®ion_config, std::vector &object_extruders) +{ + // These checks reflect the same logic used in the GUI for enabling/disabling extruder selection fields. + if (region_config.perimeters.value > 0 || print_config.brim_width.value > 0) + object_extruders.emplace_back(region_config.perimeter_extruder - 1); + if (region_config.fill_density.value > 0) + object_extruders.emplace_back(region_config.infill_extruder - 1); + if (region_config.top_solid_layers.value > 0 || region_config.bottom_solid_layers.value > 0) + object_extruders.emplace_back(region_config.solid_infill_extruder - 1); +} + +void PrintRegion::collect_object_printing_extruders(std::vector &object_extruders) const +{ + collect_object_printing_extruders(print()->config(), this->config(), object_extruders); +} + } diff --git a/src/libslic3r/Slicing.hpp b/src/libslic3r/Slicing.hpp index 6070864e1bd..395fedc9f51 100644 --- a/src/libslic3r/Slicing.hpp +++ b/src/libslic3r/Slicing.hpp @@ -131,7 +131,7 @@ extern std::vector layer_height_profile_adaptive( const ModelVolumePtrs &volumes); -enum LayerHeightEditActionType { +enum LayerHeightEditActionType : unsigned int { LAYER_HEIGHT_EDIT_ACTION_INCREASE = 0, LAYER_HEIGHT_EDIT_ACTION_DECREASE = 1, LAYER_HEIGHT_EDIT_ACTION_REDUCE = 2, diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index 0ee89296a15..c6265f27569 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -386,58 +386,6 @@ void GLVolume::render() const ::glPopMatrix(); } -void GLVolume::render_using_layer_height() const -{ - if (!is_active) - return; - - GLint current_program_id; - glGetIntegerv(GL_CURRENT_PROGRAM, ¤t_program_id); - - if ((layer_height_texture_data.shader_id > 0) && (layer_height_texture_data.shader_id != current_program_id)) - glUseProgram(layer_height_texture_data.shader_id); - - GLint z_to_texture_row_id = (layer_height_texture_data.shader_id > 0) ? glGetUniformLocation(layer_height_texture_data.shader_id, "z_to_texture_row") : -1; - GLint z_texture_row_to_normalized_id = (layer_height_texture_data.shader_id > 0) ? glGetUniformLocation(layer_height_texture_data.shader_id, "z_texture_row_to_normalized") : -1; - GLint z_cursor_id = (layer_height_texture_data.shader_id > 0) ? glGetUniformLocation(layer_height_texture_data.shader_id, "z_cursor") : -1; - GLint z_cursor_band_width_id = (layer_height_texture_data.shader_id > 0) ? glGetUniformLocation(layer_height_texture_data.shader_id, "z_cursor_band_width") : -1; - GLint world_matrix_id = (layer_height_texture_data.shader_id > 0) ? glGetUniformLocation(layer_height_texture_data.shader_id, "volume_world_matrix") : -1; - - if (z_to_texture_row_id >= 0) - glUniform1f(z_to_texture_row_id, (GLfloat)layer_height_texture_z_to_row_id()); - - if (z_texture_row_to_normalized_id >= 0) - glUniform1f(z_texture_row_to_normalized_id, (GLfloat)(1.0f / layer_height_texture_height())); - - if (z_cursor_id >= 0) - glUniform1f(z_cursor_id, (GLfloat)(layer_height_texture_data.print_object->model_object()->bounding_box().max(2) * layer_height_texture_data.z_cursor_relative)); - - if (z_cursor_band_width_id >= 0) - glUniform1f(z_cursor_band_width_id, (GLfloat)layer_height_texture_data.edit_band_width); - - if (world_matrix_id >= 0) - ::glUniformMatrix4fv(world_matrix_id, 1, GL_FALSE, (const GLfloat*)world_matrix().cast().data()); - - GLsizei w = (GLsizei)layer_height_texture_width(); - GLsizei h = (GLsizei)layer_height_texture_height(); - GLsizei half_w = w / 2; - GLsizei half_h = h / 2; - - ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - glBindTexture(GL_TEXTURE_2D, layer_height_texture_data.texture_id); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); - glTexImage2D(GL_TEXTURE_2D, 1, GL_RGBA, half_w, half_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, layer_height_texture_data_ptr_level0()); - glTexSubImage2D(GL_TEXTURE_2D, 1, 0, 0, half_w, half_h, GL_RGBA, GL_UNSIGNED_BYTE, layer_height_texture_data_ptr_level1()); - - render(); - - glBindTexture(GL_TEXTURE_2D, 0); - - if ((current_program_id > 0) && (layer_height_texture_data.shader_id != current_program_id)) - glUseProgram(current_program_id); -} - void GLVolume::render_VBOs(int color_id, int detection_id, int worldmatrix_id) const { if (!is_active) @@ -446,16 +394,6 @@ void GLVolume::render_VBOs(int color_id, int detection_id, int worldmatrix_id) c if (!indexed_vertex_array.vertices_and_normals_interleaved_VBO_id) return; - if (layer_height_texture_data.can_use()) - { - ::glDisableClientState(GL_VERTEX_ARRAY); - ::glDisableClientState(GL_NORMAL_ARRAY); - render_using_layer_height(); - ::glEnableClientState(GL_VERTEX_ARRAY); - ::glEnableClientState(GL_NORMAL_ARRAY); - return; - } - GLsizei n_triangles = GLsizei(std::min(indexed_vertex_array.triangle_indices_size, tverts_range.second - tverts_range.first)); GLsizei n_quads = GLsizei(std::min(indexed_vertex_array.quad_indices_size, qverts_range.second - qverts_range.first)); if (n_triangles + n_quads == 0) @@ -558,44 +496,6 @@ void GLVolume::render_legacy() const ::glPopMatrix(); } -double GLVolume::layer_height_texture_z_to_row_id() const -{ - return (this->layer_height_texture.get() == nullptr) ? 0.0 : double(this->layer_height_texture->cells - 1) / (double(this->layer_height_texture->width) * this->layer_height_texture_data.print_object->model_object()->bounding_box().max(2)); -} - -void GLVolume::generate_layer_height_texture(const PrintObject *print_object, bool force) -{ - LayersTexture *tex = this->layer_height_texture.get(); - if (tex == nullptr) - // No layer_height_texture is assigned to this GLVolume, therefore the layer height texture cannot be filled. - return; - - // Always try to update the layer height profile. - bool update = print_object->update_layer_height_profile(const_cast(print_object->model_object())->layer_height_profile) || force; - // Update if the layer height profile was changed, or when the texture is not valid. - if (! update && ! tex->data.empty() && tex->cells > 0) - // Texture is valid, don't update. - return; - - if (tex->data.empty()) { - tex->width = 1024; - tex->height = 1024; - tex->levels = 2; - tex->data.assign(tex->width * tex->height * 5, 0); - } - - SlicingParameters slicing_params = print_object->slicing_parameters(); - bool level_of_detail_2nd_level = true; - tex->cells = Slic3r::generate_layer_height_texture( - slicing_params, - Slic3r::generate_object_layers(slicing_params, print_object->model_object()->layer_height_profile), - tex->data.data(), tex->height, tex->width, level_of_detail_2nd_level); -} - -// 512x512 bitmaps are supported everywhere, but that may not be sufficent for super large print volumes. -#define LAYER_HEIGHT_TEXTURE_WIDTH 1024 -#define LAYER_HEIGHT_TEXTURE_HEIGHT 1024 - std::vector GLVolumeCollection::load_object( const ModelObject *model_object, int obj_idx, @@ -603,19 +503,15 @@ std::vector GLVolumeCollection::load_object( const std::string &color_by, bool use_VBOs) { - // Object will share a single common layer height texture between all printable volumes. - std::shared_ptr layer_height_texture = std::make_shared(); std::vector volumes_idx; for (int volume_idx = 0; volume_idx < int(model_object->volumes.size()); ++ volume_idx) for (int instance_idx : instance_idxs) - volumes_idx.emplace_back(this->GLVolumeCollection::load_object_volume(model_object, layer_height_texture, obj_idx, volume_idx, instance_idx, color_by, use_VBOs)); + volumes_idx.emplace_back(this->GLVolumeCollection::load_object_volume(model_object, obj_idx, volume_idx, instance_idx, color_by, use_VBOs)); return volumes_idx; } int GLVolumeCollection::load_object_volume( const ModelObject *model_object, - // Layer height texture is shared between all printable volumes of a single ModelObject. - std::shared_ptr &layer_height_texture, int obj_idx, int volume_idx, int instance_idx, @@ -666,7 +562,6 @@ int GLVolumeCollection::load_object_volume( v.set_convex_hull(&model_volume->get_convex_hull(), false); if (extruder_id != -1) v.extruder_id = extruder_id; - v.layer_height_texture = layer_height_texture; } v.is_modifier = ! model_volume->is_model_part(); v.shader_outside_printer_detection_enabled = model_volume->is_model_part(); @@ -795,17 +690,19 @@ int GLVolumeCollection::load_wipe_tower_preview( #if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING typedef std::pair GLVolumeWithZ; typedef std::vector GLVolumesWithZList; -GLVolumesWithZList volumes_to_render(const GLVolumePtrs& volumes, GLVolumeCollection::ERenderType type) +static GLVolumesWithZList volumes_to_render(const GLVolumePtrs& volumes, GLVolumeCollection::ERenderType type, std::function filter_func) { GLVolumesWithZList list; + list.reserve(volumes.size()); for (GLVolume* volume : volumes) { bool is_transparent = (volume->render_color[3] < 1.0f); - if (((type == GLVolumeCollection::Opaque) && !is_transparent) || - ((type == GLVolumeCollection::Transparent) && is_transparent) || - (type == GLVolumeCollection::All)) - list.push_back(std::make_pair(volume, 0.0)); + if ((((type == GLVolumeCollection::Opaque) && !is_transparent) || + ((type == GLVolumeCollection::Transparent) && is_transparent) || + (type == GLVolumeCollection::All)) && + (! filter_func || filter_func(*volume))) + list.emplace_back(std::make_pair(volume, 0.0)); } if ((type == GLVolumeCollection::Transparent) && (list.size() > 1)) @@ -826,7 +723,7 @@ GLVolumesWithZList volumes_to_render(const GLVolumePtrs& volumes, GLVolumeCollec return list; } -void GLVolumeCollection::render_VBOs(GLVolumeCollection::ERenderType type, bool disable_cullface) const +void GLVolumeCollection::render_VBOs(GLVolumeCollection::ERenderType type, bool disable_cullface, std::function filter_func) const #else void GLVolumeCollection::render_VBOs() const #endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING @@ -862,26 +759,17 @@ void GLVolumeCollection::render_VBOs() const ::glUniform2fv(z_range_id, 1, (const GLfloat*)z_range); #if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - GLVolumesWithZList to_render = volumes_to_render(this->volumes, type); - for (GLVolumeWithZ& volume : to_render) - { - if (volume.first->layer_height_texture_data.can_use()) - volume.first->generate_layer_height_texture(volume.first->layer_height_texture_data.print_object, false); - else - volume.first->set_render_color(); - + GLVolumesWithZList to_render = volumes_to_render(this->volumes, type, filter_func); + for (GLVolumeWithZ& volume : to_render) { + volume.first->set_render_color(); volume.first->render_VBOs(color_id, print_box_detection_id, print_box_worldmatrix_id); } #else for (GLVolume *volume : this->volumes) - { - if (volume->layer_height_texture_data.can_use()) - volume->generate_layer_height_texture(volume->layer_height_texture_data.print_object, false); - else + if (! filter_func || filter_func(*volume)) { volume->set_render_color(); - - volume->render_VBOs(color_id, print_box_detection_id, print_box_worldmatrix_id); - } + volume->render_VBOs(color_id, print_box_detection_id, print_box_worldmatrix_id); + } #endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING ::glBindBuffer(GL_ARRAY_BUFFER, 0); @@ -917,7 +805,7 @@ void GLVolumeCollection::render_legacy() const glEnableClientState(GL_NORMAL_ARRAY); #if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - GLVolumesWithZList to_render = volumes_to_render(this->volumes, type); + GLVolumesWithZList to_render = volumes_to_render(this->volumes, type, std::function()); for (GLVolumeWithZ& volume : to_render) { volume.first->set_render_color(); diff --git a/src/slic3r/GUI/3DScene.hpp b/src/slic3r/GUI/3DScene.hpp index b7b1af73d0f..1ea69a22f69 100644 --- a/src/slic3r/GUI/3DScene.hpp +++ b/src/slic3r/GUI/3DScene.hpp @@ -9,6 +9,8 @@ #include "libslic3r/Model.hpp" #include "slic3r/GUI/GLCanvas3DManager.hpp" +#include + namespace Slic3r { class Print; @@ -199,50 +201,7 @@ class GLIndexedVertexArray { } }; -class LayersTexture -{ -public: - LayersTexture() : width(0), height(0), levels(0), cells(0) {} - - // Texture data - std::vector data; - // Width of the texture, top level. - size_t width; - // Height of the texture, top level. - size_t height; - // For how many levels of detail is the data allocated? - size_t levels; - // Number of texture cells allocated for the height texture. - size_t cells; -}; - class GLVolume { - struct LayerHeightTextureData - { - // ID of the layer height texture - unsigned int texture_id; - // ID of the shader used to render with the layer height texture - unsigned int shader_id; - // The print object to update when generating the layer height texture - const PrintObject* print_object; - - float z_cursor_relative; - float edit_band_width; - - LayerHeightTextureData() { reset(); } - - void reset() - { - texture_id = 0; - shader_id = 0; - print_object = nullptr; - z_cursor_relative = 0.0f; - edit_band_width = 0.0f; - } - - bool can_use() const { return (texture_id > 0) && (shader_id > 0) && (print_object != nullptr); } - }; - public: static const float SELECTED_COLOR[4]; static const float HOVER_COLOR[4]; @@ -406,7 +365,7 @@ class GLVolume { int volume_idx() const { return this->composite_id.volume_id; } int instance_idx() const { return this->composite_id.instance_id; } - Transform3d world_matrix() const; + Transform3d world_matrix() const; const BoundingBoxf3& transformed_bounding_box() const; const BoundingBoxf3& transformed_convex_hull_bounding_box() const; @@ -416,49 +375,13 @@ class GLVolume { void set_range(coordf_t low, coordf_t high); void render() const; - void render_using_layer_height() const; void render_VBOs(int color_id, int detection_id, int worldmatrix_id) const; void render_legacy() const; void finalize_geometry(bool use_VBOs) { this->indexed_vertex_array.finalize_geometry(use_VBOs); } void release_geometry() { this->indexed_vertex_array.release_geometry(); } - /************************************************ Layer height texture ****************************************************/ - std::shared_ptr layer_height_texture; - // Data to render this volume using the layer height texture - LayerHeightTextureData layer_height_texture_data; - - bool has_layer_height_texture() const - { return this->layer_height_texture.get() != nullptr; } - size_t layer_height_texture_width() const - { return (this->layer_height_texture.get() == nullptr) ? 0 : this->layer_height_texture->width; } - size_t layer_height_texture_height() const - { return (this->layer_height_texture.get() == nullptr) ? 0 : this->layer_height_texture->height; } - size_t layer_height_texture_cells() const - { return (this->layer_height_texture.get() == nullptr) ? 0 : this->layer_height_texture->cells; } - void* layer_height_texture_data_ptr_level0() const { - return (layer_height_texture.get() == nullptr) ? 0 : - (void*)layer_height_texture->data.data(); - } - void* layer_height_texture_data_ptr_level1() const { - return (layer_height_texture.get() == nullptr) ? 0 : - (void*)(layer_height_texture->data.data() + layer_height_texture->width * layer_height_texture->height * 4); - } - double layer_height_texture_z_to_row_id() const; - void generate_layer_height_texture(const PrintObject *print_object, bool force); - - void set_layer_height_texture_data(unsigned int texture_id, unsigned int shader_id, const PrintObject* print_object, float z_cursor_relative, float edit_band_width) - { - layer_height_texture_data.texture_id = texture_id; - layer_height_texture_data.shader_id = shader_id; - layer_height_texture_data.print_object = print_object; - layer_height_texture_data.z_cursor_relative = z_cursor_relative; - layer_height_texture_data.edit_band_width = edit_band_width; - } - - void reset_layer_height_texture_data() { layer_height_texture_data.reset(); } - - void set_bounding_boxes_as_dirty() { m_transformed_bounding_box_dirty = true; m_transformed_convex_hull_bounding_box_dirty = true; } + void set_bounding_boxes_as_dirty() { m_transformed_bounding_box_dirty = true; m_transformed_convex_hull_bounding_box_dirty = true; } }; typedef std::vector GLVolumePtrs; @@ -498,7 +421,6 @@ class GLVolumeCollection int load_object_volume( const ModelObject *model_object, - std::shared_ptr &layer_height_texture, int obj_idx, int volume_idx, int instance_idx, @@ -521,7 +443,7 @@ class GLVolumeCollection // Render the volumes by OpenGL. #if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - void render_VBOs(ERenderType type, bool disable_cullface) const; + void render_VBOs(ERenderType type, bool disable_cullface, std::function filter_func = std::function()) const; void render_legacy(ERenderType type, bool disable_cullface) const; #else void render_VBOs() const; diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 16f51945520..24998cd60b6 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -819,12 +819,16 @@ GLCanvas3D::LayersEditing::LayersEditing() : m_use_legacy_opengl(false) , m_enabled(false) , m_z_texture_id(0) + , m_model_object(nullptr) + , m_object_max_z(0.f) + , m_slicing_parameters(new SlicingParameters) + , m_layer_height_profile_modified(false) , state(Unknown) , band_width(2.0f) , strength(0.005f) , last_object_id(-1) , last_z(0.0f) - , last_action(0) + , last_action(LAYER_HEIGHT_EDIT_ACTION_INCREASE) { } @@ -835,6 +839,7 @@ GLCanvas3D::LayersEditing::~LayersEditing() ::glDeleteTextures(1, &m_z_texture_id); m_z_texture_id = 0; } + delete m_slicing_parameters; } bool GLCanvas3D::LayersEditing::init(const std::string& vertex_shader_filename, const std::string& fragment_shader_filename) @@ -854,9 +859,20 @@ bool GLCanvas3D::LayersEditing::init(const std::string& vertex_shader_filename, return true; } +void GLCanvas3D::LayersEditing::select_object(const Model &model, int object_id) +{ + m_model_object = (object_id >= 0) ? model.objects[object_id] : nullptr; + m_object_max_z = (m_model_object == nullptr) ? 0.f : m_model_object->bounding_box().max.z(); + if (m_model_object == nullptr || this->last_object_id != object_id) { + m_layer_height_profile.clear(); + m_layer_height_profile_modified = false; + } + this->last_object_id = object_id; +} + bool GLCanvas3D::LayersEditing::is_allowed() const { - return !m_use_legacy_opengl && m_shader.is_initialized(); + return !m_use_legacy_opengl && m_shader.is_initialized() && m_shader.get_shader()->shader_program_id > 0 && m_z_texture_id > 0; } void GLCanvas3D::LayersEditing::set_use_legacy_opengl(bool use_legacy_opengl) @@ -874,12 +890,7 @@ void GLCanvas3D::LayersEditing::set_enabled(bool enabled) m_enabled = is_allowed() && enabled; } -unsigned int GLCanvas3D::LayersEditing::get_z_texture_id() const -{ - return m_z_texture_id; -} - -void GLCanvas3D::LayersEditing::render(const GLCanvas3D& canvas, const PrintObject& print_object, const GLVolume& volume) const +void GLCanvas3D::LayersEditing::render_overlay(const GLCanvas3D& canvas) const { if (!m_enabled) return; @@ -896,8 +907,8 @@ void GLCanvas3D::LayersEditing::render(const GLCanvas3D& canvas, const PrintObje _render_tooltip_texture(canvas, bar_rect, reset_rect); _render_reset_texture(reset_rect); - _render_active_object_annotations(canvas, volume, print_object, bar_rect); - _render_profile(print_object, bar_rect); + _render_active_object_annotations(canvas, bar_rect); + _render_profile(bar_rect); // Revert the matrices. ::glPopMatrix(); @@ -905,12 +916,6 @@ void GLCanvas3D::LayersEditing::render(const GLCanvas3D& canvas, const PrintObje ::glEnable(GL_DEPTH_TEST); } -int GLCanvas3D::LayersEditing::get_shader_program_id() const -{ - const GLShader* shader = m_shader.get_shader(); - return (shader != nullptr) ? shader->shader_program_id : -1; -} - float GLCanvas3D::LayersEditing::get_cursor_z_relative(const GLCanvas3D& canvas) { const Point& mouse_pos = canvas.get_local_mouse_position(); @@ -1023,21 +1028,19 @@ void GLCanvas3D::LayersEditing::_render_reset_texture(const Rect& reset_rect) co GLTexture::render_texture(m_reset_texture.get_id(), reset_rect.get_left(), reset_rect.get_right(), reset_rect.get_bottom(), reset_rect.get_top()); } -void GLCanvas3D::LayersEditing::_render_active_object_annotations(const GLCanvas3D& canvas, const GLVolume& volume, const PrintObject& print_object, const Rect& bar_rect) const +void GLCanvas3D::LayersEditing::_render_active_object_annotations(const GLCanvas3D& canvas, const Rect& bar_rect) const { - float max_z = print_object.model_object()->bounding_box().max(2); - m_shader.start_using(); - m_shader.set_uniform("z_to_texture_row", (float)volume.layer_height_texture_z_to_row_id()); - m_shader.set_uniform("z_texture_row_to_normalized", 1.0f / (float)volume.layer_height_texture_height()); - m_shader.set_uniform("z_cursor", max_z * get_cursor_z_relative(canvas)); + m_shader.set_uniform("z_to_texture_row", float(m_layers_texture.cells - 1) / (float(m_layers_texture.width) * m_object_max_z)); + m_shader.set_uniform("z_texture_row_to_normalized", 1.0f / (float)m_layers_texture.height); + m_shader.set_uniform("z_cursor", m_object_max_z * this->get_cursor_z_relative(canvas)); m_shader.set_uniform("z_cursor_band_width", band_width); // The shader requires the original model coordinates when rendering to the texture, so we pass it the unit matrix m_shader.set_uniform("volume_world_matrix", UNIT_MATRIX); - GLsizei w = (GLsizei)volume.layer_height_texture_width(); - GLsizei h = (GLsizei)volume.layer_height_texture_height(); + GLsizei w = (GLsizei)m_layers_texture.width; + GLsizei h = (GLsizei)m_layers_texture.height; GLsizei half_w = w / 2; GLsizei half_h = h / 2; @@ -1045,8 +1048,8 @@ void GLCanvas3D::LayersEditing::_render_active_object_annotations(const GLCanvas ::glBindTexture(GL_TEXTURE_2D, m_z_texture_id); ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); ::glTexImage2D(GL_TEXTURE_2D, 1, GL_RGBA, half_w, half_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); - ::glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, volume.layer_height_texture_data_ptr_level0()); - ::glTexSubImage2D(GL_TEXTURE_2D, 1, 0, 0, half_w, half_h, GL_RGBA, GL_UNSIGNED_BYTE, volume.layer_height_texture_data_ptr_level1()); + ::glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, m_layers_texture.data.data()); + ::glTexSubImage2D(GL_TEXTURE_2D, 1, 0, 0, half_w, half_h, GL_RGBA, GL_UNSIGNED_BYTE, m_layers_texture.data.data() + m_layers_texture.width * m_layers_texture.height * 4); // Render the color bar float l = bar_rect.get_left(); @@ -1057,25 +1060,24 @@ void GLCanvas3D::LayersEditing::_render_active_object_annotations(const GLCanvas ::glBegin(GL_QUADS); ::glVertex3f(l, b, 0.0f); ::glVertex3f(r, b, 0.0f); - ::glVertex3f(r, t, max_z); - ::glVertex3f(l, t, max_z); + ::glVertex3f(r, t, m_object_max_z); + ::glVertex3f(l, t, m_object_max_z); ::glEnd(); ::glBindTexture(GL_TEXTURE_2D, 0); m_shader.stop_using(); } -void GLCanvas3D::LayersEditing::_render_profile(const PrintObject& print_object, const Rect& bar_rect) const +void GLCanvas3D::LayersEditing::_render_profile(const Rect& bar_rect) const { - // FIXME show some kind of legend. + //FIXME show some kind of legend. // Get a maximum layer height value. - // FIXME This is a duplicate code of Slicing.cpp. + //FIXME This is a duplicate code of Slicing.cpp. double layer_height_max = DBL_MAX; - const PrintConfig& print_config = print_object.print()->config(); - const std::vector& nozzle_diameters = dynamic_cast(print_config.option("nozzle_diameter"))->values; - const std::vector& layer_heights_min = dynamic_cast(print_config.option("min_layer_height"))->values; - const std::vector& layer_heights_max = dynamic_cast(print_config.option("max_layer_height"))->values; + const std::vector& nozzle_diameters = dynamic_cast(m_config->option("nozzle_diameter"))->values; + const std::vector& layer_heights_min = dynamic_cast(m_config->option("min_layer_height"))->values; + const std::vector& layer_heights_max = dynamic_cast(m_config->option("max_layer_height"))->values; for (unsigned int i = 0; i < (unsigned int)nozzle_diameters.size(); ++i) { double lh_min = (layer_heights_min[i] == 0.0) ? 0.07 : std::max(0.01, layer_heights_min[i]); @@ -1086,15 +1088,19 @@ void GLCanvas3D::LayersEditing::_render_profile(const PrintObject& print_object, // Make the vertical bar a bit wider so the layer height curve does not touch the edge of the bar region. layer_height_max *= 1.12; - double max_z = unscale(print_object.size(2)); - double layer_height = dynamic_cast(print_object.config().option("layer_height"))->value; + // Get global layer height. + double layer_height = dynamic_cast(m_config->option("layer_height"))->value; + // Override the global layer height with object's layer height if set. + const ConfigOption *opt_object_layer_height = m_model_object->config.option("layer_height"); + if (opt_object_layer_height != nullptr) + layer_height = dynamic_cast(opt_object_layer_height)->value; float l = bar_rect.get_left(); float w = bar_rect.get_right() - l; float b = bar_rect.get_bottom(); float t = bar_rect.get_top(); float h = t - b; float scale_x = w / (float)layer_height_max; - float scale_y = h / (float)max_z; + float scale_y = h / m_object_max_z; float x = l + (float)layer_height * scale_x; // Baseline @@ -1105,19 +1111,129 @@ void GLCanvas3D::LayersEditing::_render_profile(const PrintObject& print_object, ::glEnd(); // Curve - const ModelObject* model_object = print_object.model_object(); - if (model_object->layer_height_profile_valid) - { - const std::vector& profile = model_object->layer_height_profile; + ::glColor3f(0.0f, 0.0f, 1.0f); + ::glBegin(GL_LINE_STRIP); + for (unsigned int i = 0; i < m_layer_height_profile.size(); i += 2) + ::glVertex2f(l + (float)m_layer_height_profile[i + 1] * scale_x, b + (float)m_layer_height_profile[i] * scale_y); + ::glEnd(); +} - ::glColor3f(0.0f, 0.0f, 1.0f); - ::glBegin(GL_LINE_STRIP); - for (unsigned int i = 0; i < profile.size(); i += 2) - { - ::glVertex2f(l + (float)profile[i + 1] * scale_x, b + (float)profile[i] * scale_y); +void GLCanvas3D::LayersEditing::render_volumes(const GLCanvas3D& canvas, const GLVolumeCollection &volumes) const +{ + assert(this->is_allowed()); + assert(this->last_object_id != -1); + GLint shader_id = m_shader.get_shader()->shader_program_id; + assert(shader_id > 0); + + GLint current_program_id; + glGetIntegerv(GL_CURRENT_PROGRAM, ¤t_program_id); + if (shader_id > 0 && shader_id != current_program_id) + // The layer editing shader is not yet active. Activate it. + glUseProgram(shader_id); + else + // The layer editing shader was already active. + current_program_id = -1; + + GLint z_to_texture_row_id = glGetUniformLocation(shader_id, "z_to_texture_row"); + GLint z_texture_row_to_normalized_id = glGetUniformLocation(shader_id, "z_texture_row_to_normalized"); + GLint z_cursor_id = glGetUniformLocation(shader_id, "z_cursor"); + GLint z_cursor_band_width_id = glGetUniformLocation(shader_id, "z_cursor_band_width"); + GLint world_matrix_id = glGetUniformLocation(shader_id, "volume_world_matrix"); + + if (z_to_texture_row_id != -1 && z_texture_row_to_normalized_id != -1 && z_cursor_id != -1 && z_cursor_band_width_id != -1 && world_matrix_id != -1) + { + const_cast(this)->generate_layer_height_texture(); + + // Uniforms were resolved, go ahead using the layer editing shader. + glUniform1f(z_to_texture_row_id, GLfloat(m_layers_texture.cells - 1) / (GLfloat(m_layers_texture.width) * GLfloat(m_object_max_z))); + glUniform1f(z_texture_row_to_normalized_id, GLfloat(1.0f / m_layers_texture.height)); + glUniform1f(z_cursor_id, GLfloat(m_object_max_z) * GLfloat(this->get_cursor_z_relative(canvas))); + glUniform1f(z_cursor_band_width_id, GLfloat(this->band_width)); + // Initialize the layer height texture mapping. + GLsizei w = (GLsizei)m_layers_texture.width; + GLsizei h = (GLsizei)m_layers_texture.height; + GLsizei half_w = w / 2; + GLsizei half_h = h / 2; + ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glBindTexture(GL_TEXTURE_2D, m_z_texture_id); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); + glTexImage2D(GL_TEXTURE_2D, 1, GL_RGBA, half_w, half_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, m_layers_texture.data.data()); + glTexSubImage2D(GL_TEXTURE_2D, 1, 0, 0, half_w, half_h, GL_RGBA, GL_UNSIGNED_BYTE, m_layers_texture.data.data() + m_layers_texture.width * m_layers_texture.height * 4); + for (const GLVolume *glvolume : volumes.volumes) { + // Render the object using the layer editing shader and texture. + if (! glvolume->is_active || glvolume->composite_id.object_id != this->last_object_id || glvolume->is_modifier) + continue; + ::glUniformMatrix4fv(world_matrix_id, 1, GL_FALSE, (const GLfloat*)glvolume->world_matrix().cast().data()); + glvolume->render(); + } + // Revert back to the previous shader. + glBindTexture(GL_TEXTURE_2D, 0); + if (current_program_id > 0) + glUseProgram(current_program_id); + } + else + { + // Something went wrong. Just render the object. + assert(false); + for (const GLVolume *glvolume : volumes.volumes) { + // Render the object using the layer editing shader and texture. + if (!glvolume->is_active || glvolume->composite_id.object_id != this->last_object_id || glvolume->is_modifier) + continue; + ::glUniformMatrix4fv(world_matrix_id, 1, GL_FALSE, (const GLfloat*)glvolume->world_matrix().cast().data()); + glvolume->render(); + } + } +} + +void GLCanvas3D::LayersEditing::adjust_layer_height_profile() +{ + *m_slicing_parameters = PrintObject::slicing_parameters(*m_config, *m_model_object); + PrintObject::update_layer_height_profile(*m_model_object, *m_slicing_parameters, m_layer_height_profile); + Slic3r::adjust_layer_height_profile(*m_slicing_parameters, m_layer_height_profile, this->last_z, this->strength, this->band_width, this->last_action); + m_layer_height_profile_modified = true; + m_layers_texture.valid = false; +} + +void GLCanvas3D::LayersEditing::generate_layer_height_texture() +{ + // Always try to update the layer height profile. + bool update = ! m_layers_texture.valid; + *m_slicing_parameters = PrintObject::slicing_parameters(*m_config, *m_model_object); + if (PrintObject::update_layer_height_profile(*m_model_object, *m_slicing_parameters, m_layer_height_profile)) { + // Initialized to the default value. + m_layer_height_profile_modified = false; + update = true; + } + // Update if the layer height profile was changed, or when the texture is not valid. + if (! update && ! m_layers_texture.data.empty() && m_layers_texture.cells > 0) + // Texture is valid, don't update. + return; + + if (m_layers_texture.data.empty()) { + m_layers_texture.width = 1024; + m_layers_texture.height = 1024; + m_layers_texture.levels = 2; + m_layers_texture.data.assign(m_layers_texture.width * m_layers_texture.height * 5, 0); + } + + bool level_of_detail_2nd_level = true; + m_layers_texture.cells = Slic3r::generate_layer_height_texture( + *m_slicing_parameters, + Slic3r::generate_object_layers(*m_slicing_parameters, m_layer_height_profile), + m_layers_texture.data.data(), m_layers_texture.height, m_layers_texture.width, level_of_detail_2nd_level); + m_layers_texture.valid = true; +} + +void GLCanvas3D::LayersEditing::accept_changes(GLCanvas3D& canvas) +{ + if (last_object_id >= 0) { + if (m_layer_height_profile_modified) { + const_cast(m_model_object)->layer_height_profile = m_layer_height_profile; + canvas.post_event(SimpleEvent(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS)); } - ::glEnd(); } + m_layer_height_profile_modified = false; } const Point GLCanvas3D::Mouse::Drag::Invalid_2D_Point(INT_MAX, INT_MAX); @@ -3689,7 +3805,6 @@ wxDEFINE_EVENT(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_OBJECT_SELECT, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_VIEWPORT_CHANGED, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_RIGHT_CLICK, Vec2dEvent); -wxDEFINE_EVENT(EVT_GLCANVAS_MODEL_UPDATE, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_REMOVE_OBJECT, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_ARRANGE, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_QUESTION_MARK, SimpleEvent); @@ -3916,9 +4031,10 @@ int GLCanvas3D::check_volumes_outside_state() const return (int)state; } -void GLCanvas3D::set_config(DynamicPrintConfig* config) +void GLCanvas3D::set_config(const DynamicPrintConfig* config) { m_config = config; + m_layers_editing.set_config(config); } void GLCanvas3D::set_process(BackgroundSlicingProcess *process) @@ -4262,7 +4378,8 @@ void GLCanvas3D::render() _resize_toolbars(); _render_toolbar(); _render_view_toolbar(); - _render_layer_editing_overlay(); + if (m_layers_editing.last_object_id >= 0) + m_layers_editing.render_overlay(*this); #if ENABLE_IMGUI wxGetApp().imgui()->render(); @@ -4502,8 +4619,6 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re m_volumes.volumes = std::move(glvolumes_new); for (unsigned int obj_idx = 0; obj_idx < (unsigned int)m_model->objects.size(); ++ obj_idx) { const ModelObject &model_object = *m_model->objects[obj_idx]; - // Object will share a single common layer height texture between all printable volumes. - std::shared_ptr layer_height_texture; for (int volume_idx = 0; volume_idx < (int)model_object.volumes.size(); ++ volume_idx) { const ModelVolume &model_volume = *model_object.volumes[volume_idx]; for (int instance_idx = 0; instance_idx < (int)model_object.instances.size(); ++ instance_idx) { @@ -4513,33 +4628,7 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re assert(it != model_volume_state.end() && it->geometry_id == key.geometry_id); if (it->new_geometry()) { // New volume. - if (model_volume.is_model_part() && ! layer_height_texture) { - // New object part needs to have the layer height texture assigned, which is shared with the other volumes of the same part. - // Search for the layer height texture in the other volumes. - for (int iv = volume_idx; iv < (int)model_object.volumes.size(); ++ iv) { - const ModelVolume &mv = *model_object.volumes[iv]; - if (mv.is_model_part()) - for (int ii = instance_idx; ii < (int)model_object.instances.size(); ++ ii) { - const ModelInstance &mi = *model_object.instances[ii]; - ModelVolumeState key(mv.id(), mi.id()); - auto it = std::lower_bound(model_volume_state.begin(), model_volume_state.end(), key, model_volume_state_lower); - assert(it != model_volume_state.end() && it->geometry_id == key.geometry_id); - if (! it->new_geometry()) { - // Found an old printable GLVolume (existing before this function was called). - assert(m_volumes.volumes[it->volume_idx]->geometry_id == key.geometry_id); - // Reuse the layer height texture. - const GLVolume *volume = m_volumes.volumes[it->volume_idx]; - assert(volume->layer_height_texture); - layer_height_texture = volume->layer_height_texture; - goto iv_end; - } - } - } - iv_end: - if (! layer_height_texture) - layer_height_texture = std::make_shared(); - } - m_volumes.load_object_volume(&model_object, layer_height_texture, obj_idx, volume_idx, instance_idx, m_color_by, m_use_VBOs && m_initialized); + m_volumes.load_object_volume(&model_object, obj_idx, volume_idx, instance_idx, m_color_by, m_use_VBOs && m_initialized); m_volumes.volumes.back()->geometry_id = key.geometry_id; } else { // Recycling an old GLVolume. @@ -4547,11 +4636,6 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re assert(existing_volume.geometry_id == key.geometry_id); // Update the Object/Volume/Instance indices into the current Model. existing_volume.composite_id = it->composite_id; - if (model_volume.is_model_part() && ! layer_height_texture) { - assert(existing_volume.layer_height_texture); - // cache its layer height texture - layer_height_texture = existing_volume.layer_height_texture; - } } } } @@ -4945,10 +5029,8 @@ void GLCanvas3D::on_mouse_wheel(wxMouseEvent& evt) void GLCanvas3D::on_timer(wxTimerEvent& evt) { - if (m_layers_editing.state != LayersEditing::Editing) - return; - - _perform_layer_editing_action(); + if (m_layers_editing.state == LayersEditing::Editing) + _perform_layer_editing_action(); } void GLCanvas3D::on_mouse(wxMouseEvent& evt) @@ -4967,7 +5049,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) int selected_object_idx = m_selection.get_object_idx(); int layer_editing_object_idx = is_layers_editing_enabled() ? selected_object_idx : -1; - m_layers_editing.last_object_id = layer_editing_object_idx; + m_layers_editing.select_object(*m_model, layer_editing_object_idx); bool gizmos_overlay_contains_mouse = m_gizmos.overlay_contains_mouse(*this, m_mouse.position); int toolbar_contains_mouse = m_toolbar.contains_mouse(m_mouse.position, *this); int view_toolbar_contains_mouse = (m_view_toolbar != nullptr) ? m_view_toolbar->contains_mouse(m_mouse.position, *this) : -1; @@ -5032,10 +5114,8 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) { if (evt.LeftDown()) { - // A volume is selected and the mouse is inside the reset button. - // The PrintObject::adjust_layer_height_profile() call adjusts the profile of its associated ModelObject, it does not modify the profile of the PrintObject itself, - // therefore it is safe to call it while the background processing is running. - const_cast(this->fff_print()->get_object(layer_editing_object_idx))->reset_layer_height_profile(); + // A volume is selected and the mouse is inside the reset button. Reset the ModelObject's layer height profile. + m_model->objects[layer_editing_object_idx]->layer_height_profile.clear(); // Index 2 means no editing, just wait for mouse up event. m_layers_editing.state = LayersEditing::Completed; @@ -5296,9 +5376,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) { m_layers_editing.state = LayersEditing::Unknown; _stop_timer(); - - if (layer_editing_object_idx != -1) - post_event(SimpleEvent(EVT_GLCANVAS_MODEL_UPDATE)); + m_layers_editing.accept_changes(*this); } else if ((m_mouse.drag.move_volume_idx != -1) && m_mouse.dragging) { @@ -6074,28 +6152,6 @@ float GLCanvas3D::_get_zoom_to_bounding_box_factor(const BoundingBoxf3& bbox) co return (float)std::min((double)cnv_size.get_width() / max_x, (double)cnv_size.get_height() / max_y); } -void GLCanvas3D::_mark_volumes_for_layer_height() const -{ - const Print *print = (m_process == nullptr) ? nullptr : m_process->fff_print(); - if (print == nullptr) - return; - - for (GLVolume* vol : m_volumes.volumes) - { - int object_id = vol->object_idx(); - int shader_id = m_layers_editing.get_shader_program_id(); - - if (is_layers_editing_enabled() && (shader_id != -1) && vol->selected && - vol->has_layer_height_texture() && (object_id < (int)print->objects().size())) - { - vol->set_layer_height_texture_data(m_layers_editing.get_z_texture_id(), shader_id, - print->get_object(object_id), _get_layers_editing_cursor_z_relative(), m_layers_editing.band_width); - } - else - vol->reset_layer_height_texture_data(); - } -} - void GLCanvas3D::_refresh_if_shown_on_screen() { if (_is_shown_on_screen()) @@ -6241,7 +6297,8 @@ void GLCanvas3D::_render_objects() const { if (m_picking_enabled) { - _mark_volumes_for_layer_height(); + // Update the layer editing selection to the first object selected, update the current object maximum Z. + const_cast(m_layers_editing).select_object(*m_model, this->is_layers_editing_enabled() ? m_selection.get_object_idx() : -1); if (m_config != nullptr) { @@ -6262,8 +6319,18 @@ void GLCanvas3D::_render_objects() const m_shader.start_using(); #if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - // do not cull backfaces to show broken geometry, if any - m_volumes.render_VBOs(GLVolumeCollection::Opaque, m_picking_enabled); + if (m_picking_enabled && m_layers_editing.is_enabled() && m_layers_editing.last_object_id != -1) { + int object_id = m_layers_editing.last_object_id; + m_volumes.render_VBOs(GLVolumeCollection::Opaque, false, [object_id](const GLVolume &volume) { + // Which volume to paint without the layer height profile shader? + return volume.is_active && (volume.is_modifier || volume.composite_id.object_id != object_id); + }); + // Let LayersEditing handle rendering of the active object using the layer height profile shader. + m_layers_editing.render_volumes(*this, this->m_volumes); + } else { + // do not cull backfaces to show broken geometry, if any + m_volumes.render_VBOs(GLVolumeCollection::Opaque, m_picking_enabled); + } m_volumes.render_VBOs(GLVolumeCollection::Transparent, false); #else m_volumes.render_VBOs(); @@ -6344,39 +6411,6 @@ void GLCanvas3D::_render_legend_texture() const m_legend_texture.render(*this); } -void GLCanvas3D::_render_layer_editing_overlay() const -{ - const Print *print = this->fff_print(); - if ((print == nullptr) || print->objects().empty()) - return; - - GLVolume* volume = nullptr; - - for (GLVolume* vol : m_volumes.volumes) - { - if ((vol != nullptr) && vol->selected && vol->has_layer_height_texture()) - { - volume = vol; - break; - } - } - - if (volume == nullptr) - return; - - // If the active object was not allocated at the Print, go away.This should only be a momentary case between an object addition / deletion - // and an update by Platter::async_apply_config. - int object_idx = volume->object_idx(); - if ((int)print->objects().size() <= object_idx) - return; - - const PrintObject* print_object = print->get_object(object_idx); - if (print_object == nullptr) - return; - - m_layers_editing.render(*this, *print_object, *volume); -} - void GLCanvas3D::_render_volumes(bool fake_colors) const { static const GLfloat INV_255 = 1.0f / 255.0f; @@ -6776,55 +6810,24 @@ void GLCanvas3D::_update_gizmos_data() } } -float GLCanvas3D::_get_layers_editing_cursor_z_relative() const -{ - return m_layers_editing.get_cursor_z_relative(*this); -} - void GLCanvas3D::_perform_layer_editing_action(wxMouseEvent* evt) { int object_idx_selected = m_layers_editing.last_object_id; if (object_idx_selected == -1) return; - const Print *print = this->fff_print(); - if (print == nullptr) - return; - - const PrintObject* selected_obj = print->get_object(object_idx_selected); - if (selected_obj == nullptr) - return; - // A volume is selected. Test, whether hovering over a layer thickness bar. if (evt != nullptr) { const Rect& rect = LayersEditing::get_bar_rect_screen(*this); float b = rect.get_bottom(); - m_layers_editing.last_z = unscale(selected_obj->size(2)) * (b - evt->GetY() - 1.0f) / (b - rect.get_top()); - m_layers_editing.last_action = evt->ShiftDown() ? (evt->RightIsDown() ? 3 : 2) : (evt->RightIsDown() ? 0 : 1); - } - - // Mark the volume as modified, so Print will pick its layer height profile ? Where to mark it ? - // Start a timer to refresh the print ? schedule_background_process() ? - // The PrintObject::adjust_layer_height_profile() call adjusts the profile of its associated ModelObject, it does not modify the profile of the PrintObject itself, - // therefore it is safe to call it while the background processing is running. - const_cast(selected_obj)->adjust_layer_height_profile(m_layers_editing.last_z, m_layers_editing.strength, m_layers_editing.band_width, m_layers_editing.last_action); - - // searches the id of the first volume of the selected object - int volume_idx = 0; - for (int i = 0; i < object_idx_selected; ++i) - { - const PrintObject* obj = print->get_object(i); - if (obj != nullptr) - { - for (int j = 0; j < (int)obj->region_volumes.size(); ++j) - { - volume_idx += (int)obj->region_volumes[j].size(); - } - } + m_layers_editing.last_z = m_layers_editing.object_max_z() * (b - evt->GetY() - 1.0f) / (b - rect.get_top()); + m_layers_editing.last_action = + evt->ShiftDown() ? (evt->RightIsDown() ? LAYER_HEIGHT_EDIT_ACTION_SMOOTH : LAYER_HEIGHT_EDIT_ACTION_REDUCE) : + (evt->RightIsDown() ? LAYER_HEIGHT_EDIT_ACTION_INCREASE : LAYER_HEIGHT_EDIT_ACTION_DECREASE); } - m_volumes.volumes[volume_idx]->generate_layer_height_texture(selected_obj, 1); + m_layers_editing.adjust_layer_height_profile(); _refresh_if_shown_on_screen(); // Automatic action on mouse down with the same coordinate. diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 625c7316954..6c6ea9af85b 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -29,6 +29,8 @@ class GLShader; class ExPolygon; class BackgroundSlicingProcess; class GCodePreviewData; +struct SlicingParameters; +enum LayerHeightEditActionType : unsigned int; namespace GUI { @@ -101,7 +103,6 @@ wxDECLARE_EVENT(EVT_GLCANVAS_INIT, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_VIEWPORT_CHANGED, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_RIGHT_CLICK, Vec2dEvent); -wxDECLARE_EVENT(EVT_GLCANVAS_MODEL_UPDATE, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_REMOVE_OBJECT, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_ARRANGE, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_QUESTION_MARK, SimpleEvent); @@ -293,12 +294,42 @@ class GLCanvas3D }; private: - bool m_use_legacy_opengl; - bool m_enabled; - Shader m_shader; - unsigned int m_z_texture_id; - mutable GLTexture m_tooltip_texture; - mutable GLTexture m_reset_texture; + bool m_use_legacy_opengl; + bool m_enabled; + Shader m_shader; + unsigned int m_z_texture_id; + mutable GLTexture m_tooltip_texture; + mutable GLTexture m_reset_texture; + // Not owned by LayersEditing. + const DynamicPrintConfig *m_config; + // ModelObject for the currently selected object (Model::objects[last_object_id]). + const ModelObject *m_model_object; + // Maximum z of the currently selected object (Model::objects[last_object_id]). + float m_object_max_z; + // Owned by LayersEditing. + SlicingParameters *m_slicing_parameters; + std::vector m_layer_height_profile; + bool m_layer_height_profile_modified; + + class LayersTexture + { + public: + LayersTexture() : width(0), height(0), levels(0), cells(0), valid(false) {} + + // Texture data + std::vector data; + // Width of the texture, top level. + size_t width; + // Height of the texture, top level. + size_t height; + // For how many levels of detail is the data allocated? + size_t levels; + // Number of texture cells allocated for the height texture. + size_t cells; + // Does it need to be refreshed? + bool valid; + }; + LayersTexture m_layers_texture; public: EState state; @@ -306,12 +337,14 @@ class GLCanvas3D float strength; int last_object_id; float last_z; - unsigned int last_action; + LayerHeightEditActionType last_action; LayersEditing(); ~LayersEditing(); bool init(const std::string& vertex_shader_filename, const std::string& fragment_shader_filename); + void set_config(const DynamicPrintConfig* config) { m_config = config; } + void select_object(const Model &model, int object_id); bool is_allowed() const; void set_use_legacy_opengl(bool use_legacy_opengl); @@ -319,11 +352,12 @@ class GLCanvas3D bool is_enabled() const; void set_enabled(bool enabled); - unsigned int get_z_texture_id() const; - - void render(const GLCanvas3D& canvas, const PrintObject& print_object, const GLVolume& volume) const; + void render_overlay(const GLCanvas3D& canvas) const; + void render_volumes(const GLCanvas3D& canvas, const GLVolumeCollection& volumes) const; - int get_shader_program_id() const; + void generate_layer_height_texture(); + void adjust_layer_height_profile(); + void accept_changes(GLCanvas3D& canvas); static float get_cursor_z_relative(const GLCanvas3D& canvas); static bool bar_rect_contains(const GLCanvas3D& canvas, float x, float y); @@ -333,12 +367,14 @@ class GLCanvas3D static Rect get_bar_rect_viewport(const GLCanvas3D& canvas); static Rect get_reset_rect_viewport(const GLCanvas3D& canvas); + float object_max_z() const { return m_object_max_z; } + private: bool _is_initialized() const; void _render_tooltip_texture(const GLCanvas3D& canvas, const Rect& bar_rect, const Rect& reset_rect) const; void _render_reset_texture(const Rect& reset_rect) const; - void _render_active_object_annotations(const GLCanvas3D& canvas, const GLVolume& volume, const PrintObject& print_object, const Rect& bar_rect) const; - void _render_profile(const PrintObject& print_object, const Rect& bar_rect) const; + void _render_active_object_annotations(const GLCanvas3D& canvas, const Rect& bar_rect) const; + void _render_profile(const Rect& bar_rect) const; }; struct Mouse @@ -821,7 +857,7 @@ class GLCanvas3D mutable GLVolumeCollection m_volumes; Selection m_selection; - DynamicPrintConfig* m_config; + const DynamicPrintConfig* m_config; Model* m_model; BackgroundSlicingProcess *m_process; @@ -881,7 +917,7 @@ class GLCanvas3D void reset_volumes(); int check_volumes_outside_state() const; - void set_config(DynamicPrintConfig* config); + void set_config(const DynamicPrintConfig* config); void set_process(BackgroundSlicingProcess* process); void set_model(Model* model); @@ -1023,7 +1059,6 @@ class GLCanvas3D void _zoom_to_bounding_box(const BoundingBoxf3& bbox); float _get_zoom_to_bounding_box_factor(const BoundingBoxf3& bbox) const; - void _mark_volumes_for_layer_height() const; void _refresh_if_shown_on_screen(); void _camera_tranform() const; @@ -1038,7 +1073,6 @@ class GLCanvas3D #endif // ENABLE_RENDER_SELECTION_CENTER void _render_warning_texture() const; void _render_legend_texture() const; - void _render_layer_editing_overlay() const; void _render_volumes(bool fake_colors) const; void _render_current_gizmo() const; void _render_gizmos_overlay() const; @@ -1055,7 +1089,6 @@ class GLCanvas3D void _update_volumes_hover_state() const; void _update_gizmos_data(); - float _get_layers_editing_cursor_z_relative() const; void _perform_layer_editing_action(wxMouseEvent* evt = nullptr); // Convert the screen space coordinate to an object space coordinate. diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index ad432c27396..53ca52cb6f9 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -27,7 +27,7 @@ namespace Slic3r { namespace GUI { - View3D::View3D(wxWindow* parent, Model* model, DynamicPrintConfig* config, BackgroundSlicingProcess* process) +View3D::View3D(wxWindow* parent, Model* model, DynamicPrintConfig* config, BackgroundSlicingProcess* process) : m_canvas_widget(nullptr) , m_canvas(nullptr) #if !ENABLE_IMGUI diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 2a600398697..15bb2c07b60 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -159,6 +159,7 @@ void MainFrame::create_preset_tabs() add_created_tab(new TabSLAPrint(m_tabpanel)); add_created_tab(new TabSLAMaterial(m_tabpanel)); add_created_tab(new TabPrinter(m_tabpanel)); + GUI::wxGetApp().load_current_presets(); } void MainFrame::add_created_tab(Tab* panel) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index ad4472bcfc5..61918562f69 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1088,7 +1088,10 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) "brim_width", "variable_layer_height", "serial_port", "serial_speed", "host_type", "print_host", "printhost_apikey", "printhost_cafile", "nozzle_diameter", "single_extruder_multi_material", "wipe_tower", "wipe_tower_x", "wipe_tower_y", "wipe_tower_width", "wipe_tower_rotation_angle", - "extruder_colour", "filament_colour", "max_print_height", "printer_model", "printer_technology" + "extruder_colour", "filament_colour", "max_print_height", "printer_model", "printer_technology", + // The following three layer height config values are passed here for View3D::m_canvas to receive + // layer height updates for the layer height. + "min_layer_height", "max_layer_height", "layer_height", "first_layer_height" })) , sidebar(new Sidebar(q)) , delayed_scene_refresh(false) @@ -1157,7 +1160,6 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) view3D_canvas->Bind(EVT_GLCANVAS_OBJECT_SELECT, &priv::on_object_select, this); view3D_canvas->Bind(EVT_GLCANVAS_VIEWPORT_CHANGED, &priv::on_viewport_changed, this); view3D_canvas->Bind(EVT_GLCANVAS_RIGHT_CLICK, &priv::on_right_click, this); - view3D_canvas->Bind(EVT_GLCANVAS_MODEL_UPDATE, [this](SimpleEvent&) { this->schedule_background_process(); }); view3D_canvas->Bind(EVT_GLCANVAS_REMOVE_OBJECT, [q](SimpleEvent&) { q->remove_selected(); }); view3D_canvas->Bind(EVT_GLCANVAS_ARRANGE, [this](SimpleEvent&) { arrange(); }); view3D_canvas->Bind(EVT_GLCANVAS_QUESTION_MARK, [this](SimpleEvent&) { wxGetApp().keyboard_shortcuts(); }); @@ -2035,7 +2037,7 @@ void Plater::priv::reload_from_disk() } } - // XXX: Restore more: layer_height_ranges, layer_height_profile, layer_height_profile_valid (?) + // XXX: Restore more: layer_height_ranges, layer_height_profile (?) } remove(obj_orig_idx); @@ -2066,7 +2068,7 @@ void Plater::priv::fix_through_netfabb(const int obj_idx) o->volumes[i]->config.apply(model_object->volumes[i]->config); } } - // FIXME restore volumes and their configs, layer_height_ranges, layer_height_profile, layer_height_profile_valid, + // FIXME restore volumes and their configs, layer_height_ranges, layer_height_profile } remove(obj_idx); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 02366c72146..0b1f1e57130 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -245,9 +245,6 @@ void Tab::create_preset_tab() // Initialize the DynamicPrintConfig by default keys/values. build(); rebuild_page_tree(); -// update(); - // Load the currently selected preset into the GUI, update the preset selection box. - load_current_preset(); } void Tab::load_initial_data() From 207c87a3d1aaf94f5b10507fbf27719981eef737 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Mon, 21 Jan 2019 10:34:10 +0100 Subject: [PATCH 122/189] Many comments for maintainability. --- src/libslic3r/ModelArrange.cpp | 84 +++++++++++++++++++++++----------- 1 file changed, 58 insertions(+), 26 deletions(-) diff --git a/src/libslic3r/ModelArrange.cpp b/src/libslic3r/ModelArrange.cpp index 8ed595802c5..1f517375cbb 100644 --- a/src/libslic3r/ModelArrange.cpp +++ b/src/libslic3r/ModelArrange.cpp @@ -15,6 +15,7 @@ namespace arr { using namespace libnest2d; +// Only for debugging. Prints the model object vertices on stdout. std::string toString(const Model& model, bool holes = true) { std::stringstream ss; @@ -78,6 +79,7 @@ std::string toString(const Model& model, bool holes = true) { return ss.str(); } +// Debugging: Save model to svg file. void toSVG(SVG& svg, const Model& model) { for(auto objptr : model.objects) { if(!objptr) continue; @@ -121,6 +123,10 @@ Box boundingBox(const Box& pilebb, const Box& ibb ) { return Box(minc, maxc); } +// This is "the" object function which is evaluated many times for each vertex +// (decimated with the accuracy parameter) of each object. Therefore it is +// upmost crucial for this function to be as efficient as it possibly can be but +// at the same time, it has to provide reasonable results. std::tuple objfunc(const PointImpl& bincenter, const shapelike::Shapes& merged_pile, @@ -253,6 +259,8 @@ objfunc(const PointImpl& bincenter, return std::make_tuple(score, fullbb); } +// Fill in the placer algorithm configuration with values carefully chosen for +// Slic3r. template void fillConfig(PConf& pcfg) { @@ -274,13 +282,19 @@ void fillConfig(PConf& pcfg) { pcfg.parallel = true; } +// Type trait for an arranger class for different bin types (box, circle, +// polygon, etc...) template class AutoArranger {}; + +// A class encapsulating the libnest2d Nester class and extending it with other +// management and spatial index structures for acceleration. template class _ArrBase { protected: + // Useful type shortcuts... using Placer = TPacker; using Selector = FirstFitSelection; using Packer = Nester; @@ -289,15 +303,15 @@ class _ArrBase { using Pile = sl::Shapes; Packer m_pck; - PConfig m_pconf; // Placement configuration + PConfig m_pconf; // Placement configuration double m_bin_area; - SpatIndex m_rtree; - SpatIndex m_smallsrtree; - double m_norm; - Pile m_merged_pile; - Box m_pilebb; - ItemGroup m_remaining; - ItemGroup m_items; + SpatIndex m_rtree; // spatial index for the normal (bigger) objects + SpatIndex m_smallsrtree; // spatial index for only the smaller items + double m_norm; // A coefficient to scale distances + Pile m_merged_pile; // The already merged pile (vector of items) + Box m_pilebb; // The bounding box of the merged pile. + ItemGroup m_remaining; // Remaining items (m_items at the beginning) + ItemGroup m_items; // The items to be packed public: _ArrBase(const TBin& bin, Distance dist, @@ -308,6 +322,8 @@ class _ArrBase { { fillConfig(m_pconf); + // Set up a callback that is called just before arranging starts + // This functionality is provided by the Nester class (m_pack). m_pconf.before_packing = [this](const Pile& merged_pile, // merged pile const ItemGroup& items, // packed items @@ -344,8 +360,8 @@ class _ArrBase { } }; -template<> -class AutoArranger: public _ArrBase { +// Arranger specialization for a Box shaped bin. +template<> class AutoArranger: public _ArrBase { public: AutoArranger(const Box& bin, Distance dist, @@ -354,6 +370,9 @@ class AutoArranger: public _ArrBase { _ArrBase(bin, dist, progressind, stopcond) { + // Here we set up the actual object function that calls the common + // object function for all bin shapes than does an additional inside + // check for the arranged pile. m_pconf.object_function = [this, bin] (const Item &item) { auto result = objfunc(bin.center(), @@ -387,8 +406,8 @@ inline lnCircle to_lnCircle(const Circle& circ) { return lnCircle({circ.center()(0), circ.center()(1)}, circ.radius()); } -template<> -class AutoArranger: public _ArrBase { +// Arranger specialization for circle shaped bin. +template<> class AutoArranger: public _ArrBase { public: AutoArranger(const lnCircle& bin, Distance dist, @@ -396,6 +415,7 @@ class AutoArranger: public _ArrBase { std::function stopcond): _ArrBase(bin, dist, progressind, stopcond) { + // As with the box, only the inside check is different. m_pconf.object_function = [this, &bin] (const Item &item) { auto result = objfunc(bin.center(), @@ -431,8 +451,9 @@ class AutoArranger: public _ArrBase { } }; -template<> -class AutoArranger: public _ArrBase { +// Arranger specialization for a generalized polygon. +// Warning: this is unfinished business. It may or may not work. +template<> class AutoArranger: public _ArrBase { public: AutoArranger(const PolygonImpl& bin, Distance dist, std::function progressind, @@ -461,8 +482,10 @@ class AutoArranger: public _ArrBase { } }; -template<> // Specialization with no bin -class AutoArranger: public _ArrBase { +// Specialization with no bin. In this case the arranger should just arrange +// all objects into a minimum sized pile but it is not limited by a bin. A +// consequence is that only one pile should be created. +template<> class AutoArranger: public _ArrBase { public: AutoArranger(Distance dist, std::function progressind, @@ -490,14 +513,15 @@ class AutoArranger: public _ArrBase { // A container which stores a pointer to the 3D object and its projected // 2D shape from top view. -using ShapeData2D = - std::vector>; +using ShapeData2D = std::vector>; ShapeData2D projectModelFromTop(const Slic3r::Model &model) { ShapeData2D ret; - auto s = std::accumulate(model.objects.begin(), model.objects.end(), size_t(0), - [](size_t s, ModelObject* o){ + // Count all the items on the bin (all the object's instances) + auto s = std::accumulate(model.objects.begin(), model.objects.end(), + size_t(0), [](size_t s, ModelObject* o) + { return s + o->instances.size(); }); @@ -517,7 +541,8 @@ ShapeData2D projectModelFromTop(const Slic3r::Model &model) { rmesh.rotate_x(float(finst->get_rotation()(X))); rmesh.rotate_y(float(finst->get_rotation()(Y))); - // TODO export the exact 2D projection + // TODO export the exact 2D projection. Cannot do it as libnest2d + // does not support concave shapes (yet). auto p = rmesh.convex_hull(); p.make_clockwise(); @@ -549,6 +574,8 @@ ShapeData2D projectModelFromTop(const Slic3r::Model &model) { return ret; } +// Apply the calculated translations and rotations (currently disabled) to the +// Model object instances. void applyResult( IndexedPackGroup::value_type& group, Coord batch_offset, @@ -576,6 +603,7 @@ void applyResult( } } +// Get the type of bed geometry from a simple vector of points. BedShapeHint bedShape(const Polyline &bed) { BedShapeHint ret; @@ -654,11 +682,15 @@ BedShapeHint bedShape(const Polyline &bed) { return ret; } -bool arrange(Model &model, - coord_t min_obj_distance, - const Polyline &bed, - BedShapeHint bedhint, - bool first_bin_only, +// The final client function to arrange the Model. A progress indicator and +// a stop predicate can be also be passed to control the process. +bool arrange(Model &model, // The model with the geometries + coord_t min_obj_distance, // Has to be in scaled (clipper) measure + const Polyline &bed, // The bed geometry. + BedShapeHint bedhint, // Hint about the bed geometry type. + bool first_bin_only, // What to do is not all items fit. + + // Controlling callbacks. std::function progressind, std::function stopcondition) { From 25319113f1ebec15caace5b445ae9112473984ab Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 21 Jan 2019 11:29:45 +0100 Subject: [PATCH 123/189] Code cleanup --- src/libslic3r/Format/3mf.cpp | 5 ----- src/libslic3r/Format/AMF.cpp | 4 ---- src/libslic3r/Geometry.cpp | 8 -------- src/libslic3r/Geometry.hpp | 2 -- src/libslic3r/Model.cpp | 31 ------------------------------- src/libslic3r/Model.hpp | 2 -- src/libslic3r/Technologies.hpp | 2 -- src/slic3r/GUI/GUI_ObjectList.cpp | 8 -------- src/slic3r/GUI/Plater.cpp | 18 ------------------ 9 files changed, 80 deletions(-) diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp index 0f0836c866b..8b0c28cd6ff 100644 --- a/src/libslic3r/Format/3mf.cpp +++ b/src/libslic3r/Format/3mf.cpp @@ -1842,11 +1842,6 @@ namespace Slic3r { { stream << " <" << VERTEX_TAG << " "; Vec3d v = matrix * stl.v_shared[i].cast(); - -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - std::cout << to_string((Vec3d)stl.v_shared[i].cast()) << " --> " << to_string(v) << std::endl; -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - stream << "x=\"" << v(0) << "\" "; stream << "y=\"" << v(1) << "\" "; stream << "z=\"" << v(2) << "\" />\n"; diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index cc1bf92c029..145a83e74b5 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -641,15 +641,11 @@ void AMFParserContext::endDocument() continue; } for (const Instance &instance : object.second.instances) -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES { #else -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if (instance.deltax_set && instance.deltay_set) { -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ModelInstance *mi = m_model.objects[object.second.idx]->add_instance(); mi->set_offset(Vec3d(instance.deltax_set ? (double)instance.deltax : 0.0, instance.deltay_set ? (double)instance.deltay : 0.0, instance.deltaz_set ? (double)instance.deltaz : 0.0)); mi->set_rotation(Vec3d(instance.rx_set ? (double)instance.rx : 0.0, instance.ry_set ? (double)instance.ry : 0.0, instance.rz_set ? (double)instance.rz : 0.0)); diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index 68d55852f89..5f1b81b899e 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1303,24 +1303,18 @@ void Transformation::Flags::set(bool dont_translate, bool dont_rotate, bool dont } Transformation::Transformation() -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ : m_offset(Vec3d::Zero()) , m_rotation(Vec3d::Zero()) , m_scaling_factor(Vec3d::Ones()) , m_mirror(Vec3d::Ones()) , m_matrix(Transform3d::Identity()) , m_dirty(false) -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ { -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES reset(); #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } Transformation::Transformation(const Transform3d& transform) @@ -1439,7 +1433,6 @@ void Transformation::set_from_transform(const Transform3d& transform) // std::cout << "something went wrong in extracting data from matrix" << std::endl; } -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES void Transformation::reset() { @@ -1451,7 +1444,6 @@ void Transformation::reset() m_dirty = false; } #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ const Transform3d& Transformation::get_matrix(bool dont_translate, bool dont_rotate, bool dont_scale, bool dont_mirror) const { diff --git a/src/libslic3r/Geometry.hpp b/src/libslic3r/Geometry.hpp index 39a1a01e9c3..deefaa78953 100644 --- a/src/libslic3r/Geometry.hpp +++ b/src/libslic3r/Geometry.hpp @@ -251,11 +251,9 @@ class Transformation void set_from_transform(const Transform3d& transform); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES void reset(); #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ const Transform3d& get_matrix(bool dont_translate = false, bool dont_rotate = false, bool dont_scale = false, bool dont_mirror = false) const; diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 29deafa80f5..b13b00e5780 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -639,11 +639,9 @@ ModelVolume* ModelObject::add_volume(const TriangleMesh &mesh) { ModelVolume* v = new ModelVolume(this, mesh); this->volumes.push_back(v); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES v->center_geometry(); #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); return v; } @@ -652,11 +650,9 @@ ModelVolume* ModelObject::add_volume(TriangleMesh &&mesh) { ModelVolume* v = new ModelVolume(this, std::move(mesh)); this->volumes.push_back(v); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES v->center_geometry(); #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); return v; } @@ -665,11 +661,9 @@ ModelVolume* ModelObject::add_volume(const ModelVolume &other) { ModelVolume* v = new ModelVolume(this, other); this->volumes.push_back(v); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES v->center_geometry(); #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); return v; } @@ -678,11 +672,9 @@ ModelVolume* ModelObject::add_volume(const ModelVolume &other, TriangleMesh &&me { ModelVolume* v = new ModelVolume(this, other, std::move(mesh)); this->volumes.push_back(v); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES v->center_geometry(); #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); return v; } @@ -693,7 +685,6 @@ void ModelObject::delete_volume(size_t idx) delete *i; this->volumes.erase(i); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES if (this->volumes.size() == 1) { @@ -702,21 +693,15 @@ void ModelObject::delete_volume(size_t idx) // it will be seen as a single full instance ans so its volume transform may be ignored ModelVolume* v = this->volumes.front(); Transform3d v_t = v->get_transformation().get_matrix(); -// Transform3d v_t = v->get_transformation().get_matrix(true); for (ModelInstance* inst : this->instances) { -// Vec3d offset = inst->get_offset(); inst->set_transformation(Geometry::Transformation(inst->get_transformation().get_matrix() * v_t)); -// inst->set_transformation(Geometry::Transformation(inst->get_transformation().get_matrix(true) * v_t)); -// inst->set_offset(offset); } Geometry::Transformation t; -// t.set_offset(v->get_offset()); v->set_transformation(t); v->set_new_unique_id(); } #else -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if (this->volumes.size() == 1) { // only one volume left @@ -733,9 +718,7 @@ void ModelObject::delete_volume(size_t idx) v->set_offset(Vec3d::Zero()); v->set_new_unique_id(); } -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ this->invalidate_bounding_box(); } @@ -913,7 +896,6 @@ BoundingBoxf3 ModelObject::instance_bounding_box(size_t instance_idx, bool dont_ return bb; } -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES BoundingBoxf3 ModelObject::full_raw_mesh_bounding_box() const { @@ -927,24 +909,19 @@ BoundingBoxf3 ModelObject::full_raw_mesh_bounding_box() const return bb; } #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ void ModelObject::center_around_origin() { // calculate the displacements needed to // center this object around the origin -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES BoundingBoxf3 bb = full_raw_mesh_bounding_box(); #else -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ BoundingBoxf3 bb; for (ModelVolume *v : this->volumes) if (v->is_model_part()) bb.merge(v->mesh.bounding_box()); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // Shift is the vector from the center of the bounding box to the origin Vec3d shift = -bb.center(); @@ -1223,13 +1200,9 @@ void ModelObject::split(ModelObjectPtrs* new_objects) for (const ModelInstance *model_instance : this->instances) new_object->add_instance(*model_instance); ModelVolume* new_vol = new_object->add_volume(*volume, std::move(*mesh)); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ new_vol->center_geometry(); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ for (ModelInstance* model_instance : new_object->instances) { @@ -1397,7 +1370,6 @@ int ModelVolume::extruder_id() const void ModelVolume::center_geometry() { -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES Vec3d shift = mesh.bounding_box().center(); if (!shift.isApprox(Vec3d::Zero())) @@ -1407,14 +1379,11 @@ void ModelVolume::center_geometry() translate(shift); } #else -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Vec3d shift = -mesh.bounding_box().center(); mesh.translate((float)shift(0), (float)shift(1), (float)shift(2)); m_convex_hull.translate((float)shift(0), (float)shift(1), (float)shift(2)); translate(-shift); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } void ModelVolume::calculate_convex_hull() diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index 5bed3e244dd..7764aec0482 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -219,12 +219,10 @@ class ModelObject : public ModelBase BoundingBoxf3 raw_bounding_box() const; // A snug bounding box around the transformed non-modifier object volumes. BoundingBoxf3 instance_bounding_box(size_t instance_idx, bool dont_translate = false) const; -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES // Bounding box of non-transformed (non-rotated, non-scaled, non-translated) sum of all object volumes. BoundingBoxf3 full_raw_mesh_bounding_box() const; #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ void center_around_origin(); void ensure_on_bed(); void translate_instances(const Vec3d& vector); diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 35c98b47176..c2721db4d14 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -64,7 +64,6 @@ #define ENABLE_REWORKED_BED_SHAPE_CHANGE (1 && ENABLE_1_42_0_ALPHA4) -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //==================== // 1.42.0.alpha5 techs //==================== @@ -72,4 +71,3 @@ // Bunch of fixes related to volumes centering #define ENABLE_VOLUMES_CENTERING_FIXES (1 && ENABLE_1_42_0_ALPHA5) -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index a1a56ded134..09da47eb09e 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -845,13 +845,9 @@ void ObjectList::load_part( ModelObject* model_object, delta = model_object->origin_translation - object->origin_translation; } for (auto volume : object->volumes) { -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ volume->center_geometry(); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ volume->translate(delta); auto new_volume = model_object->add_volume(*volume); new_volume->set_type(static_cast(type)); @@ -904,13 +900,9 @@ void ObjectList::load_generic_subobject(const std::string& type_name, const int #if !ENABLE_GENERIC_SUBPARTS_PLACEMENT new_volume->set_offset(Vec3d(0.0, 0.0, (*m_objects)[obj_idx]->origin_translation(2) - mesh.stl.stats.min(2))); #endif // !ENABLE_GENERIC_SUBPARTS_PLACEMENT -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ new_volume->center_geometry(); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_GENERIC_SUBPARTS_PLACEMENT const GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 59ceafd168b..7aad9d64e89 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -970,11 +970,9 @@ struct Plater::priv static const std::regex pattern_3mf; static const std::regex pattern_zip_amf; static const std::regex pattern_any_amf; -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES static const std::regex pattern_prusa; #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ priv(Plater *q, MainFrame *main_frame); @@ -1084,11 +1082,9 @@ const std::regex Plater::priv::pattern_bundle(".*[.](amf|amf[.]xml|zip[.]amf|3mf const std::regex Plater::priv::pattern_3mf(".*3mf", std::regex::icase); const std::regex Plater::priv::pattern_zip_amf(".*[.]zip[.]amf", std::regex::icase); const std::regex Plater::priv::pattern_any_amf(".*[.](amf|amf[.]xml|zip[.]amf)", std::regex::icase); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES const std::regex Plater::priv::pattern_prusa(".*prusa", std::regex::icase); #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Plater::priv::priv(Plater *q, MainFrame *main_frame) : q(q) @@ -1331,11 +1327,9 @@ std::vector Plater::priv::load_files(const std::vector& input_ const bool type_3mf = std::regex_match(path.string(), pattern_3mf); const bool type_zip_amf = !type_3mf && std::regex_match(path.string(), pattern_zip_amf); const bool type_any_amf = !type_3mf && std::regex_match(path.string(), pattern_any_amf); -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES const bool type_prusa = std::regex_match(path.string(), pattern_prusa); #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Slic3r::Model model; try { @@ -1380,11 +1374,9 @@ std::vector Plater::priv::load_files(const std::vector& input_ { // The model should now be initialized -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES if (!type_3mf && !type_any_amf && !type_prusa) { #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if (model.looks_like_multipart_object()) { // wxMessageDialog dlg(q, _(L( // "This file contains several objects positioned at multiple heights. " @@ -1395,30 +1387,20 @@ std::vector Plater::priv::load_files(const std::vector& input_ model.convert_multipart_object(nozzle_dmrs->values.size()); // } } -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if ENABLE_VOLUMES_CENTERING_FIXES } #endif // ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if (type_3mf || type_any_amf) { -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ for (ModelObject* model_object : model.objects) { model_object->center_around_origin(); model_object->ensure_on_bed(); } -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #if !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #endif // !ENABLE_VOLUMES_CENTERING_FIXES -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // check multi-part object adding for the SLA-printing if (printer_technology == ptSLA) From 060fac5e55f8824ab12988c02bcef40be7e22df8 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 21 Jan 2019 11:46:06 +0100 Subject: [PATCH 124/189] Ensure object on bed while scaling set as default --- src/libslic3r/Technologies.hpp | 2 -- src/slic3r/GUI/GLCanvas3D.cpp | 4 ---- src/slic3r/GUI/GLCanvas3D.hpp | 2 -- 3 files changed, 8 deletions(-) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index c2721db4d14..7a8e440d09e 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -19,8 +19,6 @@ #define ENABLE_USE_UNIQUE_GLCONTEXT (1 && ENABLE_1_42_0_ALPHA1) // Disable synchronization of unselected instances #define DISABLE_INSTANCES_SYNCH (0 && ENABLE_1_42_0_ALPHA1) -// Keeps objects on bed while scaling them using the scale gizmo -#define ENABLE_ENSURE_ON_BED_WHILE_SCALING (1 && ENABLE_1_42_0_ALPHA1) // All rotations made using the rotate gizmo are done with respect to the world reference system #define ENABLE_WORLD_ROTATIONS (1 && ENABLE_1_42_0_ALPHA1) // Scene's GUI made using imgui library diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 24998cd60b6..21ba3336707 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1857,9 +1857,7 @@ void GLCanvas3D::Selection::scale(const Vec3d& scale, bool local) _synchronize_unselected_volumes(); #endif // !DISABLE_INSTANCES_SYNCH -#if ENABLE_ENSURE_ON_BED_WHILE_SCALING _ensure_on_bed(); -#endif // ENABLE_ENSURE_ON_BED_WHILE_SCALING m_bounding_box_dirty = true; } @@ -2758,7 +2756,6 @@ void GLCanvas3D::Selection::_synchronize_unselected_volumes() } } -#if ENABLE_ENSURE_ON_BED_WHILE_SCALING void GLCanvas3D::Selection::_ensure_on_bed() { typedef std::map, double> InstancesToZMap; @@ -2786,7 +2783,6 @@ void GLCanvas3D::Selection::_ensure_on_bed() volume->set_instance_offset(Z, volume->get_instance_offset(Z) - it->second); } } -#endif // ENABLE_ENSURE_ON_BED_WHILE_SCALING const float GLCanvas3D::Gizmos::OverlayIconsScale = 1.0f; const float GLCanvas3D::Gizmos::OverlayBorder = 5.0f; diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 6c6ea9af85b..78ad7663a91 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -652,9 +652,7 @@ class GLCanvas3D #endif // ENABLE_SIDEBAR_VISUAL_HINTS void _synchronize_unselected_instances(bool including_z = false); void _synchronize_unselected_volumes(); -#if ENABLE_ENSURE_ON_BED_WHILE_SCALING void _ensure_on_bed(); -#endif // ENABLE_ENSURE_ON_BED_WHILE_SCALING }; class ClippingPlane From a8d407b27e571994a5914bdf7926d991dc4c339f Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 21 Jan 2019 11:55:02 +0100 Subject: [PATCH 125/189] World rotations set as default --- src/libslic3r/Technologies.hpp | 2 -- src/slic3r/GUI/GLCanvas3D.cpp | 18 ------------------ src/slic3r/GUI/GLGizmo.cpp | 11 ----------- 3 files changed, 31 deletions(-) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 7a8e440d09e..5a083a283cd 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -19,8 +19,6 @@ #define ENABLE_USE_UNIQUE_GLCONTEXT (1 && ENABLE_1_42_0_ALPHA1) // Disable synchronization of unselected instances #define DISABLE_INSTANCES_SYNCH (0 && ENABLE_1_42_0_ALPHA1) -// All rotations made using the rotate gizmo are done with respect to the world reference system -#define ENABLE_WORLD_ROTATIONS (1 && ENABLE_1_42_0_ALPHA1) // Scene's GUI made using imgui library #define ENABLE_IMGUI (1 && ENABLE_1_42_0_ALPHA1) #define DISABLE_MOVE_ROTATE_SCALE_GIZMOS_IMGUI (1 && ENABLE_IMGUI) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 21ba3336707..7059c9eeab5 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1708,7 +1708,6 @@ void GLCanvas3D::Selection::rotate(const Vec3d& rotation, bool local) for (unsigned int i : m_list) { if (is_single_full_instance()) -#if ENABLE_WORLD_ROTATIONS { if (local) (*m_volumes)[i]->set_instance_rotation(rotation); @@ -1719,11 +1718,7 @@ void GLCanvas3D::Selection::rotate(const Vec3d& rotation, bool local) (*m_volumes)[i]->set_instance_rotation(new_rotation); } } -#else - (*m_volumes)[i]->set_instance_rotation(rotation); -#endif // ENABLE_WORLD_ROTATIONS else if (is_single_volume() || is_single_modifier()) -#if ENABLE_WORLD_ROTATIONS { if (local) (*m_volumes)[i]->set_volume_rotation(rotation); @@ -1734,9 +1729,6 @@ void GLCanvas3D::Selection::rotate(const Vec3d& rotation, bool local) (*m_volumes)[i]->set_volume_rotation(new_rotation); } } -#else - (*m_volumes)[i]->set_volume_rotation(rotation); -#endif // ENABLE_WORLD_ROTATIONS else { Transform3d m = Geometry::assemble_transform(Vec3d::Zero(), rotation); @@ -5432,9 +5424,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) break; } m_gizmos.stop_dragging(); -#if ENABLE_WORLD_ROTATIONS _update_gizmos_data(); -#endif // ENABLE_WORLD_ROTATIONS wxGetApp().obj_manipul()->update_settings_value(m_selection); // Let the platter know that the dragging finished, so a delayed refresh @@ -6764,11 +6754,7 @@ void GLCanvas3D::_update_gizmos_data() // all volumes in the selection belongs to the same instance, any of them contains the needed data, so we take the first const GLVolume* volume = m_volumes.volumes[*m_selection.get_volume_idxs().begin()]; m_gizmos.set_scale(volume->get_instance_scaling_factor()); -#if ENABLE_WORLD_ROTATIONS m_gizmos.set_rotation(Vec3d::Zero()); -#else - m_gizmos.set_rotation(volume->get_instance_rotation()); -#endif // ENABLE_WORLD_ROTATIONS ModelObject* model_object = m_model->objects[m_selection.get_object_idx()]; m_gizmos.set_flattening_data(model_object); #if ENABLE_SLA_SUPPORT_GIZMO_MOD @@ -6781,11 +6767,7 @@ void GLCanvas3D::_update_gizmos_data() { const GLVolume* volume = m_volumes.volumes[*m_selection.get_volume_idxs().begin()]; m_gizmos.set_scale(volume->get_volume_scaling_factor()); -#if ENABLE_WORLD_ROTATIONS m_gizmos.set_rotation(Vec3d::Zero()); -#else - m_gizmos.set_rotation(volume->get_volume_rotation()); -#endif // ENABLE_WORLD_ROTATIONS m_gizmos.set_flattening_data(nullptr); #if ENABLE_SLA_SUPPORT_GIZMO_MOD m_gizmos.set_sla_support_data(nullptr, m_selection); diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index 2ea7e677e4f..fcf7dce2513 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -409,9 +409,6 @@ void GLGizmoRotate::on_render(const GLCanvas3D::Selection& selection) const return; const BoundingBoxf3& box = selection.get_bounding_box(); -#if !ENABLE_WORLD_ROTATIONS - bool single_selection = selection.is_single_full_instance() || selection.is_single_modifier() || selection.is_single_volume(); -#endif // !ENABLE_WORLD_ROTATIONS std::string axis; switch (m_axis) @@ -421,13 +418,9 @@ void GLGizmoRotate::on_render(const GLCanvas3D::Selection& selection) const case Z: { axis = "Z"; break; } } -#if ENABLE_WORLD_ROTATIONS if (!m_dragging && (m_hover_id == 0)) set_tooltip(axis); else if (m_dragging) -#else - if ((single_selection && (m_hover_id == 0)) || m_dragging) -#endif // ENABLE_WORLD_ROTATIONS set_tooltip(axis + ": " + format((float)Geometry::rad2deg(m_angle), 4) + "\u00B0"); else { @@ -571,11 +564,7 @@ void GLGizmoRotate::render_angle() const void GLGizmoRotate::render_grabber(const BoundingBoxf3& box) const { -#if ENABLE_WORLD_ROTATIONS double grabber_radius = (double)m_radius * (1.0 + (double)GrabberOffset); -#else - double grabber_radius = (double)m_radius * (1.0 + (double)GrabberOffset) + 2.0 * (double)m_axis * (double)m_grabbers[0].get_half_size((float)box.max_size()); -#endif // ENABLE_WORLD_ROTATIONS m_grabbers[0].center = Vec3d(::cos(m_angle) * grabber_radius, ::sin(m_angle) * grabber_radius, 0.0); m_grabbers[0].angles(2) = m_angle; From cceff0c519135bebbb22c710dd9f92699d01663d Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 21 Jan 2019 12:20:53 +0100 Subject: [PATCH 126/189] Unique OpenGL context set as default --- src/libslic3r/Technologies.hpp | 2 - src/slic3r/GUI/GLCanvas3D.cpp | 76 ---------------------------- src/slic3r/GUI/GLCanvas3D.hpp | 8 --- src/slic3r/GUI/GLCanvas3DManager.cpp | 6 --- src/slic3r/GUI/GLCanvas3DManager.hpp | 4 -- 5 files changed, 96 deletions(-) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 5a083a283cd..0002db306e6 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -15,8 +15,6 @@ //==================== #define ENABLE_1_42_0_ALPHA1 1 -// Uses a unique opengl context -#define ENABLE_USE_UNIQUE_GLCONTEXT (1 && ENABLE_1_42_0_ALPHA1) // Disable synchronization of unselected instances #define DISABLE_INSTANCES_SYNCH (0 && ENABLE_1_42_0_ALPHA1) // Scene's GUI made using imgui library diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 7059c9eeab5..0719c57418a 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -3844,12 +3844,7 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas) #endif // not ENABLE_IMGUI { if (m_canvas != nullptr) - { -#if !ENABLE_USE_UNIQUE_GLCONTEXT - m_context = new wxGLContext(m_canvas); -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT m_timer.SetOwner(m_canvas); - } m_selection.set_volumes(&m_volumes.volumes); } @@ -3857,14 +3852,6 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas) GLCanvas3D::~GLCanvas3D() { reset_volumes(); - -#if !ENABLE_USE_UNIQUE_GLCONTEXT - if (m_context != nullptr) - { - delete m_context; - m_context = nullptr; - } -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT } void GLCanvas3D::post_event(wxEvent &&event) @@ -3972,16 +3959,6 @@ bool GLCanvas3D::init(bool useVBOs, bool use_legacy_opengl) return true; } -#if !ENABLE_USE_UNIQUE_GLCONTEXT -bool GLCanvas3D::set_current() -{ - if ((m_canvas != nullptr) && (m_context != nullptr)) - return m_canvas->SetCurrent(*m_context); - - return false; -} -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT - void GLCanvas3D::set_as_dirty() { m_dirty = true; @@ -3996,12 +3973,6 @@ void GLCanvas3D::reset_volumes() { if (!m_volumes.empty()) { -#if !ENABLE_USE_UNIQUE_GLCONTEXT - // ensures this canvas is current - if (!set_current()) - return; -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT - m_selection.clear(); m_volumes.release_geometry(); m_volumes.clear(); @@ -4278,11 +4249,7 @@ void GLCanvas3D::render() return; // ensures this canvas is current and initialized -#if ENABLE_USE_UNIQUE_GLCONTEXT if (!_set_current() || !_3DScene::init(m_canvas)) -#else - if (!set_current() || !_3DScene::init(m_canvas)) -#endif // ENABLE_USE_UNIQUE_GLCONTEXT return; #if ENABLE_REWORKED_BED_SHAPE_CHANGE @@ -4466,11 +4433,6 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re { if ((m_canvas == nullptr) || (m_config == nullptr) || (m_model == nullptr)) return; -#if !ENABLE_USE_UNIQUE_GLCONTEXT - // ensures this canvas is current - if (!set_current()) - return; -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT struct ModelVolumeState { ModelVolumeState(const GLVolume *volume) : @@ -4778,12 +4740,6 @@ void GLCanvas3D::load_gcode_preview(const GCodePreviewData& preview_data, const const Print *print = this->fff_print(); if ((m_canvas != nullptr) && (print != nullptr)) { -#if !ENABLE_USE_UNIQUE_GLCONTEXT - // ensures that this canvas is current - if (!set_current()) - return; -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT - std::vector tool_colors = _parse_colors(str_tool_colors); if (m_volumes.empty()) @@ -5523,11 +5479,6 @@ Point GLCanvas3D::get_local_mouse_position() const void GLCanvas3D::reset_legend_texture() { -#if !ENABLE_USE_UNIQUE_GLCONTEXT - if (!set_current()) - return; -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT - m_legend_texture.reset(); } @@ -5958,7 +5909,6 @@ bool GLCanvas3D::_init_toolbar() return true; } -#if ENABLE_USE_UNIQUE_GLCONTEXT bool GLCanvas3D::_set_current() { if ((m_canvas != nullptr) && (m_context != nullptr)) @@ -5966,7 +5916,6 @@ bool GLCanvas3D::_set_current() return false; } -#endif ENABLE_USE_UNIQUE_GLCONTEXT void GLCanvas3D::_resize(unsigned int w, unsigned int h) { @@ -5978,11 +5927,7 @@ void GLCanvas3D::_resize(unsigned int w, unsigned int h) #endif // ENABLE_IMGUI // ensures that this canvas is current -#if ENABLE_USE_UNIQUE_GLCONTEXT _set_current(); -#else - set_current(); -#endif // ENABLE_USE_UNIQUE_GLCONTEXT ::glViewport(0, 0, w, h); ::glMatrixMode(GL_PROJECTION); @@ -6862,12 +6807,6 @@ void GLCanvas3D::_stop_timer() void GLCanvas3D::_load_print_toolpaths() { -#if !ENABLE_USE_UNIQUE_GLCONTEXT - // ensures this canvas is current - if (!set_current()) - return; -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT - const Print *print = this->fff_print(); if (print == nullptr) return; @@ -8010,31 +7949,16 @@ std::vector GLCanvas3D::_parse_colors(const std::vector& col void GLCanvas3D::_generate_legend_texture(const GCodePreviewData& preview_data, const std::vector& tool_colors) { -#if !ENABLE_USE_UNIQUE_GLCONTEXT - if (!set_current()) - return; -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT - m_legend_texture.generate(preview_data, tool_colors, *this, m_dynamic_background_enabled && _is_any_volume_outside()); } void GLCanvas3D::_generate_warning_texture(const std::string& msg) { -#if !ENABLE_USE_UNIQUE_GLCONTEXT - if (!set_current()) - return; -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT - m_warning_texture.generate(msg); } void GLCanvas3D::_reset_warning_texture() { -#if !ENABLE_USE_UNIQUE_GLCONTEXT - if (!set_current()) - return; -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT - m_warning_texture.reset(); } diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 78ad7663a91..3a05a48caea 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -894,9 +894,7 @@ class GLCanvas3D GLCanvas3D(wxGLCanvas* canvas); ~GLCanvas3D(); -#if ENABLE_USE_UNIQUE_GLCONTEXT void set_context(wxGLContext* context) { m_context = context; } -#endif // ENABLE_USE_UNIQUE_GLCONTEXT wxGLCanvas* get_wxglcanvas() { return m_canvas; } @@ -905,10 +903,6 @@ class GLCanvas3D bool init(bool useVBOs, bool use_legacy_opengl); void post_event(wxEvent &&event); -#if !ENABLE_USE_UNIQUE_GLCONTEXT - bool set_current(); -#endif // !ENABLE_USE_UNIQUE_GLCONTEXT - void set_as_dirty(); unsigned int get_volumes_count() const; @@ -1047,9 +1041,7 @@ class GLCanvas3D bool _init_toolbar(); -#if ENABLE_USE_UNIQUE_GLCONTEXT bool _set_current(); -#endif // ENABLE_USE_UNIQUE_GLCONTEXT void _resize(unsigned int w, unsigned int h); BoundingBoxf3 _max_bounding_box() const; diff --git a/src/slic3r/GUI/GLCanvas3DManager.cpp b/src/slic3r/GUI/GLCanvas3DManager.cpp index 28c00ffa51a..8f2e5b219c5 100644 --- a/src/slic3r/GUI/GLCanvas3DManager.cpp +++ b/src/slic3r/GUI/GLCanvas3DManager.cpp @@ -113,16 +113,13 @@ std::string GLCanvas3DManager::GLInfo::to_string(bool format_as_html, bool exten GLCanvas3DManager::EMultisampleState GLCanvas3DManager::s_multisample = GLCanvas3DManager::MS_Unknown; GLCanvas3DManager::GLCanvas3DManager() -#if ENABLE_USE_UNIQUE_GLCONTEXT : m_context(nullptr) -#endif // ENABLE_USE_UNIQUE_GLCONTEXT , m_gl_initialized(false) , m_use_legacy_opengl(false) , m_use_VBOs(false) { } -#if ENABLE_USE_UNIQUE_GLCONTEXT GLCanvas3DManager::~GLCanvas3DManager() { if (m_context != nullptr) @@ -131,7 +128,6 @@ GLCanvas3DManager::~GLCanvas3DManager() m_context = nullptr; } } -#endif // ENABLE_USE_UNIQUE_GLCONTEXT bool GLCanvas3DManager::add(wxGLCanvas* canvas) { @@ -147,7 +143,6 @@ bool GLCanvas3DManager::add(wxGLCanvas* canvas) canvas3D->bind_event_handlers(); -#if ENABLE_USE_UNIQUE_GLCONTEXT if (m_context == nullptr) { m_context = new wxGLContext(canvas); @@ -156,7 +151,6 @@ bool GLCanvas3DManager::add(wxGLCanvas* canvas) } canvas3D->set_context(m_context); -#endif // ENABLE_USE_UNIQUE_GLCONTEXT m_canvases.insert(CanvasesMap::value_type(canvas, canvas3D)); diff --git a/src/slic3r/GUI/GLCanvas3DManager.hpp b/src/slic3r/GUI/GLCanvas3DManager.hpp index 64301c73d2d..1f7c49f72ec 100644 --- a/src/slic3r/GUI/GLCanvas3DManager.hpp +++ b/src/slic3r/GUI/GLCanvas3DManager.hpp @@ -51,9 +51,7 @@ class GLCanvas3DManager typedef std::map CanvasesMap; CanvasesMap m_canvases; -#if ENABLE_USE_UNIQUE_GLCONTEXT wxGLContext* m_context; -#endif // ENABLE_USE_UNIQUE_GLCONTEXT GLInfo m_gl_info; bool m_gl_initialized; bool m_use_legacy_opengl; @@ -62,9 +60,7 @@ class GLCanvas3DManager public: GLCanvas3DManager(); -#if ENABLE_USE_UNIQUE_GLCONTEXT ~GLCanvas3DManager(); -#endif // ENABLE_USE_UNIQUE_GLCONTEXT bool add(wxGLCanvas* canvas); bool remove(wxGLCanvas* canvas); From 1a474ea2820776e1a1510fc494ed8508a59d6944 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 21 Jan 2019 12:34:28 +0100 Subject: [PATCH 127/189] L10n improvements --- resources/localization/Slic3rPE.pot | 6812 +++++++----- resources/localization/cs_CZ/Slic3rPE.mo | Bin 132201 -> 126527 bytes resources/localization/cs_CZ/Slic3rPE_cs.po | 9479 ++++++++++------ resources/localization/de_DE/Slic3rPE.mo | Bin 138055 -> 130906 bytes resources/localization/de_DE/Slic3rPE_de.po | 9508 ++++++++++------ resources/localization/en_US/Slic3rPE.mo | Bin 99550 -> 160779 bytes resources/localization/en_US/Slic3rPE_en.po | 9765 +++++++++++------ resources/localization/es/Slic3rPE.mo | Bin 136255 -> 128993 bytes resources/localization/es/Slic3rPE_es.po | 9475 ++++++++++------ resources/localization/fr_FR/Slic3rPE.mo | Bin 139734 -> 132575 bytes resources/localization/fr_FR/Slic3rPE_fr.po | 9538 ++++++++++------ resources/localization/it/Slic3rPE.mo | Bin 134349 -> 127631 bytes resources/localization/it/Slic3rPE_it.po | 9486 ++++++++++------ resources/localization/ko_KR/Slic3rPE.mo | Bin 142724 -> 134428 bytes resources/localization/ko_KR/Slic3rPE.po | 8813 +++++++++------ resources/localization/list.txt | 69 +- resources/localization/pl/Slic3rPE.mo | Bin 133591 -> 126968 bytes resources/localization/pl/Slic3rPE_pl.po | 9433 ++++++++++------ resources/localization/uk/Slic3rPE.mo | Bin 137296 -> 127582 bytes resources/localization/uk/Slic3rPE_.mo | Bin 140066 -> 0 bytes resources/localization/uk/Slic3rPE_uk.po | 8428 +++++++------- resources/localization/zh_CN/Slic3rPE.mo | Bin 39703 -> 40838 bytes .../localization/zh_CN/Slic3rPE_zh_new.po | 6894 ++++++++++++ src/libslic3r/PrintConfig.cpp | 11 +- src/slic3r/GUI/ConfigWizard.cpp | 16 +- src/slic3r/GUI/ConfigWizard.hpp | 2 +- src/slic3r/GUI/GUI_App.cpp | 12 +- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 28 +- src/slic3r/GUI/KBShortcutsDialog.cpp | 8 +- src/slic3r/GUI/MainFrame.cpp | 115 +- src/slic3r/GUI/MainFrame.hpp | 1 + src/slic3r/GUI/OptionsGroup.cpp | 8 +- src/slic3r/GUI/OptionsGroup.hpp | 4 +- src/slic3r/GUI/Plater.cpp | 46 +- src/slic3r/GUI/Preset.cpp | 10 +- src/slic3r/GUI/Tab.cpp | 23 +- 36 files changed, 63310 insertions(+), 34674 deletions(-) delete mode 100644 resources/localization/uk/Slic3rPE_.mo create mode 100644 resources/localization/zh_CN/Slic3rPE_zh_new.po diff --git a/resources/localization/Slic3rPE.pot b/resources/localization/Slic3rPE.pot index 7fa65fc5edf..c8ec2f4ac59 100644 --- a/resources/localization/Slic3rPE.pot +++ b/resources/localization/Slic3rPE.pot @@ -3,314 +3,318 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#: xs/src/slic3r/GUI/Tab.cpp:1721 #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-07-23 12:06+0200\n" +"POT-Creation-Date: 2019-01-17 13:39+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: xs/src/slic3r/GUI/AboutDialog.cpp:32 +#: src/slic3r/GUI/AboutDialog.cpp:33 msgid "About Slic3r" msgstr "" -#: xs/src/slic3r/GUI/AboutDialog.cpp:67 +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 msgid "Version" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:39 +#: src/slic3r/GUI/BedShapeDialog.cpp:43 msgid "Shape" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:46 +#: src/slic3r/GUI/BedShapeDialog.cpp:50 msgid "Rectangular" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:50 xs/src/slic3r/GUI/Tab.cpp:1826 -#: lib/Slic3r/GUI/Plater.pm:498 +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 msgid "Size" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:51 +#: src/slic3r/GUI/BedShapeDialog.cpp:55 msgid "Size in X and Y of the rectangular plate." msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:57 +#: src/slic3r/GUI/BedShapeDialog.cpp:61 msgid "Origin" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:58 +#: src/slic3r/GUI/BedShapeDialog.cpp:62 msgid "" "Distance of the 0,0 G-code coordinate from the front left corner of the " "rectangle." msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:62 +#: src/slic3r/GUI/BedShapeDialog.cpp:66 msgid "Circular" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:65 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:88 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:446 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:460 -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:79 -#: xs/src/libslic3r/PrintConfig.cpp:133 xs/src/libslic3r/PrintConfig.cpp:181 -#: xs/src/libslic3r/PrintConfig.cpp:189 xs/src/libslic3r/PrintConfig.cpp:237 -#: xs/src/libslic3r/PrintConfig.cpp:248 xs/src/libslic3r/PrintConfig.cpp:363 -#: xs/src/libslic3r/PrintConfig.cpp:374 xs/src/libslic3r/PrintConfig.cpp:393 -#: xs/src/libslic3r/PrintConfig.cpp:531 xs/src/libslic3r/PrintConfig.cpp:890 -#: xs/src/libslic3r/PrintConfig.cpp:1002 xs/src/libslic3r/PrintConfig.cpp:1010 -#: xs/src/libslic3r/PrintConfig.cpp:1068 xs/src/libslic3r/PrintConfig.cpp:1086 -#: xs/src/libslic3r/PrintConfig.cpp:1104 xs/src/libslic3r/PrintConfig.cpp:1166 -#: xs/src/libslic3r/PrintConfig.cpp:1176 xs/src/libslic3r/PrintConfig.cpp:1292 -#: xs/src/libslic3r/PrintConfig.cpp:1300 xs/src/libslic3r/PrintConfig.cpp:1342 -#: xs/src/libslic3r/PrintConfig.cpp:1351 xs/src/libslic3r/PrintConfig.cpp:1361 -#: xs/src/libslic3r/PrintConfig.cpp:1369 xs/src/libslic3r/PrintConfig.cpp:1377 -#: xs/src/libslic3r/PrintConfig.cpp:1463 xs/src/libslic3r/PrintConfig.cpp:1669 -#: xs/src/libslic3r/PrintConfig.cpp:1739 xs/src/libslic3r/PrintConfig.cpp:1773 -#: xs/src/libslic3r/PrintConfig.cpp:1969 xs/src/libslic3r/PrintConfig.cpp:1976 -#: xs/src/libslic3r/PrintConfig.cpp:1983 xs/src/libslic3r/PrintConfig.cpp:2015 -#: xs/src/libslic3r/PrintConfig.cpp:2025 xs/src/libslic3r/PrintConfig.cpp:2035 +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 msgid "mm" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:66 -#: xs/src/libslic3r/PrintConfig.cpp:528 +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 msgid "Diameter" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:67 +#: src/slic3r/GUI/BedShapeDialog.cpp:71 msgid "" "Diameter of the print bed. It is assumed that origin (0,0) is located in the " "center." msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:71 -#: xs/src/libslic3r/GCode/PreviewData.cpp:175 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:102 +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 msgid "Custom" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:75 +#: src/slic3r/GUI/BedShapeDialog.cpp:79 msgid "Load shape from STL..." msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:120 +#: src/slic3r/GUI/BedShapeDialog.cpp:125 msgid "Settings" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:299 +#: src/slic3r/GUI/BedShapeDialog.cpp:298 msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:316 +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 msgid "Error! " msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:325 +#: src/slic3r/GUI/BedShapeDialog.cpp:324 msgid "The selected file contains no geometry." msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:329 +#: src/slic3r/GUI/BedShapeDialog.cpp:328 msgid "" "The selected file contains several disjoint areas. This is not supported." msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.hpp:44 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:409 +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 msgid "Bed Shape" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 +#: src/slic3r/GUI/BonjourDialog.cpp:54 msgid "Network lookup" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 +#: src/slic3r/GUI/BonjourDialog.cpp:67 msgid "Address" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 +#: src/slic3r/GUI/BonjourDialog.cpp:68 msgid "Hostname" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 +#: src/slic3r/GUI/BonjourDialog.cpp:69 msgid "Service name" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 +#: src/slic3r/GUI/BonjourDialog.cpp:70 msgid "OctoPrint version" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 +#: src/slic3r/GUI/BonjourDialog.cpp:188 msgid "Searching for devices" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 +#: src/slic3r/GUI/BonjourDialog.cpp:195 msgid "Finished" msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 +#: src/slic3r/GUI/ButtonsDescription.cpp:15 msgid "Buttons And Text Colors Description" msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 +#: src/slic3r/GUI/ButtonsDescription.cpp:40 msgid "Value is the same as the system value" msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 +#: src/slic3r/GUI/ButtonsDescription.cpp:57 msgid "" "Value was changed and is not equal to the system value or the last saved " "preset" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 msgid "Upgrade" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 msgid "Downgrade" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 msgid "Before roll back" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 msgid "User" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 msgid "Unknown" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 msgid "Active: " msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 msgid "slic3r version" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 msgid "print" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 msgid "filaments" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 msgid "printer" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:730 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 msgid "vendor" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 msgid "version" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 msgid "min slic3r version" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 msgid "max slic3r version" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 msgid "model" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 msgid "variants" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 msgid "Incompatible with this Slic3r" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 msgid "Activate" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:349 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 msgid "Configuration Snapshots" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:88 +#: src/slic3r/GUI/ConfigWizard.cpp:92 msgid "nozzle" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:89 -msgid "(default)" +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:108 +#: src/slic3r/GUI/ConfigWizard.cpp:116 msgid "Select all" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:109 +#: src/slic3r/GUI/ConfigWizard.cpp:117 msgid "Select none" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:218 +#: src/slic3r/GUI/ConfigWizard.cpp:226 #, possible-c-format msgid "Welcome to the Slic3r %s" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:218 +#: src/slic3r/GUI/ConfigWizard.cpp:226 msgid "Welcome" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:224 xs/src/slic3r/GUI/GUI.cpp:346 +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 #, possible-c-format msgid "Run %s" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:226 +#: src/slic3r/GUI/ConfigWizard.cpp:234 #, possible-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." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:230 +#: src/slic3r/GUI/ConfigWizard.cpp:238 msgid "" "Remove user profiles - install from scratch (a snapshot will be taken " "beforehand)" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:252 +#: src/slic3r/GUI/ConfigWizard.cpp:263 msgid "Other vendors" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:254 +#: src/slic3r/GUI/ConfigWizard.cpp:265 msgid "Custom setup" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:278 +#: src/slic3r/GUI/ConfigWizard.cpp:289 msgid "Automatic updates" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:278 +#: src/slic3r/GUI/ConfigWizard.cpp:289 msgid "Updates" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:286 xs/src/slic3r/GUI/Preferences.cpp:59 +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 msgid "Check for application updates" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:289 xs/src/slic3r/GUI/Preferences.cpp:61 +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 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 " @@ -318,11 +322,11 @@ msgid "" "notification mechanisms, no automatic installation is done." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:293 xs/src/slic3r/GUI/Preferences.cpp:67 +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 msgid "Update built-in Presets automatically" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:296 xs/src/slic3r/GUI/Preferences.cpp:69 +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 msgid "" "If enabled, Slic3r downloads updates of built-in system presets in the " "background. These updates are downloaded into a separate temporary location. " @@ -330,4814 +334,6046 @@ msgid "" "startup." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 +#: src/slic3r/GUI/ConfigWizard.cpp:308 msgid "" "Updates are never applied without user's consent and never overwrite user's " "customized settings." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:302 +#: src/slic3r/GUI/ConfigWizard.cpp:313 msgid "" "Additionally a backup snapshot of the whole configuration is created before " "an update is applied." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:309 +#: src/slic3r/GUI/ConfigWizard.cpp:320 msgid "Other Vendors" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:311 +#: src/slic3r/GUI/ConfigWizard.cpp:322 msgid "Pick another vendor supported by Slic3r PE:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:370 +#: src/slic3r/GUI/ConfigWizard.cpp:381 msgid "Firmware Type" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:370 xs/src/slic3r/GUI/Tab.cpp:1606 +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 msgid "Firmware" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:374 +#: src/slic3r/GUI/ConfigWizard.cpp:385 msgid "Choose the type of firmware used by your printer." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:409 +#: src/slic3r/GUI/ConfigWizard.cpp:419 msgid "Bed Shape and Size" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 +#: src/slic3r/GUI/ConfigWizard.cpp:422 msgid "Set the shape of your printer's bed." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:426 +#: src/slic3r/GUI/ConfigWizard.cpp:436 msgid "Filament and Nozzle Diameters" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:426 +#: src/slic3r/GUI/ConfigWizard.cpp:436 msgid "Print Diameters" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 +#: src/slic3r/GUI/ConfigWizard.cpp:452 msgid "Enter the diameter of your printer's hot end nozzle." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 +#: src/slic3r/GUI/ConfigWizard.cpp:455 msgid "Nozzle Diameter:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:455 +#: src/slic3r/GUI/ConfigWizard.cpp:465 msgid "Enter the diameter of your filament." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:456 +#: src/slic3r/GUI/ConfigWizard.cpp:466 msgid "" "Good precision is required, so use a caliper and do multiple measurements " "along the filament, then compute the average." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:459 +#: src/slic3r/GUI/ConfigWizard.cpp:469 msgid "Filament Diameter:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:477 +#: src/slic3r/GUI/ConfigWizard.cpp:487 msgid "Extruder and Bed Temperatures" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:477 +#: src/slic3r/GUI/ConfigWizard.cpp:487 msgid "Temperatures" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 +#: src/slic3r/GUI/ConfigWizard.cpp:503 msgid "Enter the temperature needed for extruding your filament." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 +#: src/slic3r/GUI/ConfigWizard.cpp:504 msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 +#: src/slic3r/GUI/ConfigWizard.cpp:507 msgid "Extrusion Temperature:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:512 +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 msgid "°C" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:507 +#: src/slic3r/GUI/ConfigWizard.cpp:517 msgid "" "Enter the bed temperature needed for getting your filament to stick to your " "heated bed." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:508 +#: src/slic3r/GUI/ConfigWizard.cpp:518 msgid "" "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " "no heated bed." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:511 +#: src/slic3r/GUI/ConfigWizard.cpp:521 msgid "Bed Temperature:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:824 +#: src/slic3r/GUI/ConfigWizard.cpp:833 msgid "< &Back" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:825 +#: src/slic3r/GUI/ConfigWizard.cpp:834 msgid "&Next >" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:826 +#: src/slic3r/GUI/ConfigWizard.cpp:835 msgid "&Finish" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:896 +#: src/slic3r/GUI/ConfigWizard.cpp:906 msgid "Configuration Wizard" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:898 +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:909 msgid "Configuration Assistant" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:87 +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:140 +#, possible-c-format +msgid "%s doesn't support percentage" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 +msgid "" +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:176 +#, possible-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." +msgstr "" + +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:133 msgid "Flash!" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:88 +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 msgid "Cancel" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:128 +#: src/slic3r/GUI/FirmwareDialog.cpp:135 msgid "Flashing in progress. Please do not disconnect the printer!" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:155 +#: src/slic3r/GUI/FirmwareDialog.cpp:245 msgid "Flashing succeeded!" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:156 +#: src/slic3r/GUI/FirmwareDialog.cpp:246 msgid "Flashing failed. Please see the avrdude log below." msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:157 +#: src/slic3r/GUI/FirmwareDialog.cpp:247 msgid "Flashing cancelled." msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:294 -msgid "Cancelling..." +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, possible-c-format +msgid "Flashing failed: %s" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, possible-c-format +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 "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:347 +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, possible-c-format +msgid "Error accessing port at %s: %s" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:690 msgid "Firmware flasher" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:367 +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:716 msgid "Serial port:" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:369 +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:719 msgid "Rescan" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:374 -msgid "Firmware image:" +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:377 +#: src/slic3r/GUI/FirmwareDialog.cpp:729 msgid "Status:" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:378 +#: src/slic3r/GUI/FirmwareDialog.cpp:730 msgid "Ready" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:381 -msgid "Progress:" -msgstr "" - -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:400 +#: src/slic3r/GUI/FirmwareDialog.cpp:750 msgid "Advanced: avrdude output log" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:446 +#: src/slic3r/GUI/FirmwareDialog.cpp:809 msgid "" "Are you sure you want to cancel firmware flashing?\n" "This could leave your printer in an unusable state!" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:447 +#: src/slic3r/GUI/FirmwareDialog.cpp:810 msgid "Confirmation" msgstr "" -#: xs/src/slic3r/GUI/GLCanvas3D.cpp:2308 +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 msgid "Detected object outside print volume" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:233 -msgid "Array of language names and identifiers should have the same size." +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:244 -msgid "Select the language" +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:244 -msgid "Language" +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:306 xs/src/libslic3r/PrintConfig.cpp:195 -msgid "Default" +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:349 -msgid "Inspect / activate configuration snapshots" +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:350 -msgid "Take Configuration Snapshot" +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:350 -msgid "Capture a configuration snapshot" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:353 xs/src/slic3r/GUI/Preferences.cpp:9 -msgid "Preferences" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:353 -msgid "Application preferences" +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:354 -msgid "Change Application Language" +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:356 -msgid "Flash printer firmware" +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:356 -msgid "Upload a firmware image into an Arduino based printer" +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:368 -msgid "Taking configuration snapshot" +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:368 -msgid "Snapshot name" +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:406 -msgid "Application will be restarted" +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:406 -msgid "Attention!" +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:422 -msgid "&Configuration" +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:446 -msgid "You have unsaved changes " +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:446 -msgid ". Discard changes and continue anyway?" +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:447 -msgid "Unsaved Presets" +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:655 +#: src/slic3r/GUI/GUI.cpp:242 msgid "Notice" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:660 +#: src/slic3r/GUI/GUI.cpp:248 msgid "Attempt to free unreferenced scalar" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:662 xs/src/slic3r/GUI/WipeTowerDialog.cpp:39 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:321 +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 msgid "Warning" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:859 -msgid "Support" +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:862 -msgid "Select what kind of support do you need" +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:863 xs/src/libslic3r/GCode/PreviewData.cpp:162 -msgid "None" +#: src/slic3r/GUI/GUI_App.cpp:451 +msgid "Array of language names and identifiers should have the same size." msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:864 xs/src/libslic3r/PrintConfig.cpp:1656 -msgid "Support on build plate only" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Select the language" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:865 -msgid "Everywhere" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Language" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:877 xs/src/slic3r/GUI/Tab.cpp:844 -msgid "Brim" +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 +msgid "Default" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:879 -msgid "" -"This flag enables the brim that will be printed around each object on the " -"first layer." +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:888 -msgid "Purging volumes" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "Inspect / activate configuration snapshots" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:930 -msgid "Export print config" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" msgstr "" -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r error" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Capture a configuration snapshot" msgstr "" -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r has encountered an error" +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:84 -msgid "Save current " +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "Application preferences" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:85 -msgid "Delete this preset" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:97 -msgid "" -"Hover the cursor over buttons to find more information \n" -"or click this button." +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple View Mode" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:716 -msgid "It's a default preset." +#: src/slic3r/GUI/GUI_App.cpp:617 src/slic3r/GUI/GUI_ObjectList.cpp:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:717 -msgid "It's a system preset." +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:718 -msgid "Current preset is inherited from " +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:723 -msgid "It can't be deleted or modified. " +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:724 -msgid "" -"Any modifications should be saved as a new preset inherited from this one. " +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:725 -msgid "To do that please specify a new name for the preset." +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:729 -msgid "Additional information:" +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:737 -msgid "printer model" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:739 -msgid "default print profile" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Upload a firmware image into an Arduino based printer" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:742 -msgid "default filament profile" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Taking configuration snapshot" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:786 -msgid "Layers and perimeters" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Snapshot name" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:787 xs/src/libslic3r/PrintConfig.cpp:886 -msgid "Layer height" +#: src/slic3r/GUI/GUI_App.cpp:674 +msgid "Application will be restarted" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:791 -msgid "Vertical shells" +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 +msgid "Attention!" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:802 -msgid "Horizontal shells" +#: src/slic3r/GUI/GUI_App.cpp:691 +msgid "&Configuration" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:803 xs/src/libslic3r/PrintConfig.cpp:1562 -msgid "Solid layers" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "You have unsaved changes " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:808 -msgid "Quality (slower slicing)" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid ". Discard changes and continue anyway?" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:815 xs/src/slic3r/GUI/Tab.cpp:829 -#: xs/src/slic3r/GUI/Tab.cpp:923 xs/src/slic3r/GUI/Tab.cpp:926 -#: xs/src/slic3r/GUI/Tab.cpp:1276 xs/src/slic3r/GUI/Tab.cpp:1625 -#: xs/src/libslic3r/PrintConfig.cpp:110 xs/src/libslic3r/PrintConfig.cpp:245 -#: xs/src/libslic3r/PrintConfig.cpp:833 xs/src/libslic3r/PrintConfig.cpp:2021 -msgid "Advanced" +#: src/slic3r/GUI/GUI_App.cpp:712 +msgid "Unsaved Presets" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:819 xs/src/slic3r/GUI/Tab.cpp:820 -#: xs/src/slic3r/GUI/Tab.cpp:1127 xs/src/libslic3r/PrintConfig.cpp:90 -#: xs/src/libslic3r/PrintConfig.cpp:284 xs/src/libslic3r/PrintConfig.cpp:585 -#: xs/src/libslic3r/PrintConfig.cpp:599 xs/src/libslic3r/PrintConfig.cpp:637 -#: xs/src/libslic3r/PrintConfig.cpp:778 xs/src/libslic3r/PrintConfig.cpp:788 -#: xs/src/libslic3r/PrintConfig.cpp:806 xs/src/libslic3r/PrintConfig.cpp:824 -#: xs/src/libslic3r/PrintConfig.cpp:843 xs/src/libslic3r/PrintConfig.cpp:1511 -#: xs/src/libslic3r/PrintConfig.cpp:1528 -msgid "Infill" +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:825 -msgid "Reducing printing time" +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:837 -msgid "Skirt and brim" +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:838 xs/src/libslic3r/GCode/PreviewData.cpp:171 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:98 -msgid "Skirt" +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:847 xs/src/slic3r/GUI/Tab.cpp:848 -#: xs/src/libslic3r/PrintConfig.cpp:228 xs/src/libslic3r/PrintConfig.cpp:1278 -#: xs/src/libslic3r/PrintConfig.cpp:1628 xs/src/libslic3r/PrintConfig.cpp:1635 -#: xs/src/libslic3r/PrintConfig.cpp:1647 xs/src/libslic3r/PrintConfig.cpp:1657 -#: xs/src/libslic3r/PrintConfig.cpp:1665 xs/src/libslic3r/PrintConfig.cpp:1680 -#: xs/src/libslic3r/PrintConfig.cpp:1701 xs/src/libslic3r/PrintConfig.cpp:1712 -#: xs/src/libslic3r/PrintConfig.cpp:1728 xs/src/libslic3r/PrintConfig.cpp:1737 -#: xs/src/libslic3r/PrintConfig.cpp:1746 xs/src/libslic3r/PrintConfig.cpp:1757 -#: xs/src/libslic3r/PrintConfig.cpp:1771 xs/src/libslic3r/PrintConfig.cpp:1779 -#: xs/src/libslic3r/PrintConfig.cpp:1780 xs/src/libslic3r/PrintConfig.cpp:1789 -#: xs/src/libslic3r/PrintConfig.cpp:1797 xs/src/libslic3r/PrintConfig.cpp:1811 -#: xs/src/libslic3r/GCode/PreviewData.cpp:172 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:99 -msgid "Support material" +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:853 -msgid "Raft" +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:857 -msgid "Options for support material and raft" +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:871 xs/src/libslic3r/PrintConfig.cpp:122 -#: xs/src/libslic3r/PrintConfig.cpp:315 xs/src/libslic3r/PrintConfig.cpp:732 -#: xs/src/libslic3r/PrintConfig.cpp:844 xs/src/libslic3r/PrintConfig.cpp:1212 -#: xs/src/libslic3r/PrintConfig.cpp:1449 xs/src/libslic3r/PrintConfig.cpp:1499 -#: xs/src/libslic3r/PrintConfig.cpp:1550 xs/src/libslic3r/PrintConfig.cpp:1871 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:77 -msgid "Speed" +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:872 -msgid "Speed for print moves" +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:884 -msgid "Speed for non-print moves" +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:887 -msgid "Modifiers" +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, possible-c-format +msgid "Auto-repaired (%d errors):\n" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:890 -msgid "Acceleration control (advanced)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:897 -msgid "Autospeed (advanced)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:903 -msgid "Multiple Extruders" +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:904 xs/src/slic3r/GUI/Tab.cpp:1451 -#: xs/src/libslic3r/PrintConfig.cpp:345 xs/src/libslic3r/PrintConfig.cpp:799 -#: xs/src/libslic3r/PrintConfig.cpp:1191 xs/src/libslic3r/PrintConfig.cpp:1520 -#: xs/src/libslic3r/PrintConfig.cpp:1693 xs/src/libslic3r/PrintConfig.cpp:1719 -#: xs/src/libslic3r/PrintConfig.cpp:1995 xs/src/libslic3r/PrintConfig.cpp:2004 -msgid "Extruders" +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:911 -msgid "Ooze prevention" +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:915 xs/src/libslic3r/GCode/PreviewData.cpp:174 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:101 -msgid "Wipe tower" +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:927 -msgid "Extrusion width" +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:937 -msgid "Overlap" +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:940 -msgid "Flow" +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:943 -msgid "Other" +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:950 -msgid "Output options" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:951 -msgid "Sequential printing" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:953 -msgid "Extruder clearance (mm)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:962 -msgid "Output file" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:968 xs/src/libslic3r/PrintConfig.cpp:1234 -msgid "Post-processing scripts" +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:974 xs/src/slic3r/GUI/Tab.cpp:975 -#: xs/src/slic3r/GUI/Tab.cpp:1329 xs/src/slic3r/GUI/Tab.cpp:1330 -#: xs/src/slic3r/GUI/Tab.cpp:1668 xs/src/slic3r/GUI/Tab.cpp:1669 -msgid "Notes" +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:981 xs/src/slic3r/GUI/Tab.cpp:1337 -#: xs/src/slic3r/GUI/Tab.cpp:1675 -msgid "Dependencies" +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:982 xs/src/slic3r/GUI/Tab.cpp:1338 -#: xs/src/slic3r/GUI/Tab.cpp:1676 -msgid "Profile dependencies" +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:983 xs/src/slic3r/GUI/Tab.cpp:1339 -#: xs/src/slic3r/GUI/Tab.cpp:2364 xs/src/libslic3r/PrintConfig.cpp:147 -msgid "Compatible printers" +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1016 -#, 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?" +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1023 -msgid "Spiral Vase" +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1044 -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?" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1048 xs/src/slic3r/GUI/Tab.cpp:1065 -msgid "Wipe Tower" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1062 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 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?" +"The selected object couldn't be split because it contains only one part." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1080 -msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1083 -msgid "Support Generator" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1125 -msgid "The " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1125 -#, no-c-format -msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1231 xs/src/slic3r/GUI/Tab.cpp:1232 -#: lib/Slic3r/GUI/Plater.pm:454 -msgid "Filament" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1239 -msgid "Temperature " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1240 xs/src/libslic3r/PrintConfig.cpp:344 -msgid "Extruder" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1245 -msgid "Bed" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1250 -msgid "Cooling" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1251 xs/src/libslic3r/PrintConfig.cpp:1137 -#: xs/src/libslic3r/PrintConfig.cpp:1941 -msgid "Enable" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1262 -msgid "Fan settings" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1263 -msgid "Fan speed" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1271 -msgid "Cooling thresholds" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1277 -msgid "Filament properties" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1281 -msgid "Print speed override" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1291 -msgid "Toolchange parameters with single extruder MM printers" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1299 -msgid "Ramming" +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1301 -msgid "Ramming settings" +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1316 xs/src/slic3r/GUI/Tab.cpp:1631 -msgid "Custom G-code" +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1317 xs/src/slic3r/GUI/Tab.cpp:1632 -#: xs/src/libslic3r/PrintConfig.cpp:1590 xs/src/libslic3r/PrintConfig.cpp:1605 -msgid "Start G-code" +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1323 xs/src/slic3r/GUI/Tab.cpp:1638 -#: xs/src/libslic3r/PrintConfig.cpp:254 xs/src/libslic3r/PrintConfig.cpp:264 -msgid "End G-code" +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1419 xs/src/slic3r/GUI/Preferences.cpp:17 -msgid "General" +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1420 -msgid "Size and coordinates" +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1422 xs/src/libslic3r/PrintConfig.cpp:37 -msgid "Bed shape" +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1424 xs/src/slic3r/GUI/Tab.cpp:2332 -msgid " Set " +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1447 -msgid "Capabilities" +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1452 -msgid "Number of extruders of the printer." +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1477 -msgid "USB/Serial connection" +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1478 xs/src/libslic3r/PrintConfig.cpp:1441 -msgid "Serial port" +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1483 -msgid "Rescan serial ports" +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1492 xs/src/slic3r/GUI/Tab.cpp:1539 -msgid "Test" +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1505 -msgid "Connection to printer works correctly." +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1505 xs/src/slic3r/GUI/Tab.cpp:1549 -msgid "Success!" +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1508 -msgid "Connection failed." +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1520 xs/src/slic3r/Utils/OctoPrint.cpp:110 -msgid "OctoPrint upload" +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1523 xs/src/slic3r/GUI/Tab.cpp:1572 -msgid " Browse " +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1549 -msgid "Connection to OctoPrint works correctly." +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1552 -msgid "Could not connect to OctoPrint" +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1552 -msgid "Note: OctoPrint version at least 1.1.0 is required." +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1578 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1579 -msgid "Open CA certificate file" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1593 -msgid "" -"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" -"signed certificate." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1644 xs/src/libslic3r/PrintConfig.cpp:51 -msgid "Before layer change G-code" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1650 xs/src/libslic3r/PrintConfig.cpp:875 -msgid "After layer change G-code" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1656 xs/src/libslic3r/PrintConfig.cpp:1848 -msgid "Tool change G-code" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1662 -msgid "Between objects G-code (for sequential printing)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1717 xs/src/slic3r/GUI/Tab.cpp:1778 -#: xs/src/slic3r/GUI/Tab.cpp:2037 xs/src/libslic3r/PrintConfig.cpp:920 -#: xs/src/libslic3r/PrintConfig.cpp:929 xs/src/libslic3r/PrintConfig.cpp:938 -#: xs/src/libslic3r/PrintConfig.cpp:950 xs/src/libslic3r/PrintConfig.cpp:960 -#: xs/src/libslic3r/PrintConfig.cpp:970 xs/src/libslic3r/PrintConfig.cpp:980 -msgid "Machine limits" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1730 -msgid "Values in this column are for Full Power mode" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1731 -msgid "Full Power" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1736 -msgid "Values in this column are for Silent mode" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1737 -msgid "Silent" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1745 -msgid "Maximum feedrates" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1750 -msgid "Maximum accelerations" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1757 -msgid "Jerk limits" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1762 -msgid "Minimum feedrates" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1800 xs/src/slic3r/GUI/Tab.cpp:1808 -#: xs/src/slic3r/GUI/Tab.cpp:2037 -msgid "Single extruder MM setup" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1809 -msgid "Single extruder multimaterial parameters" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1822 xs/src/libslic3r/GCode/PreviewData.cpp:446 -#, possible-c-format -msgid "Extruder %d" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1829 -msgid "Layer height limits" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1834 -msgid "Position (for multi-extruder printers)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1837 -msgid "Retraction" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1840 -msgid "Only lift Z" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1853 -msgid "" -"Retraction when tool is disabled (advanced settings for multi-extruder " -"setups)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1857 lib/Slic3r/GUI/Plater.pm:217 -#: lib/Slic3r/GUI/Plater.pm:2324 -msgid "Preview" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1953 -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?" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1955 -msgid "Firmware Retraction" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2130 -msgid "Default " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2130 -msgid " preset" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2131 -msgid " preset\n" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2149 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2149 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2150 -msgid "" -"\n" -"\n" -"has the following unsaved changes:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2152 -msgid "" -"\n" -"\n" -"Discard changes and continue anyway?" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2153 -msgid "Unsaved Changes" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2240 -msgid "The supplied name is empty. It can't be saved." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2245 -msgid "Cannot overwrite a system profile." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2249 -msgid "Cannot overwrite an external profile." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2275 -msgid "remove" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2275 -msgid "delete" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2276 -msgid "Are you sure you want to " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2276 -msgid " the selected preset?" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2277 -msgid "Remove" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2277 lib/Slic3r/GUI/Plater.pm:251 -#: lib/Slic3r/GUI/Plater.pm:269 lib/Slic3r/GUI/Plater.pm:2215 -msgid "Delete" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2278 -msgid " Preset" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2331 -msgid "All" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2363 -msgid "Select the printers this profile is compatible with." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2409 xs/src/slic3r/GUI/Tab.cpp:2495 -#: xs/src/slic3r/GUI/Preset.cpp:702 xs/src/slic3r/GUI/Preset.cpp:742 -#: xs/src/slic3r/GUI/Preset.cpp:770 xs/src/slic3r/GUI/Preset.cpp:802 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1193 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1246 lib/Slic3r/GUI/Plater.pm:603 -msgid "System presets" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2410 xs/src/slic3r/GUI/Tab.cpp:2496 -msgid "Default presets" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2565 +#: src/slic3r/GUI/MainFrame.cpp:53 msgid "" -"LOCKED LOCK;indicates that the settings are the same as the system values " -"for the current option group" +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2568 -msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " -"the system values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group " -"to the system values." +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2574 -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." +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2578 -msgid "" -"BACK ARROW;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." +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2604 -msgid "" -"LOCKED LOCK icon indicates that the settings are the same as the system " -"values for the current option group" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2606 -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." +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2609 -msgid "WHITE BULLET icon indicates a non system preset." +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2612 -msgid "" -"WHITE BULLET icon indicates that the settings are the same as in the last " -"saved preset for the current option group." +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2614 -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." +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2620 -msgid "" -"LOCKED LOCK icon indicates that the value is the same as the system value." +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2621 -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." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2627 -msgid "" -"WHITE BULLET icon indicates that the value is the same as in the last saved " -"preset." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2628 -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." +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2703 lib/Slic3r/GUI/MainFrame.pm:469 -#: lib/Slic3r/GUI/Plater.pm:1795 -msgid "Save " +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2703 -msgid " as:" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2742 xs/src/slic3r/GUI/Tab.cpp:2746 -msgid "The supplied name is not valid;" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2743 -msgid "the following characters are not allowed:" +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2747 -msgid "the following postfix are not allowed:" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2750 -msgid "The supplied name is not available." +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:286 -msgid "Print Settings" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:306 -msgid "Filament Settings" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:332 -msgid "Printer Settings" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:348 -msgid "Save preset" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" msgstr "" -#: xs/src/slic3r/GUI/Field.cpp:98 -msgid "default" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" msgstr "" -#: xs/src/slic3r/GUI/Field.cpp:128 -#, possible-c-format -msgid "%s doesn't support percentage" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" msgstr "" -#: xs/src/slic3r/GUI/Field.cpp:137 -msgid "Input value is out of range" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" msgstr "" -#: xs/src/slic3r/GUI/Preset.cpp:144 -msgid "modified" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" msgstr "" -#: xs/src/slic3r/GUI/Preset.cpp:746 xs/src/slic3r/GUI/Preset.cpp:806 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1251 lib/Slic3r/GUI/Plater.pm:604 -msgid "User presets" +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:27 -#, possible-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)." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:31 -#, possible-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%%." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:35 -msgid "" -"\n" -"During the other layers, fan " +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:37 -msgid "Fan " +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:42 -#, possible-c-format -msgid "will always run at %d%% " +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:45 -#, possible-c-format -msgid "except for the first %d layers" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:49 -msgid "except for the first layer" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:51 -msgid "will be turned off." +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:152 -msgid "external perimeters" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:161 -msgid "perimeters" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:170 -msgid "infill" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:180 -msgid "solid infill" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:188 -msgid "top solid infill" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:199 -msgid "support" +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:209 -msgid "support interface" +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:215 -msgid "First layer volumetric" +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:215 -msgid "Bridging volumetric" +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:215 -msgid "Volumetric" +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:216 -msgid " flow rate is maximized " +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:219 -msgid "by the print profile maximum" +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:220 -msgid "when printing " +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:221 -msgid " with a volumetric rate " +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:225 -#, possible-c-format -msgid "%3.2f mm³/s" +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:227 -#, possible-c-format -msgid " at filament speed %3.2f mm/s." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:246 -msgid "" -"Recommended object thin wall thickness: Not available due to invalid layer " -"height." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:263 -#, possible-c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:270 -#, possible-c-format -msgid "%d lines: %.2lf mm" +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:34 -msgid "Remember output directory" +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:36 -msgid "" -"If this is enabled, Slic3r will prompt the last output directory instead of " -"the one containing the input files." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:42 -msgid "Auto-center parts" +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:44 -msgid "" -"If this is enabled, Slic3r will auto-center objects around the print bed " -"center." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:50 -msgid "Background processing" +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:52 -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." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:74 -msgid "Disable USB/serial connection" +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:76 -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." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:82 -msgid "Suppress \" - default - \" presets" +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:84 -msgid "" -"Suppress \" - default - \" presets in the Print / Filament / Printer " -"selections once there are any other valid presets available." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:90 -msgid "Show incompatible print and filament presets" +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:92 -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" +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:98 -msgid "Use legacy OpenGL 1.1 rendering" +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:100 -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." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:124 -msgid "You need to restart Slic3r to make the changes effective." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:23 -msgid "NO RAMMING AT ALL" +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:76 -msgid "Time" +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:76 xs/src/slic3r/GUI/RammingChart.cpp:81 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:77 -#: xs/src/libslic3r/PrintConfig.cpp:490 -msgid "s" +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -msgid "Volumetric speed" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "Update available" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "New version of Slic3r PE is available" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 -msgid "To download, follow the link below." +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 -msgid "Current version:" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 -msgid "New version:" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 -msgid "Don't notify about new releases any more" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 -msgid "Configuration update" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -msgid "Configuration update is available" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 -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:" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r incompatibility" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r configuration is incompatible" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 -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" -"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" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 -#, possible-c-format -msgid "This Slic3r PE version: %s" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 -msgid "Incompatible bundles:" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 -msgid "Exit Slic3r" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Re-configure" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 -#, possible-c-format -msgid "" -"Slic3r PE 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." +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 -msgid "For more information please visit our wiki page:" +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:9 -msgid "Ramming customization" +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:35 -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." +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:77 -msgid "Total ramming time" +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:79 -msgid "Total rammed volume" +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:83 -msgid "Ramming line width" +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:85 -msgid "Ramming line spacing" +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:137 -msgid "Wipe tower - Purging volume adjustment" +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218 -msgid "" -"Here you can adjust required purging volume (mm³) for any given pair of " -"tools." +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:219 -msgid "Extruder changed to" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:227 -msgid "unloaded" +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:228 -msgid "loaded" +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 -msgid "Tool #" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:240 -msgid "" -"Total purging volume is calculated by summing two values below, depending on " -"which tools are loaded/unloaded." +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241 -msgid "Volume to purge (mm³) when the filament is being" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:255 -msgid "From" +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:320 -msgid "" -"Switching to simple settings will discard changes done in the advanced " -"mode!\n" -"\n" -"Do you want to proceed?" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:332 -msgid "Show simplified settings" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:332 -msgid "Show advanced settings" +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:33 -msgid "Send G-Code to printer" +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:33 -msgid "Upload to OctoPrint with the following filename:" +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:35 -msgid "Start printing after upload" +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:37 -msgid "Use forward slashes ( / ) as a directory separator if needed." +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:98 -msgid "Error while uploading to the OctoPrint server" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:111 lib/Slic3r/GUI/Plater.pm:1558 -msgid "Sending G-code file to the OctoPrint server..." +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" msgstr "" -#: xs/src/slic3r/Utils/PresetUpdater.cpp:544 -#, possible-c-format -msgid "requires min. %s and max. %s" +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" msgstr "" -#: xs/src/libslic3r/Print.cpp:553 -msgid "All objects are outside of the print volume." +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" msgstr "" -#: xs/src/libslic3r/Print.cpp:579 -msgid "Some objects are too close; your extruder will collide with them." +#: src/slic3r/GUI/MainFrame.cpp:751 +#, possible-c-format +msgid "%d presets successfully imported." msgstr "" -#: xs/src/libslic3r/Print.cpp:594 -msgid "" -"Some objects are too tall and cannot be printed without extruder collisions." +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" msgstr "" -#: xs/src/libslic3r/Print.cpp:604 -msgid "The Spiral Vase option can only be used when printing a single object." +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" msgstr "" -#: xs/src/libslic3r/Print.cpp:606 -msgid "" -"The Spiral Vase option can only be used when printing single material " -"objects." +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" msgstr "" -#: xs/src/libslic3r/Print.cpp:612 -msgid "" -"All extruders must have the same diameter for single extruder multimaterial " -"printer." +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" msgstr "" -#: xs/src/libslic3r/Print.cpp:617 -msgid "" -"The Wipe Tower is currently only supported for the Marlin and RepRap/" -"Sprinter G-code flavors." +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" msgstr "" -#: xs/src/libslic3r/Print.cpp:619 -msgid "" -"The Wipe Tower is currently only supported with the relative extruder " -"addressing (use_relative_e_distances=1)." +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" msgstr "" -#: xs/src/libslic3r/Print.cpp:631 -msgid "" -"The Wipe Tower is only supported for multiple objects if they have equal " -"layer heigths" +#: src/slic3r/GUI/Plater.cpp:128 +msgid "Materials" msgstr "" -#: xs/src/libslic3r/Print.cpp:633 -msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"over an equal number of raft layers" +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" msgstr "" -#: xs/src/libslic3r/Print.cpp:635 -msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"with the same support_material_contact_distance" +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" msgstr "" -#: xs/src/libslic3r/Print.cpp:637 -msgid "" -"The Wipe Tower is only supported for multiple objects if they are sliced " -"equally." +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" msgstr "" -#: xs/src/libslic3r/Print.cpp:661 -msgid "" -"The Wipe tower is only supported if all objects have the same layer height " -"profile" +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" msgstr "" -#: xs/src/libslic3r/Print.cpp:670 -msgid "The supplied settings will cause an empty print." +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" msgstr "" -#: xs/src/libslic3r/Print.cpp:680 -msgid "" -"One or more object were assigned an extruder that the printer does not have." +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" msgstr "" -#: xs/src/libslic3r/Print.cpp:689 -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." +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" msgstr "" -#: xs/src/libslic3r/Print.cpp:695 -msgid "first_layer_height" +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" msgstr "" -#: xs/src/libslic3r/Print.cpp:710 -msgid "First layer height can't be greater than nozzle diameter" +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" msgstr "" -#: xs/src/libslic3r/Print.cpp:714 -msgid "Layer height can't be greater than nozzle diameter" +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" msgstr "" -#: xs/src/libslic3r/Print.cpp:1196 -msgid "Failed processing of the output_filename_format template." +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:29 -msgid "Avoid crossing perimeters" +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:30 -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." +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:41 xs/src/libslic3r/PrintConfig.cpp:1818 -msgid "Other layers" +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:42 +#: src/slic3r/GUI/Plater.cpp:381 msgid "" -"Bed temperature for layers after the first one. Set this to zero to disable " -"bed temperature control commands in the output." +"This flag enables the brim that will be printed around each object on the " +"first layer." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:45 -msgid "Bed temperature" +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:52 -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]." +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:62 -msgid "Between objects G-code" +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:63 -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." +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:71 lib/Slic3r/GUI/MainFrame.pm:328 -msgid "Bottom" +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:72 xs/src/libslic3r/PrintConfig.cpp:276 -#: xs/src/libslic3r/PrintConfig.cpp:327 xs/src/libslic3r/PrintConfig.cpp:335 -#: xs/src/libslic3r/PrintConfig.cpp:701 xs/src/libslic3r/PrintConfig.cpp:871 -#: xs/src/libslic3r/PrintConfig.cpp:887 xs/src/libslic3r/PrintConfig.cpp:1156 -#: xs/src/libslic3r/PrintConfig.cpp:1222 xs/src/libslic3r/PrintConfig.cpp:1400 -#: xs/src/libslic3r/PrintConfig.cpp:1829 xs/src/libslic3r/PrintConfig.cpp:1885 -msgid "Layers and Perimeters" +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:73 -msgid "Number of solid layers to generate on bottom surfaces." +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:75 -msgid "Bottom solid layers" +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:80 -msgid "Bridge" +#: src/slic3r/GUI/Plater.cpp:787 +#, possible-c-format +msgid "%d (%d shells)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:81 -msgid "" -"This is the acceleration your printer will use for bridges. Set zero to " -"disable acceleration control for bridges." +#: src/slic3r/GUI/Plater.cpp:792 +#, possible-c-format +msgid "Auto-repaired (%d errors)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:83 xs/src/libslic3r/PrintConfig.cpp:199 -#: xs/src/libslic3r/PrintConfig.cpp:673 xs/src/libslic3r/PrintConfig.cpp:781 -#: xs/src/libslic3r/PrintConfig.cpp:931 xs/src/libslic3r/PrintConfig.cpp:972 -#: xs/src/libslic3r/PrintConfig.cpp:982 xs/src/libslic3r/PrintConfig.cpp:1185 -msgid "mm/s²" +#: src/slic3r/GUI/Plater.cpp:795 +#, possible-c-format +msgid "" +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " +"facets reversed, %d backwards edges" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:89 -msgid "Bridging angle" +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:91 -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." +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:94 xs/src/libslic3r/PrintConfig.cpp:589 -#: xs/src/libslic3r/PrintConfig.cpp:1418 xs/src/libslic3r/PrintConfig.cpp:1429 -#: xs/src/libslic3r/PrintConfig.cpp:1649 xs/src/libslic3r/PrintConfig.cpp:1803 -msgid "°" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:100 -msgid "Bridges fan speed" +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:101 -msgid "This fan speed is enforced during all bridges and overhangs." +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:102 xs/src/libslic3r/PrintConfig.cpp:601 -#: xs/src/libslic3r/PrintConfig.cpp:990 xs/src/libslic3r/PrintConfig.cpp:1058 -#: xs/src/libslic3r/PrintConfig.cpp:1308 -msgid "%" +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:109 -msgid "Bridge flow ratio" +#: src/slic3r/GUI/Plater.cpp:1314 +#, possible-c-format +msgid "Processing input file %s\n" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:111 +#: src/slic3r/GUI/Plater.cpp:1366 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:121 -msgid "Bridges" +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 +msgid "Multi-part object detected" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:123 -msgid "Speed for printing bridges." +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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 "" -#: xs/src/libslic3r/PrintConfig.cpp:124 xs/src/libslic3r/PrintConfig.cpp:471 -#: xs/src/libslic3r/PrintConfig.cpp:480 xs/src/libslic3r/PrintConfig.cpp:508 -#: xs/src/libslic3r/PrintConfig.cpp:516 xs/src/libslic3r/PrintConfig.cpp:735 -#: xs/src/libslic3r/PrintConfig.cpp:846 xs/src/libslic3r/PrintConfig.cpp:922 -#: xs/src/libslic3r/PrintConfig.cpp:940 xs/src/libslic3r/PrintConfig.cpp:952 -#: xs/src/libslic3r/PrintConfig.cpp:962 xs/src/libslic3r/PrintConfig.cpp:1019 -#: xs/src/libslic3r/PrintConfig.cpp:1076 xs/src/libslic3r/PrintConfig.cpp:1214 -#: xs/src/libslic3r/PrintConfig.cpp:1385 xs/src/libslic3r/PrintConfig.cpp:1394 -#: xs/src/libslic3r/PrintConfig.cpp:1782 xs/src/libslic3r/PrintConfig.cpp:1895 -msgid "mm/s" +#: src/slic3r/GUI/Plater.cpp:1408 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:131 -msgid "Brim width" +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:132 +#: src/slic3r/GUI/Plater.cpp:1492 msgid "" -"Horizontal width of the brim that will be printed around each object on the " -"first layer." +"Your object appears to be too large, so it was automatically scaled down to " +"fit your print bed." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:139 -msgid "Clip multi-part objects" +#: src/slic3r/GUI/Plater.cpp:1493 +msgid "Object too large?" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:140 -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)." +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:151 -msgid "Compatible printers condition" +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:152 -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." +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:163 -msgid "Complete individual objects" +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:164 -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." +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:172 -msgid "Enable auto cooling" +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:173 -msgid "" -"This flag enables the automatic cooling logic that adjusts print speed and " -"fan speed according to layer printing time." +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:179 -msgid "Cooling tube position" -msgstr "" - -#: xs/src/libslic3r/PrintConfig.cpp:180 -msgid "Distance of the center-point of the cooling tube from the extruder tip " +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:187 -msgid "Cooling tube length" +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:188 -msgid "Length of the cooling tube to limit space for cooling moves inside it " +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "" +"The selected object can't be split because it contains more than one volume/" +"material." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:196 -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." +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:205 -msgid "Default filament profile" +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:206 -msgid "" -"Default filament profile associated with the current printer profile. On " -"selection of the current printer profile, this filament profile will be " -"activated." +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:211 -msgid "Default print profile" +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:212 -msgid "" -"Default print profile associated with the current printer profile. On " -"selection of the current printer profile, this print profile will be " -"activated." +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:217 -msgid "Disable fan for the first" +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:218 -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." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:220 xs/src/libslic3r/PrintConfig.cpp:791 -#: xs/src/libslic3r/PrintConfig.cpp:1281 xs/src/libslic3r/PrintConfig.cpp:1472 -#: xs/src/libslic3r/PrintConfig.cpp:1533 xs/src/libslic3r/PrintConfig.cpp:1685 -#: xs/src/libslic3r/PrintConfig.cpp:1730 -msgid "layers" +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:227 -msgid "Don't support bridges" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:229 -msgid "" -"Experimental option for preventing support material from being generated " -"under bridged areas." +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:235 -msgid "Distance between copies" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:236 -msgid "Distance used for the auto-arrange feature of the plater." +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:244 -msgid "Elephant foot compensation" +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:246 -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." +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:255 -msgid "" -"This end procedure is inserted at the end of the output file. Note that you " -"can use placeholder variables for all Slic3r settings." +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:265 -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." +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:275 -msgid "Ensure vertical shell thickness" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:277 -msgid "" -"Add solid infill near sloping surfaces to guarantee the vertical shell " -"thickness (top+bottom solid layers)." +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:283 -msgid "Top/bottom fill pattern" +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:285 -msgid "" -"Fill pattern for top/bottom infill. This only affects the external visible " -"layer, and not its adjacent solid shells." +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:294 xs/src/libslic3r/PrintConfig.cpp:654 -#: xs/src/libslic3r/PrintConfig.cpp:1764 -msgid "Rectilinear" +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:295 xs/src/libslic3r/PrintConfig.cpp:660 -msgid "Concentric" +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:296 xs/src/libslic3r/PrintConfig.cpp:664 -msgid "Hilbert Curve" +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:297 xs/src/libslic3r/PrintConfig.cpp:665 -msgid "Archimedean Chords" +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:298 xs/src/libslic3r/PrintConfig.cpp:666 -msgid "Octagram Spiral" +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:304 xs/src/libslic3r/PrintConfig.cpp:314 -msgid "External perimeters" +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:305 xs/src/libslic3r/PrintConfig.cpp:415 -#: xs/src/libslic3r/PrintConfig.cpp:689 xs/src/libslic3r/PrintConfig.cpp:807 -#: xs/src/libslic3r/PrintConfig.cpp:1200 xs/src/libslic3r/PrintConfig.cpp:1540 -#: xs/src/libslic3r/PrintConfig.cpp:1702 xs/src/libslic3r/PrintConfig.cpp:1860 -msgid "Extrusion Width" +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:306 -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." +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:309 xs/src/libslic3r/PrintConfig.cpp:694 -#: xs/src/libslic3r/PrintConfig.cpp:812 xs/src/libslic3r/PrintConfig.cpp:1205 -#: xs/src/libslic3r/PrintConfig.cpp:1544 xs/src/libslic3r/PrintConfig.cpp:1706 -#: xs/src/libslic3r/PrintConfig.cpp:1865 -msgid "mm or % (leave 0 for default)" +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:316 -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." +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:319 xs/src/libslic3r/PrintConfig.cpp:716 -#: xs/src/libslic3r/PrintConfig.cpp:1503 xs/src/libslic3r/PrintConfig.cpp:1554 -#: xs/src/libslic3r/PrintConfig.cpp:1749 xs/src/libslic3r/PrintConfig.cpp:1877 -msgid "mm/s or %" +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:326 -msgid "External perimeters first" +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:328 -msgid "" -"Print contour perimeters from the outermost one to the innermost one instead " -"of the default inverse order." +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:334 -msgid "Extra perimeters if needed" +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:336 -#, no-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." +#: src/slic3r/GUI/Plater.cpp:2845 +#, possible-c-format +msgid "STL file exported to %s" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:346 -msgid "" -"The extruder to use (unless more specific extruder settings are specified). " -"This value overrides perimeter and infill extruders, but not the support " -"extruders." +#: src/slic3r/GUI/Plater.cpp:2861 +#, possible-c-format +msgid "AMF file exported to %s" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:358 lib/Slic3r/GUI/Plater/3DPreview.pm:75 -msgid "Height" +#: src/slic3r/GUI/Plater.cpp:2864 +#, possible-c-format +msgid "Error exporting AMF file %s" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:359 -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." +#: src/slic3r/GUI/Plater.cpp:2891 +#, possible-c-format +msgid "3MF file exported to %s" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:369 -msgid "Radius" +#: src/slic3r/GUI/Plater.cpp:2894 +#, possible-c-format +msgid "Error exporting 3MF file %s" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:370 -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." +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:380 -msgid "Extruder Color" +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:381 xs/src/libslic3r/PrintConfig.cpp:444 -msgid "This is only used in the Slic3r interface as a visual help." +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "" +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:388 -msgid "Extruder offset" +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:389 +#: src/slic3r/GUI/Preferences.cpp:44 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 this is enabled, Slic3r will auto-center objects around the print bed " +"center." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:398 -msgid "Extrusion axis" +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:399 +#: src/slic3r/GUI/Preferences.cpp:52 msgid "" -"Use this option to set the axis letter associated to your printer's extruder " -"(usually E but some printers use A)." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:405 -msgid "Extrusion multiplier" +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:406 +#: src/slic3r/GUI/Preferences.cpp:76 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." +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:414 -msgid "Default extrusion width" +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:416 +#: src/slic3r/GUI/Preferences.cpp:84 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." -msgstr "" - -#: xs/src/libslic3r/PrintConfig.cpp:420 -msgid "mm or % (leave 0 for auto)" +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:425 -msgid "Keep fan always on" +#: src/slic3r/GUI/Preferences.cpp:90 +msgid "Use legacy OpenGL 1.1 rendering" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:426 +#: src/slic3r/GUI/Preferences.cpp:92 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 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 "" -#: xs/src/libslic3r/PrintConfig.cpp:432 -msgid "Enable fan if layer print time is below" +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:433 -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." +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:435 xs/src/libslic3r/PrintConfig.cpp:1490 -msgid "approximate seconds" +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:443 -msgid "Color" +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:450 -msgid "Filament notes" +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:451 -msgid "You can put your notes regarding the filament here." +#: src/slic3r/GUI/PresetHints.cpp:28 +#, possible-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 "" -#: xs/src/libslic3r/PrintConfig.cpp:459 xs/src/libslic3r/PrintConfig.cpp:1025 -msgid "Max volumetric speed" +#: src/slic3r/GUI/PresetHints.cpp:32 +#, possible-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%%." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:460 +#: src/slic3r/GUI/PresetHints.cpp:36 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." +"\n" +"During the other layers, fan " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:463 xs/src/libslic3r/PrintConfig.cpp:1028 -msgid "mm³/s" +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:469 -msgid "Loading speed" +#: src/slic3r/GUI/PresetHints.cpp:43 +#, possible-c-format +msgid "will always run at %d%% " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:470 -msgid "Speed used for loading the filament on the wipe tower. " +#: src/slic3r/GUI/PresetHints.cpp:46 +#, possible-c-format +msgid "except for the first %d layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:477 -msgid "Unloading speed" +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:478 -msgid "" -"Speed used for unloading the filament on the wipe tower (does not affect " -"initial part of unloading just after ramming). " +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:486 -msgid "Delay after unloading" +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:487 -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. " +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:496 -msgid "Number of cooling moves" +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:497 -msgid "" -"Filament is cooled by being moved back and forth in the cooling tubes. " -"Specify desired number of these moves " +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:505 -msgid "Speed of the first cooling move" +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:506 -msgid "Cooling moves are gradually accelerating beginning at this speed. " +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:513 -msgid "Speed of the last cooling move" +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:514 -msgid "Cooling moves are gradually accelerating towards this speed. " +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:521 -msgid "Ramming parameters" +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:522 -msgid "" -"This string is edited by RammingDialog and contains ramming specific " -"parameters " +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:529 -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." +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:537 -msgid "Density" +#: src/slic3r/GUI/PresetHints.cpp:220 +msgid "by the print profile maximum" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:538 -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." +#: src/slic3r/GUI/PresetHints.cpp:221 +msgid "when printing " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:541 -msgid "g/cm³" +#: src/slic3r/GUI/PresetHints.cpp:222 +msgid " with a volumetric rate " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:547 -msgid "Filament type" +#: src/slic3r/GUI/PresetHints.cpp:226 +#, possible-c-format +msgid "%3.2f mm³/s" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:548 xs/src/libslic3r/PrintConfig.cpp:1235 +#: src/slic3r/GUI/PresetHints.cpp:228 +#, possible-c-format +msgid " at filament speed %3.2f mm/s." +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:247 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." +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:567 -msgid "Soluble material" +#: src/slic3r/GUI/PresetHints.cpp:264 +#, possible-c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:568 -msgid "Soluble material is most likely used for a soluble support." +#: src/slic3r/GUI/PresetHints.cpp:271 +#, possible-c-format +msgid "%d lines: %.2lf mm" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:573 lib/Slic3r/GUI/Plater.pm:1616 -msgid "Cost" +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:574 -msgid "" -"Enter your filament cost per kg here. This is only for statistical " -"information." +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:575 -msgid "money/kg" +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:584 -msgid "Fill angle" +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:586 -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." +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:598 -msgid "Fill density" +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:600 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:636 -msgid "Fill pattern" +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:638 -msgid "Fill pattern for general low-density infill." +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:655 -msgid "Grid" +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:656 -msgid "Triangles" +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:657 -msgid "Stars" +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:658 -msgid "Cubic" +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:659 -msgid "Line" +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:661 xs/src/libslic3r/PrintConfig.cpp:1766 -msgid "Honeycomb" +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:662 -msgid "3D Honeycomb" +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:663 -msgid "Gyroid" +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:670 xs/src/libslic3r/PrintConfig.cpp:679 -#: xs/src/libslic3r/PrintConfig.cpp:688 xs/src/libslic3r/PrintConfig.cpp:722 -msgid "First layer" +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:671 -msgid "" -"This is the acceleration your printer will use for first layer. Set zero to " -"disable acceleration control for first layer." +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:680 -msgid "" -"Heated build plate temperature for the first layer. Set this to zero to " -"disable bed temperature control commands in the output." +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:690 -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." +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:700 -msgid "First layer height" +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:702 +#: src/slic3r/GUI/Tab.cpp:131 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." +"Hover the cursor over buttons to find more information \n" +"or click this button." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:706 xs/src/libslic3r/PrintConfig.cpp:837 -#: xs/src/libslic3r/PrintConfig.cpp:1638 -msgid "mm or %" +#: src/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:712 -msgid "First layer speed" +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:713 -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." +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:723 -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." +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:731 -#: xs/src/libslic3r/GCode/PreviewData.cpp:170 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:97 -msgid "Gap fill" +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:733 -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." +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:741 -msgid "Verbose G-code" +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:742 -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." +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:749 -msgid "G-code flavor" +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:750 -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." +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:774 -msgid "No extrusion" +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:779 -msgid "" -"This is the acceleration your printer will use for infill. Set zero to " -"disable acceleration control for infill." +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:787 -msgid "Combine infill every" +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:789 -msgid "" -"This feature allows to combine infill and speed up your print by extruding " -"thicker infill layers while preserving thin perimeters, thus accuracy." +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:793 -msgid "Combine infill every n layers" +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:798 -msgid "Infill extruder" +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:800 -msgid "The extruder to use when printing infill." +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:808 -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." +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:817 -msgid "Infill before perimeters" +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:818 -msgid "" -"This option will switch the print order of perimeters and infill, making the " -"latter first." +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:823 -msgid "Only infill where needed" +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:825 -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." +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:832 -msgid "Infill/perimeters overlap" +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:834 -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." +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:845 -msgid "Speed for printing the internal fill. Set to zero for auto." +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:854 -msgid "Inherits profile" +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:855 -msgid "Name of the profile, from which this profile inherits." +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:866 -msgid "Interface shells" +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:867 -msgid "" -"Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual " -"soluble support material." +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:876 -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]." +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:888 -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." +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:896 -msgid "Support silent mode" +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:897 -msgid "Set silent mode for the G-code flavor" +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:919 -#, possible-c-format -msgid "Maximum feedrate %1%" +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:921 -#, possible-c-format -msgid "Maximum feedrate of the %1% axis" +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:928 -#, possible-c-format -msgid "Maximum acceleration %1%" +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:930 -#, possible-c-format -msgid "Maximum acceleration of the %1% axis" +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:937 -#, possible-c-format -msgid "Maximum jerk %1%" +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:939 -#, possible-c-format -msgid "Maximum jerk of the %1% axis" +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:949 xs/src/libslic3r/PrintConfig.cpp:951 -msgid "Minimum feedrate when extruding" +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:959 xs/src/libslic3r/PrintConfig.cpp:961 -msgid "Minimum travel feedrate" +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:969 xs/src/libslic3r/PrintConfig.cpp:971 -msgid "Maximum acceleration when extruding" +#: src/slic3r/GUI/Tab.cpp:1161 +#, 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 "" -#: xs/src/libslic3r/PrintConfig.cpp:979 xs/src/libslic3r/PrintConfig.cpp:981 -msgid "Maximum acceleration when retracting" +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:988 xs/src/libslic3r/PrintConfig.cpp:997 -msgid "Max" +#: src/slic3r/GUI/Tab.cpp:1191 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:989 -msgid "This setting represents the maximum speed of your fan." +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:998 -#, no-c-format +#: src/slic3r/GUI/Tab.cpp:1209 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1008 -msgid "Max print height" +#: src/slic3r/GUI/Tab.cpp:1227 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1009 -msgid "" -"Set this to the maximum height that can be reached by your extruder while " -"printing." +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1015 -msgid "Max print speed" +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1016 +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format 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." +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1026 -msgid "" -"This experimental setting is used to set the maximum volumetric speed your " -"extruder supports." +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1034 -msgid "Max volumetric slope positive" +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1035 xs/src/libslic3r/PrintConfig.cpp:1046 -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." +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1039 xs/src/libslic3r/PrintConfig.cpp:1050 -msgid "mm³/s²" +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1045 -msgid "Max volumetric slope negative" +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1056 xs/src/libslic3r/PrintConfig.cpp:1065 -msgid "Min" +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1057 -msgid "This setting represents the minimum PWM your fan needs to work." +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1066 -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." +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1074 -msgid "Min print speed" +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1075 -msgid "Slic3r will not scale speed down below this speed." +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1082 -msgid "Minimal filament extrusion length" +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1083 -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." +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1092 -msgid "Configuration notes" +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1093 -msgid "" -"You can put here your personal notes. This text will be added to the G-code " -"header comments." +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1102 -msgid "Nozzle diameter" +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1103 -msgid "" -"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1109 -msgid "API Key" +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1110 -msgid "" -"Slic3r can upload G-code files to OctoPrint. This field should contain the " -"API Key required for authentication." +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1123 -msgid "Hostname, IP or URL" +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1124 -msgid "" -"Slic3r can upload G-code files to OctoPrint. This field should contain the " -"hostname, IP address or URL of the OctoPrint instance." +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1130 -msgid "Only retract when crossing perimeters" +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1131 +#: src/slic3r/GUI/Tab.cpp:1676 msgid "" -"Disables retraction when the travel path does not exceed the upper layer's " -"perimeters (and thus any ooze will be probably invisible)." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1138 -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." +#: src/slic3r/GUI/Tab.cpp:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1145 -msgid "Output filename format" +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1146 -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]." +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1155 -msgid "Detect bridging perimeters" +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1157 -msgid "" -"Experimental option to adjust flow for overhangs (bridge flow will be used), " -"to apply bridge speed to them and enable fan." +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1163 -msgid "Filament parking position" +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1164 -msgid "" -"Distance of the extruder tip from the position where the filament is parked " -"when unloaded. This should match the value in printer firmware. " +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1172 -msgid "Extra loading distance" +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1173 -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. " +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1181 xs/src/libslic3r/PrintConfig.cpp:1199 -#: xs/src/libslic3r/PrintConfig.cpp:1211 xs/src/libslic3r/PrintConfig.cpp:1221 -msgid "Perimeters" +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1182 -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." +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1190 -msgid "Perimeter extruder" +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1192 -msgid "" -"The extruder to use when printing perimeters and brim. First extruder is 1." +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1201 -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." +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1213 -msgid "" -"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1223 -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." +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1227 -msgid "(minimum)" +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1247 -msgid "Printer type" +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1248 -msgid "Type of the printer." +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1252 -msgid "Printer notes" +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1253 -msgid "You can put your notes regarding the printer here." +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1261 -msgid "Printer vendor" +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1262 -msgid "Name of the printer vendor." +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1266 -msgid "Printer variant" +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1267 -msgid "" -"Name of the printer variant. For example, the printer variants may be " -"differentiated by a nozzle diameter." +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1277 -msgid "Raft layers" +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1279 -msgid "" -"The object will be raised by this number of layers, and support material " -"will be generated under it." +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1287 -msgid "Resolution" +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, possible-c-format +msgid "Extruder %d" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1288 -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." +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1298 -msgid "Minimum travel after retraction" +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1299 -msgid "" -"Retraction is not triggered when travel moves are shorter than this length." +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1305 -msgid "Retract amount before wipe" +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1306 +#: src/slic3r/GUI/Tab.cpp:2149 msgid "" -"With bowden extruders, it may be wise to do some amount of quick retract " -"before doing the wipe movement." +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1313 -msgid "Retract on layer change" +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1314 -msgid "This flag enforces a retraction whenever a Z move is done." +#: src/slic3r/GUI/Tab.cpp:2284 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1319 xs/src/libslic3r/PrintConfig.cpp:1328 -msgid "Length" +#: src/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1320 -msgid "Retraction Length" +#: src/slic3r/GUI/Tab.cpp:2565 +#, possible-c-format +msgid "Default preset (%s)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1321 -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)." +#: src/slic3r/GUI/Tab.cpp:2566 +#, possible-c-format +msgid "Preset (%s)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1323 xs/src/libslic3r/PrintConfig.cpp:1333 -msgid "mm (zero to disable)" +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1329 -msgid "Retraction Length (Toolchange)" +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1330 -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)." +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1338 -msgid "Lift Z" +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1339 -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." +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1347 -msgid "Above Z" +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1348 -msgid "Only lift Z above" +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1349 -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." +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1356 -msgid "Below Z" +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1357 -msgid "Only lift Z below" +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1358 -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." +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1366 xs/src/libslic3r/PrintConfig.cpp:1374 -msgid "Extra length on restart" +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1367 -msgid "" -"When the retraction is compensated after the travel move, the extruder will " -"push this additional amount of filament. This setting is rarely needed." +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1375 -msgid "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1382 xs/src/libslic3r/PrintConfig.cpp:1383 -msgid "Retraction Speed" +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1384 -msgid "The speed for retractions (it only applies to the extruder motor)." +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1390 xs/src/libslic3r/PrintConfig.cpp:1391 -msgid "Deretraction Speed" +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1392 -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." +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1399 -msgid "Seam position" +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1401 -msgid "Position of perimeters starting points." +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1408 -msgid "Random" +#: src/slic3r/GUI/Tab.cpp:2878 +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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1409 -msgid "Nearest" +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1410 -msgid "Aligned" +#: src/slic3r/GUI/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1411 lib/Slic3r/GUI/MainFrame.pm:330 -msgid "Rear" +#: src/slic3r/GUI/Tab.cpp:2910 +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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1417 -msgid "Direction" +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1419 -msgid "Preferred direction of the seam" +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1420 -msgid "Seam preferred direction" +#: src/slic3r/GUI/Tab.cpp:2918 +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 "" + +#: src/slic3r/GUI/Tab.cpp:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2932 +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:3031 +msgid " as:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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 "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, possible-c-format +msgid "This Slic3r PE version: %s" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, possible-c-format +msgid "" +"Slic3r PE 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 "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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 "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 +msgid "Total ramming time" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +msgid "" +"Switching to simple settings will discard changes done in the advanced " +"mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, possible-c-format +msgid "Mismatched type of print host: %s" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, possible-c-format +msgid "requires min. %s and max. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, possible-c-format +msgid "requires min. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, possible-c-format +msgid "requires max. %s" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +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 "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" +msgstr "" + +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "" + +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "" + +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" + +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" + +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" + +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" + +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" + +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" + +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" + +#: src/libslic3r/Print.cpp:1255 +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:1257 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" +msgstr "" + +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" + +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" + +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "" + +#: src/libslic3r/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "" + +#: src/libslic3r/Print.cpp:1316 +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 "" + +#: src/libslic3r/Print.cpp:1324 +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:1328 +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 "" + +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "" + +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:48 +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:56 +msgid "Max print height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:93 +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 "" + +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:188 +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 "" + +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:208 +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 "" + +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:221 +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:235 +msgid "Complete individual objects" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:236 +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:245 +msgid "Enable auto cooling" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:246 +msgid "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:282 +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:287 +msgid "Default print profile" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +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:293 +msgid "Disable fan for the first" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:324 +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 "" + +#: src/libslic3r/PrintConfig.cpp:334 +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 "" + +#: src/libslic3r/PrintConfig.cpp:345 +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 "" + +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"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:444 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:487 +msgid "" +"Use this option to set the axis letter associated to your printer's extruder " +"(usually E but some printers use A)." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"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:590 +msgid "Unloading speed at the start" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:600 +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. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:611 +msgid "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1428 -msgid "Jitter" +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1430 -msgid "Seam preferred direction jitter" +#: src/libslic3r/PrintConfig.cpp:651 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1431 -msgid "Preferred direction of the seam - jitter" +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1442 -msgid "USB/serial port for printer connection." +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1450 -msgid "Serial port speed" +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1451 -msgid "Speed (baud) of USB/serial port for printer connection." +#: src/libslic3r/PrintConfig.cpp:668 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1460 -msgid "Distance from object" +#: src/libslic3r/PrintConfig.cpp:677 +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:685 +msgid "Density" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1461 +#: src/libslic3r/PrintConfig.cpp:686 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1469 -msgid "Skirt height" +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1470 +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:719 msgid "" -"Height of skirt expressed in layers. Set this to a tall value to use skirt " -"as a shield against drafts." +"Enter your filament cost per kg here. This is only for statistical " +"information." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1477 -msgid "Loops (minimum)" +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1478 -msgid "Skirt Loops" +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1479 +#: src/libslic3r/PrintConfig.cpp:731 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1487 -msgid "Slow down if layer print time is below" +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1488 +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:817 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." +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1498 -msgid "Small perimeters" +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1500 +#: src/libslic3r/PrintConfig.cpp:837 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1510 -msgid "Solid infill threshold area" +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1512 +#: src/libslic3r/PrintConfig.cpp:850 msgid "" -"Force solid infill for regions having a smaller area than the specified " -"threshold." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1513 -msgid "mm²" +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1519 -msgid "Solid infill extruder" +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1521 -msgid "The extruder to use when printing solid infill." +#: src/libslic3r/PrintConfig.cpp:861 +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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1527 -msgid "Solid infill every" +#: src/libslic3r/PrintConfig.cpp:872 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1529 +#: src/libslic3r/PrintConfig.cpp:882 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1539 xs/src/libslic3r/PrintConfig.cpp:1549 -#: xs/src/libslic3r/GCode/PreviewData.cpp:167 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:94 -msgid "Solid infill" +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1541 +#: src/libslic3r/PrintConfig.cpp:891 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." +"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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1551 +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:900 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1563 -msgid "Number of solid layers to generate on top and bottom surfaces." +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1570 -msgid "Spiral vase" +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1571 +#: src/libslic3r/PrintConfig.cpp:930 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1580 -msgid "Temperature variation" +#: src/libslic3r/PrintConfig.cpp:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"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:1043 +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 "" + +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" + +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1581 -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." +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1591 -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." +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1606 -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." +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1621 -msgid "Single Extruder Multi Material" +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1622 -msgid "The printer multiplexes filaments into a single hot end." +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1627 -msgid "Generate support material" +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1629 -msgid "Enable support material generation." +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1634 -msgid "XY separation between an object and its support" +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1636 -msgid "" -"XY separation between an object and its support. If expressed as percentage " -"(for example 50%), it will be calculated over external perimeter width." +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1646 -msgid "Pattern angle" +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1648 -msgid "" -"Use this setting to rotate the support material pattern on the horizontal " -"plane." +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1658 +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-c-format msgid "" -"Only create support if it lies on a build plate. Don't create support on a " -"print." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1664 -msgid "Contact Z distance" +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1666 +#: src/libslic3r/PrintConfig.cpp:1186 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1674 -msgid "soluble" +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1675 -msgid "detachable" +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1679 -msgid "Enforce support for the first" +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1681 -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." +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1687 -msgid "Enforce support for the first n layers" +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1692 -msgid "Support material/raft/skirt extruder" +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1694 -msgid "" -"The extruder to use when printing support material, raft and skirt (1+, 0 to " -"use the current extruder to minimize tool changes)." +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1703 +#: src/libslic3r/PrintConfig.cpp:1241 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." +"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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1711 -msgid "Interface loops" +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1713 -msgid "" -"Cover the top contact layer of the supports with loops. Disabled by default." +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1718 -msgid "Support material/raft interface extruder" +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1720 +#: src/libslic3r/PrintConfig.cpp:1260 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1727 -msgid "Interface layers" +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1729 +#: src/libslic3r/PrintConfig.cpp:1271 msgid "" -"Number of interface layers to insert between the object(s) and support " -"material." +"You can put here your personal notes. This text will be added to the G-code " +"header comments." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1736 -msgid "Interface pattern spacing" +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1738 -msgid "Spacing between interface lines. Set zero to get a solid interface." +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1745 -#: xs/src/libslic3r/GCode/PreviewData.cpp:173 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:100 -msgid "Support material interface" +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1747 +#: src/libslic3r/PrintConfig.cpp:1289 msgid "" -"Speed for printing support material interface layers. If expressed as " -"percentage (for example 50%) it will be calculated over support material " -"speed." +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1756 -msgid "Pattern" +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1758 -msgid "Pattern used to generate support material." +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1765 -msgid "Rectilinear grid" +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1770 -msgid "Pattern spacing" +#: src/libslic3r/PrintConfig.cpp:1318 +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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1772 -msgid "Spacing between support material lines." +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1781 -msgid "Speed for printing support material." +#: src/libslic3r/PrintConfig.cpp:1326 +msgid "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1788 -msgid "Synchronize with object layers" +#: src/libslic3r/PrintConfig.cpp:1334 +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:1342 +msgid "Output filename format" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1790 +#: src/libslic3r/PrintConfig.cpp:1343 msgid "" -"Synchronize support layers with the object print layers. This is useful with " -"multi-material printers, where the extruder switch is expensive." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1796 -msgid "Overhang threshold" +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1798 +#: src/libslic3r/PrintConfig.cpp:1355 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)." +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1810 -msgid "With sheath around the support" +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1812 +#: src/libslic3r/PrintConfig.cpp:1363 msgid "" -"Add a sheath (a single perimeter line) around the base support. This makes " -"the support more reliable, but also more difficult to remove." +"Distance of the extruder tip from the position where the filament is parked " +"when unloaded. This should match the value in printer firmware. " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1819 -msgid "" -"Extruder temperature for layers after the first one. Set this to zero to " -"disable temperature control commands in the output." +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1822 -msgid "Temperature" +#: src/libslic3r/PrintConfig.cpp:1373 +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. " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1828 -msgid "Detect thin walls" +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1830 +#: src/libslic3r/PrintConfig.cpp:1383 msgid "" -"Detect single-width walls (parts where two extrusions don't fit and we need " -"to collapse them into a single trace)." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1836 -msgid "Threads" +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1837 +#: src/libslic3r/PrintConfig.cpp:1394 msgid "" -"Threads are used to parallelize long-running tasks. Optimal threads number " -"is slightly above the number of available cores/processors." +"The extruder to use when printing perimeters and brim. First extruder is 1." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1849 +#: src/libslic3r/PrintConfig.cpp:1404 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]." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1859 xs/src/libslic3r/PrintConfig.cpp:1870 -#: xs/src/libslic3r/GCode/PreviewData.cpp:168 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:95 -msgid "Top solid infill" +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1861 +#: src/libslic3r/PrintConfig.cpp:1427 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." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1872 -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." +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1884 lib/Slic3r/GUI/MainFrame.pm:327 -msgid "Top" +#: src/libslic3r/PrintConfig.cpp:1439 +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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1886 -msgid "Number of solid layers to generate on top surfaces." +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1888 -msgid "Top solid layers" +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1893 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:105 -msgid "Travel" +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1894 -msgid "Speed for travel moves (jumps between distant extrusion points)." +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1902 -msgid "Use firmware retraction" +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1903 -msgid "" -"This experimental setting uses G10 and G11 commands to have the firmware " -"handle the retraction. This is only supported in recent Marlin." +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1909 -msgid "Use relative E distances" +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1910 +#: src/libslic3r/PrintConfig.cpp:1473 msgid "" -"If your firmware requires relative E values, check this, otherwise leave it " -"unchecked. Most firmwares use absolute values." +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1916 -msgid "Use volumetric E" +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1917 +#: src/libslic3r/PrintConfig.cpp:1485 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." +"The object will be raised by this number of layers, and support material " +"will be generated under it." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1927 -msgid "Enable variable layer height feature" +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1928 +#: src/libslic3r/PrintConfig.cpp:1495 msgid "" -"Some printers or printer setups may have difficulties printing with a " -"variable layer height. Enabled by default." -msgstr "" - -#: xs/src/libslic3r/PrintConfig.cpp:1934 -msgid "Wipe while retracting" +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1935 -msgid "" -"This flag will move the nozzle while retracting to minimize the possible " -"blob on leaky extruders." +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1942 +#: src/libslic3r/PrintConfig.cpp:1507 msgid "" -"Multi material printers may need to prime or purge extruders on tool " -"changes. Extrude the excess material into the wipe tower." +"Retraction is not triggered when travel moves are shorter than this length." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1948 -msgid "Purging volumes - load/unload volumes" +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1949 +#: src/libslic3r/PrintConfig.cpp:1515 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. " +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1956 -msgid "Purging volumes - matrix" +#: src/libslic3r/PrintConfig.cpp:1523 +msgid "Retract on layer change" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1957 -msgid "" -"This matrix describes volumes (in cubic milimetres) required to purge the " -"new filament on the wipe tower for any given pair of tools. " +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1967 -msgid "Position X" +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1968 -msgid "X coordinate of the left front corner of a wipe tower" +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1974 -msgid "Position Y" +#: src/libslic3r/PrintConfig.cpp:1532 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1975 -msgid "Y coordinate of the left front corner of a wipe tower" +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1981 lib/Slic3r/GUI/Plater/3DPreview.pm:76 -msgid "Width" +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1982 -msgid "Width of a wipe tower" +#: src/libslic3r/PrintConfig.cpp:1541 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1988 -msgid "Wipe tower rotation angle" +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1989 -msgid "Wipe tower rotation angle with respect to x-axis " +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1990 -msgid "degrees" +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1996 -msgid "Purging into infill" +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1997 +#: src/libslic3r/PrintConfig.cpp:1561 msgid "" -"Wiping after toolchange will be preferentially done inside infills. This " -"lowers the amount of waste but may result in longer print time due to " -"additional travel moves." +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:2005 -msgid "Purging into objects" +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:2006 -msgid "" -"Objects will be used to wipe 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." +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:2013 -msgid "Maximal bridging distance" +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:2014 -msgid "Maximal distance between supports on sparse infill sections. " +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:2020 -msgid "XY Size Compensation" +#: src/libslic3r/PrintConfig.cpp:1581 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:2022 +#: src/libslic3r/PrintConfig.cpp:1590 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." +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:2030 -msgid "Z offset" +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:2031 -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)." +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:163 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:90 -msgid "Perimeter" +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:164 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:91 -msgid "External perimeter" +#: src/libslic3r/PrintConfig.cpp:1609 +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 "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:165 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:92 -msgid "Overhang perimeter" +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:166 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:93 -msgid "Internal infill" +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:169 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:96 -msgid "Bridge infill" +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:176 -msgid "Mixed" +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:367 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:74 -msgid "Feature type" +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:369 -msgid "Height (mm)" +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:371 -msgid "Width (mm)" +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:373 -msgid "Speed (mm/s)" +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:375 -msgid "Volumetric flow rate (mm3/s)" +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:377 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:79 -msgid "Tool" +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" msgstr "" -#: lib/Slic3r/GUI.pm:308 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:66 -msgid "Version " +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:66 -msgid "" -" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:135 -msgid "Plater" +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:137 -msgid "Controller" +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:215 -msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O" +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:215 -msgid "Open a model" +#: src/libslic3r/PrintConfig.cpp:1680 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:218 -msgid "&Load Config…\tCtrl+L" +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:218 -msgid "Load exported configuration file" +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:221 -msgid "&Export Config…\tCtrl+E" +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:221 -msgid "Export current configuration to file" +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:224 -msgid "&Load Config Bundle…" +#: src/libslic3r/PrintConfig.cpp:1699 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:224 -msgid "Load presets from a bundle" +#: src/libslic3r/PrintConfig.cpp:1708 +msgid "Slow down if layer print time is below" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:227 -msgid "&Export Config Bundle…" +#: src/libslic3r/PrintConfig.cpp:1709 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:227 -msgid "Export all presets to file" +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:232 -msgid "Q&uick Slice…\tCtrl+U" +#: src/libslic3r/PrintConfig.cpp:1722 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:232 -msgid "Slice a file into a G-code" +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:238 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" +#: src/libslic3r/PrintConfig.cpp:1734 +msgid "" +"Force solid infill for regions having a smaller area than the specified " +"threshold." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:238 -msgid "Slice a file into a G-code, save as" +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:244 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:244 -msgid "Repeat last quick slice" +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:251 -msgid "Slice to SV&G…\tCtrl+G" +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:251 -msgid "Slice file to a multi-layer SVG" +#: src/libslic3r/PrintConfig.cpp:1753 +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." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:255 -msgid "(&Re)Slice Now\tCtrl+S" +#: src/libslic3r/PrintConfig.cpp:1766 +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." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:255 -msgid "Start new slicing process" +#: src/libslic3r/PrintConfig.cpp:1777 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:258 -msgid "Repair STL file…" +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:258 -msgid "Automatically repair an STL file" +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:262 -msgid "&Quit" +#: src/libslic3r/PrintConfig.cpp:1797 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:262 -msgid "Quit Slic3r" +#: src/libslic3r/PrintConfig.cpp:1806 +msgid "Temperature variation" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:272 -msgid "Export G-code..." +#: src/libslic3r/PrintConfig.cpp:1807 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:272 -msgid "Export current plate as G-code" +#: src/libslic3r/PrintConfig.cpp:1818 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:275 -msgid "Export plate as STL..." +#: src/libslic3r/PrintConfig.cpp:1834 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:275 -msgid "Export current plate as STL" +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:278 -msgid "Export plate as AMF..." +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:278 -msgid "Export current plate as AMF" +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:281 -msgid "Export plate as 3MF..." +#: src/libslic3r/PrintConfig.cpp:1858 +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:281 -msgid "Export current plate as 3MF" +#: src/libslic3r/PrintConfig.cpp:1864 +msgid "Generate support material" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:294 -msgid "Select &Plater Tab\tCtrl+1" +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:294 -msgid "Show the plater" +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:300 -msgid "Select &Controller Tab\tCtrl+T" +#: src/libslic3r/PrintConfig.cpp:1873 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:300 -msgid "Show the printer controller" +#: src/libslic3r/PrintConfig.cpp:1880 +msgid "XY separation between an object and its support" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:308 -msgid "Select P&rint Settings Tab\tCtrl+2" +#: src/libslic3r/PrintConfig.cpp:1882 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:308 -msgid "Show the print settings" +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:311 -msgid "Select &Filament Settings Tab\tCtrl+3" +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:311 -msgid "Show the filament settings" +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"Only create support if it lies on a build plate. Don't create support on a " +"print." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:314 -msgid "Select Print&er Settings Tab\tCtrl+4" +#: src/libslic3r/PrintConfig.cpp:1915 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:314 -msgid "Show the printer settings" +#: src/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:326 -msgid "Iso" +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:326 -msgid "Iso View" +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:327 -msgid "Top View" +#: src/libslic3r/PrintConfig.cpp:1931 +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." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:328 -msgid "Bottom View" +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:329 -msgid "Front" +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:329 -msgid "Front View" +#: src/libslic3r/PrintConfig.cpp:1945 +msgid "" +"The extruder to use when printing support material, raft and skirt (1+, 0 to " +"use the current extruder to minimize tool changes)." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:330 -msgid "Rear View" +#: src/libslic3r/PrintConfig.cpp:1955 +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." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:331 -msgid "Left" +#: src/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:331 -msgid "Left View" +#: src/libslic3r/PrintConfig.cpp:1966 +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:332 -msgid "Right" +#: src/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:332 -msgid "Right View" +#: src/libslic3r/PrintConfig.cpp:1974 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:338 -msgid "Prusa 3D Drivers" +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:338 -msgid "Open the Prusa3D drivers download page in your browser" +#: src/libslic3r/PrintConfig.cpp:1984 +msgid "" +"Number of interface layers to insert between the object(s) and support " +"material." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:341 -msgid "Prusa Edition Releases" +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:341 -msgid "Open the Prusa Edition releases page in your browser" +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:348 -msgid "Slic3r &Website" +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:348 -msgid "Open the Slic3r website in your browser" +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:351 -msgid "Slic3r &Manual" +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:351 -msgid "Open the Slic3r manual in your browser" +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:355 -msgid "System Info" +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:355 -msgid "Show system information" +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:358 -msgid "Show &Configuration Folder" +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:358 -msgid "Show user configuration folder (datadir)" +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:361 -msgid "Report an Issue" +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:361 -msgid "Report an issue on the Slic3r Prusa Edition" +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:364 -msgid "&About Slic3r" +#: src/libslic3r/PrintConfig.cpp:2058 +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)." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:364 -msgid "Show about dialog" +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:374 -msgid "&File" +#: src/libslic3r/PrintConfig.cpp:2073 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:375 -msgid "&Plater" +#: src/libslic3r/PrintConfig.cpp:2081 +msgid "" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:376 -msgid "&Object" +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:377 -msgid "&Window" +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:378 -msgid "&View" +#: src/libslic3r/PrintConfig.cpp:2092 +msgid "" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:381 -msgid "&Help" +#: src/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:412 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +#: src/libslic3r/PrintConfig.cpp:2100 +msgid "" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:424 -msgid "No previously sliced file." +#: src/libslic3r/PrintConfig.cpp:2112 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:425 lib/Slic3r/GUI/Plater.pm:1405 -msgid "Error" +#: src/libslic3r/PrintConfig.cpp:2125 +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." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:429 -msgid "Previously sliced file (" +#: src/libslic3r/PrintConfig.cpp:2137 +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." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:429 -msgid ") not found." +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:430 -msgid "File Not Found" +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:469 -msgid "SVG" +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:469 -msgid "G-code" +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:469 lib/Slic3r/GUI/Plater.pm:1795 -msgid " file as:" +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:483 -msgid "Slicing…" +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:483 -msgid "Processing " +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:503 -msgid " was successfully sliced." +#: src/libslic3r/PrintConfig.cpp:2177 +msgid "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:505 -msgid "Slicing Done!" +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:521 -msgid "Select the STL file to repair:" +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:535 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:549 -msgid "Your file was repaired." +#: src/libslic3r/PrintConfig.cpp:2197 +msgid "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:549 -msgid "Repair" +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:560 -msgid "Save configuration as:" +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:578 lib/Slic3r/GUI/MainFrame.pm:622 -msgid "Select configuration to load:" +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:601 -msgid "Save presets bundle as:" +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:642 -#, possible-perl-format -msgid "%d presets successfully imported." +#: src/libslic3r/PrintConfig.cpp:2221 +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 "" -#: lib/Slic3r/GUI/Plater.pm:164 lib/Slic3r/GUI/Plater.pm:2323 -msgid "3D" +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:206 -msgid "2D" +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" -#: lib/Slic3r/GUI/Plater.pm:224 -msgid "Layers" +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:250 lib/Slic3r/GUI/Plater.pm:268 -msgid "Add…" +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:252 lib/Slic3r/GUI/Plater.pm:270 -msgid "Delete All" +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:253 lib/Slic3r/GUI/Plater.pm:271 -msgid "Arrange" +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:255 -msgid "More" +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:256 -msgid "Fewer" +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:258 -msgid "45° ccw" +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:259 -msgid "45° cw" +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:260 lib/Slic3r/GUI/Plater.pm:276 -msgid "Scale…" +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:261 lib/Slic3r/GUI/Plater.pm:277 -#: lib/Slic3r/GUI/Plater.pm:2293 -msgid "Split" +#: src/libslic3r/PrintConfig.cpp:2273 +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 "" -#: lib/Slic3r/GUI/Plater.pm:262 lib/Slic3r/GUI/Plater.pm:278 -#: lib/Slic3r/GUI/Plater.pm:2296 -msgid "Cut…" +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:264 lib/Slic3r/GUI/Plater.pm:279 -#: lib/Slic3r/GUI/Plater.pm:2300 -msgid "Settings…" +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" -#: lib/Slic3r/GUI/Plater.pm:265 -msgid "Layer Editing" +#: src/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:280 -msgid "Layer editing" +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:303 -msgid "Name" +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:304 lib/Slic3r/GUI/Plater.pm:992 -msgid "Copies" +#: src/libslic3r/PrintConfig.cpp:2299 +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 "" -#: lib/Slic3r/GUI/Plater.pm:305 lib/Slic3r/GUI/Plater.pm:1158 -#: lib/Slic3r/GUI/Plater.pm:1163 lib/Slic3r/GUI/Plater.pm:2262 -msgid "Scale" +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:322 -msgid "Export G-code…" +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" -#: lib/Slic3r/GUI/Plater.pm:323 -msgid "Slice now" +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:324 -msgid "Print…" +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:325 -msgid "Send to printer" +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:326 -msgid "Export STL…" +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:453 -msgid "Print settings" +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:455 -msgid "Printer" +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:488 -msgid "Info" +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:499 -msgid "Volume" +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:500 -msgid "Facets" +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:501 -msgid "Materials" +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:502 -msgid "Manifold" +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:527 -msgid "Sliced Info" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:713 -msgid "Loading…" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:713 lib/Slic3r/GUI/Plater.pm:727 -msgid "Processing input file\n" +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:750 -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" +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:753 lib/Slic3r/GUI/Plater.pm:770 -msgid "Multi-part object detected" +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:767 +#: src/libslic3r/PrintConfig.cpp:2403 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" +"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 "" -#: lib/Slic3r/GUI/Plater.pm:779 -msgid "Loaded " +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:837 -msgid "" -"Your object appears to be too large, so it was automatically scaled down to " -"fit your print bed." +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:838 -msgid "Object too large?" +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:992 -msgid "Enter the number of copies of the selected object:" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1019 -msgid "" -"\n" -"Non-positive value." +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1020 -msgid "" -"\n" -"Not a numeric value." +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1021 -msgid "Slic3r Error" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1042 -msgid "Enter the rotation angle:" +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1042 -msgid "Rotate around " +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1042 -msgid "Invalid rotation angle entered" +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1132 -#, possible-perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1133 lib/Slic3r/GUI/Plater.pm:1137 -msgid "Scale along " +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1133 lib/Slic3r/GUI/Plater.pm:1137 -#: lib/Slic3r/GUI/Plater.pm:1158 lib/Slic3r/GUI/Plater.pm:1163 -msgid "Invalid scaling value entered" +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1137 lib/Slic3r/GUI/Plater.pm:1163 -#, no-perl-format -msgid "Enter the scale % for the selected object:" +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1158 -msgid "Enter the new max size for the selected object:" +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1218 -msgid "" -"The selected object can't be split because it contains more than one volume/" -"material." +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1227 -msgid "" -"The selected object couldn't be split because it contains only one part." +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1391 -msgid "Slicing cancelled" +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1405 -msgid "Another export job is currently running." +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1555 -msgid "File added to print queue" +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1561 -msgid "G-code file exported to " +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1564 -msgid "Export failed" +#: src/libslic3r/PrintConfig.cpp:2531 +msgid "" +"Controls the bridge type between two neigboring 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 "" -#: lib/Slic3r/GUI/Plater.pm:1576 -msgid "OctoPrint upload finished." +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1610 -msgid "Used Filament (m)" +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1612 -msgid "Used Filament (mm³)" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1614 -msgid "Used Filament (g)" +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1618 -msgid "Estimated printing time (normal mode)" +#: src/libslic3r/PrintConfig.cpp:2548 +msgid "" +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1620 -msgid "Estimated printing time (silent mode)" +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1659 lib/Slic3r/GUI/Plater.pm:1701 -msgid "STL file exported to " +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1740 -msgid "AMF file exported to " +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1744 -msgid "Error exporting AMF file " +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1756 -msgid "3MF file exported to " +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1760 -msgid "Error exporting 3MF file " +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2140 -#, possible-perl-format -msgid "%d (%d shells)" +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2142 -#, possible-perl-format -msgid "Auto-repaired (%d errors)" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2147 -#, possible-perl-format -msgid "" -"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " -"facets reversed, %d backwards edges" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2152 -msgid "Yes" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2215 -msgid "Remove the selected object" +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2218 -msgid "Increase copies" +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "" +"How many support points (approximately) should be placed on horizontal " +"surface." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2218 -msgid "Place one more copy of the selected object" +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2221 -msgid "Decrease copies" +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2221 -msgid "Remove one copy of the selected object" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2224 -msgid "Set number of copies…" +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2224 -msgid "Change the number of copies of the selected object" +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2228 -msgid "Rotate 45° clockwise" +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2228 -msgid "Rotate the selected object by 45° clockwise" +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2231 -msgid "Rotate 45° counter-clockwise" +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2231 -msgid "Rotate the selected object by 45° counter-clockwise" +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2236 -msgid "Rotate" +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2236 -msgid "Rotate the selected object by an arbitrary angle" +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2238 -msgid "Around X axis…" +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2238 -msgid "Rotate the selected object by an arbitrary angle around X axis" +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2241 -msgid "Around Y axis…" +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2241 -msgid "Rotate the selected object by an arbitrary angle around Y axis" +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2244 -msgid "Around Z axis…" +#: src/libslic3r/PrintConfig.cpp:3031 +msgid "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2244 -msgid "Rotate the selected object by an arbitrary angle around Z axis" +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2249 -msgid "Mirror" +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2249 -msgid "Mirror the selected object" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2251 lib/Slic3r/GUI/Plater.pm:2267 -#: lib/Slic3r/GUI/Plater.pm:2283 -msgid "Along X axis…" +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2251 -msgid "Mirror the selected object along the X axis" +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2254 lib/Slic3r/GUI/Plater.pm:2270 -#: lib/Slic3r/GUI/Plater.pm:2286 -msgid "Along Y axis…" +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2254 -msgid "Mirror the selected object along the Y axis" +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2257 lib/Slic3r/GUI/Plater.pm:2273 -#: lib/Slic3r/GUI/Plater.pm:2289 -msgid "Along Z axis…" +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2257 -msgid "Mirror the selected object along the Z axis" +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2262 lib/Slic3r/GUI/Plater.pm:2278 -msgid "Scale the selected object along a single axis" +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2264 lib/Slic3r/GUI/Plater.pm:2280 -msgid "Uniformly…" +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2264 lib/Slic3r/GUI/Plater.pm:2280 -msgid "Scale the selected object along the XYZ axes" +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2267 lib/Slic3r/GUI/Plater.pm:2283 -msgid "Scale the selected object along the X axis" +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2270 lib/Slic3r/GUI/Plater.pm:2286 -msgid "Scale the selected object along the Y axis" +#: src/libslic3r/PrintConfig.cpp:3076 +msgid "" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2273 lib/Slic3r/GUI/Plater.pm:2289 -msgid "Scale the selected object along the Z axis" +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2278 -msgid "Scale to size" +#: src/libslic3r/PrintConfig.cpp:3082 +msgid "" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2293 -msgid "Split the selected object into individual parts" +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2296 -msgid "Open the 3D cutting tool" +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2300 -msgid "Open the object editor dialog" +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2304 -msgid "Reload from Disk" +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2304 -msgid "Reload the selected file from Disk" +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2307 -msgid "Export object as STL…" +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2307 -msgid "Export this single object as STL file" +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2311 -msgid "Fix STL through Netfabb" +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2311 -msgid "" -"Fix the model by sending it to a Netfabb cloud service through Windows 10 API" +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" msgstr "" -#: lib/Slic3r/GUI/Plater/2D.pm:131 -msgid "What do you want to print today? ™" +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." msgstr "" -#: lib/Slic3r/GUI/Plater/2D.pm:132 -msgid "Drag your objects here" +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:69 -msgid "1 Layer" +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 -msgid "View" +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:78 -msgid "Volumetric flow rate" +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:85 -msgid "Show" +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:88 lib/Slic3r/GUI/Plater/3DPreview.pm:89 -msgid "Feature types" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:106 -msgid "Retractions" +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, possible-c-format +msgid "up to %.2f mm" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:107 -msgid "Unretractions" +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, possible-c-format +msgid "above %.2f mm" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:108 -msgid "Shells" +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, possible-c-format +msgid "%.2f - %.2f mm" msgstr "" diff --git a/resources/localization/cs_CZ/Slic3rPE.mo b/resources/localization/cs_CZ/Slic3rPE.mo index d3a1d8e84ecb1c3c13aaee32f3dda50c6e718458..b6ce714111179630520ee6712d7f0332488cc2ff 100644 GIT binary patch delta 22733 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 delta 27976 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 diff --git a/resources/localization/cs_CZ/Slic3rPE_cs.po b/resources/localization/cs_CZ/Slic3rPE_cs.po index 597f5d8495d..f287861572f 100644 --- a/resources/localization/cs_CZ/Slic3rPE_cs.po +++ b/resources/localization/cs_CZ/Slic3rPE_cs.po @@ -1,2184 +1,2112 @@ msgid "" msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-17 13:39+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: Oleksandra Iushchenko \n" +"Language-Team: \n" "Language: cs_CZ\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==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Poedit 2.0.8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Oleksandra Iushchenko \n" -"Language-Team: \n" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"a má neuložené následující změny:" +#: src/slic3r/GUI/AboutDialog.cpp:33 +msgid "About Slic3r" +msgstr "O Slic3ru" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1491 -msgid "" -"\n" -"\n" -"Discard changes and continue anyway?" -msgstr "" -"\n" -"\n" -"Zahodit změny a přesto pokračovat?" +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 +msgid "Version" +msgstr "Verze" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1489 -msgid "" -"\n" -"\n" -"has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"má neuložené následující změny:" +#: src/slic3r/GUI/BedShapeDialog.cpp:43 +msgid "Shape" +msgstr "Tvar" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" -msgstr "" -"\n" -"\n" -"není kompatibilní s tiskárnou\n" +#: src/slic3r/GUI/BedShapeDialog.cpp:50 +msgid "Rectangular" +msgstr "Obdélníkový" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:34 -msgid "" -"\n" -"During the other layers, fan " -msgstr "" -"\n" -"V průběhu ostaních vrstev, ventilátor " +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 +msgid "Size" +msgstr "Rozměr" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:30 -#, 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%%." -msgstr "" -"\n" -"Pokud je odhadovaný čas vrstvy delší, ale stále pod ~% ds, bude ventilátor pracovat s plynule klesající rychlostí mezi %d%% a %d%%." +#: src/slic3r/GUI/BedShapeDialog.cpp:55 +msgid "Size in X and Y of the rectangular plate." +msgstr "Rozměr obdélníkové tiskové podložky v ose X a Y." + +#: src/slic3r/GUI/BedShapeDialog.cpp:61 +msgid "Origin" +msgstr "Počátek" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:927 +#: src/slic3r/GUI/BedShapeDialog.cpp:62 msgid "" -"\n" -"Non-positive value." -msgstr "" -"\n" -"Nezáporná hodnota." +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." +msgstr "Vzdálenost souřadnice 0,0 G-code od předního levého rohu obdélníku." + +#: src/slic3r/GUI/BedShapeDialog.cpp:66 +msgid "Circular" +msgstr "Kruhový" + +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 +msgid "mm" +msgstr "mm" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:928 +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 +msgid "Diameter" +msgstr "Průměr" + +#: src/slic3r/GUI/BedShapeDialog.cpp:71 msgid "" -"\n" -"Not a numeric value." +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." msgstr "" -"\n" -"Nečíselná hodnota." +"Průměr tiskové podložky. Přepokládaný počátek (0,0) je umístěn uprostřed." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid " - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr " - Nezapomeňte zkontrolovat aktualizace na http://github.com/prusa3d/slic3r/releases" +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 +msgid "Custom" +msgstr "Vlastní" -# Used in this context: _("Save ") + title + _(" as:") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -msgid " as:" -msgstr " jako:" +#: src/slic3r/GUI/BedShapeDialog.cpp:79 +msgid "Load shape from STL..." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:226 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " při rychlosti filamentu %3.2f mm/s." +#: src/slic3r/GUI/BedShapeDialog.cpp:125 +msgid "Settings" +msgstr "Nastavení" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1035 -msgid " Browse " -msgstr " Procházet " +#: src/slic3r/GUI/BedShapeDialog.cpp:298 +msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "" +"Vyberte soubor pro import tvaru tiskové podložky z (STL/OBJ/AMF/3MF/PRUSA):" -# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid " file as:" -msgstr " soubor jako:" +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 +msgid "Error! " +msgstr "Chyba! " -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:215 -msgid " flow rate is maximized " -msgstr " průtok je maximalizován " +#: src/slic3r/GUI/BedShapeDialog.cpp:324 +msgid "The selected file contains no geometry." +msgstr "Vybraný soubor neobsahuje geometrii." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -#, no-c-format +#: src/slic3r/GUI/BedShapeDialog.cpp:328 msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +"The selected file contains several disjoint areas. This is not supported." msgstr "" -" vzor výplně není určen pro práci se 100% hustotou.\n" -"\n" -"Mám přejít na vzor výplně rectilinear?" +"Vybraný soubor obsahuje několik nespojených ploch. Tato možnost není " +"podporována." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1470 -msgid " preset\n" -msgstr " přednastavení\n" +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape" +msgstr "Tvar tiskové podložky" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid " preset" -msgstr " přednastavení" +#: src/slic3r/GUI/BonjourDialog.cpp:54 +msgid "Network lookup" +msgstr "Hledání v síti" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1583 -msgid " Preset" -msgstr " Přednastavení" +#: src/slic3r/GUI/BonjourDialog.cpp:67 +msgid "Address" +msgstr "Adresa" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:942 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1637 -msgid " Set " -msgstr " Nastavit " +#: src/slic3r/GUI/BonjourDialog.cpp:68 +msgid "Hostname" +msgstr "Název hosta" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid " the selected preset?" -msgstr " zvolené přednastavení?" +#: src/slic3r/GUI/BonjourDialog.cpp:69 +msgid "Service name" +msgstr "Název služby" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:548 -msgid " was successfully sliced." -msgstr " byl úspěšně slicován." +#: src/slic3r/GUI/BonjourDialog.cpp:70 +msgid "OctoPrint version" +msgstr "Verze OctoPrintu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:220 -msgid " with a volumetric rate " -msgstr " s objemovou rychlostí " +#: src/slic3r/GUI/BonjourDialog.cpp:188 +msgid "Searching for devices" +msgstr "Hledám zařízení" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:99 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:504 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:789 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:850 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1060 -msgid "%" -msgstr "%" +#: src/slic3r/GUI/BonjourDialog.cpp:195 +msgid "Finished" +msgstr "Dokončeno" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:224 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f mm³/s" +#: src/slic3r/GUI/ButtonsDescription.cpp:15 +msgid "Buttons And Text Colors Description" +msgstr "Barvy pro textové popisky a tlačítka" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1958 -#, perl-format -msgid "%d (%d shells)" -msgstr "%d (%d obalů)" +#: src/slic3r/GUI/ButtonsDescription.cpp:40 +msgid "Value is the same as the system value" +msgstr "Hodnota je shodná se systémovou hodnotou" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1965 -#, perl-format -msgid "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d facets reversed, %d backwards edges" -msgstr "%d poškozených faset, %d okrajů opraveno, %d faset odstraněno, %d faset přidáno, %d faset navráceno, %d zadních okrajů" +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" +"Hodnota byla změněna a není shodná se systémovou hodnotou nebo naposled " +"uloženým přednastavením" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:269 -#, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d linie: %.2lf mm" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 +msgid "Upgrade" +msgstr "Aktualizovat" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:687 -#, perl-format -msgid "%d presets successfully imported." -msgstr "%d přednastavení úspěšně importováno." +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 +msgid "Downgrade" +msgstr "Downgrade" -#: xs/src/slic3r/GUI/Field.cpp:102 -#, c-format -msgid "%s doesn't support percentage" -msgstr "%s nepodporuje procenta" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 +msgid "Before roll back" +msgstr "Before roll back" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "&About Slic3r" -msgstr "&O Slic3ru" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 +msgid "User" +msgstr "Uživatel" -#: xs/src/slic3r/GUI/GUI.cpp:466 -msgid "&Configuration" -msgstr "&Konfigurace" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 +msgid "Unknown" +msgstr "Neznámý" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "&Export Config Bundle…" -msgstr "&Exportovat Konfigurační Balík…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 +msgid "Active: " +msgstr "Aktivní: " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "&Export Config…\tCtrl+E" -msgstr "&Exportovat Konfiguraci…\tCtrl+E" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +msgid "slic3r version" +msgstr "verze slic3ru" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:418 -msgid "&File" -msgstr "&Soubor" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 +msgid "print" +msgstr "tisk" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:791 -msgid "&Finish" -msgstr "&Dokončit" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +msgid "filaments" +msgstr "filamenty" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:426 -msgid "&Help" -msgstr "&Pomoc" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 +msgid "printer" +msgstr "tiskárna" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "&Load Config Bundle…" -msgstr "&Načíst Konfigurační Balík…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 +msgid "vendor" +msgstr "prodejce" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "&Load Config…\tCtrl+L" -msgstr "&Načíst Konfiguraci…\tCtrl+L" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +msgid "version" +msgstr "verze" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:420 -msgid "&Object" -msgstr "&Objekt" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 +msgid "min slic3r version" +msgstr "min verze slic3ru" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:419 -msgid "&Plater" -msgstr "&Podložka" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 +msgid "max slic3r version" +msgstr "max verze slic3ru" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "&Quit" -msgstr "&Ukončit" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "model" +msgstr "model" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" -msgstr "&Opakovat Poslední Slicování\tCtrl+Shift+U" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "variants" +msgstr "varianty" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:422 -msgid "&View" -msgstr "&Zobrazení" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 +msgid "Incompatible with this Slic3r" +msgstr "Nekompatibilní s tímto Slic3rem" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:421 -msgid "&Window" -msgstr "&Okno" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 +msgid "Activate" +msgstr "Aktivovat" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "(&Re)Slice Now\tCtrl+S" -msgstr "(&Znovu)Slicovat\tCtrl+S" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 +msgid "Configuration Snapshots" +msgstr "Záloha konfigurace" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:994 -msgid "(minimum)" -msgstr "(minimálně)" +#: src/slic3r/GUI/ConfigWizard.cpp:92 +msgid "nozzle" +msgstr "tryska" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid ") not found." -msgstr ") nebyl nalezen." +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid ". Discard changes and continue anyway?" -msgstr ". Zahodit změny a přesto pokračovat?" +#: src/slic3r/GUI/ConfigWizard.cpp:116 +msgid "Select all" +msgstr "Vybrat vše" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:63 -msgid "1 Layer" -msgstr "1 Vrstva" +#: src/slic3r/GUI/ConfigWizard.cpp:117 +msgid "Select none" +msgstr "Odznačit vše" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:138 -msgid "2D" -msgstr "2D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +#, c-format +msgid "Welcome to the Slic3r %s" +msgstr "Vítejte v Slic3r %s" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:104 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2124 -msgid "3D" -msgstr "3D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +msgid "Welcome" +msgstr "Vítejte" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1608 -msgid "3MF file exported to " -msgstr "Soubor 3MF byl exportován do " +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 +#, c-format +msgid "Run %s" +msgstr "Spustit %s" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:185 -msgid "45° ccw" -msgstr "45° doleva" +#: src/slic3r/GUI/ConfigWizard.cpp:234 +#, 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." +msgstr "" +"Zdravím, vítejte ve Slic3r Prusa Edition! Tento %s vám pomůže se základní " +"konfigurací; jen několik nastavení a budete připraveni k tisku." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:186 -msgid "45° cw" -msgstr "45° doprava" +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" +msgstr "" +"Odstranit uživatelské profily - čistá instalace (nejprve bude provedena " +"záloha)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:148 -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 "Logický výraz může používat konfigurační hodnoty aktivního profilu tiskárny. Pokud je tento logický výraz pravdivý, potom je tento profil považován za kompatibilní s aktivním profilem tiskárny." +#: src/slic3r/GUI/ConfigWizard.cpp:263 +msgid "Other vendors" +msgstr "Ostatní prodejci" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:480 -msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." -msgstr "Obecným pravidlem je 160 až 230° pro PLA a 215 až 250° pro ABS." +#: src/slic3r/GUI/ConfigWizard.cpp:265 +msgid "Custom setup" +msgstr "Vlastní nastavení" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 -msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." -msgstr "Obecným pravidlem je 160 až 230° pro PLA a 215 až 250° pro ABS. Zadejte nula, pokud nemáte vyhřívanou podložku." +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Automatic updates" +msgstr "Automatické aktualizace" -#: xs/src/slic3r/GUI/AboutDialog.cpp:32 -msgid "About Slic3r" -msgstr "O Slic3ru" +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Updates" +msgstr "Aktualizace" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1099 -msgid "Above Z" -msgstr "Nad Z" +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 +msgid "Check for application updates" +msgstr "Zkontrolovat aktualizace aplikace" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:417 -msgid "Acceleration control (advanced)" -msgstr "Kontrola akcelerací (pokročilé)" +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" +"Pokud je povoleno, kontroluje Slic3r nově dostupné verze Slic3r PE. V " +"případě, že je nová verze k dispozici, zobrazí se notifikace při dalším " +"startu programu (nikdy během užívání aplikace). Tento systém slouží pouze " +"pro upozornění uživatele, nedochází k automatické instalaci." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 -msgid "Activate" -msgstr "Aktivovat" +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 +msgid "Update built-in Presets automatically" +msgstr "Aktualizovat vestavěné přednastavení automaticky" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 -msgid "Active: " -msgstr "Aktivní: " +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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 "" +"Pokud je povoleno, stáhne Slic3r na pozadí aktualizace vestavěných " +"systémových přednastavení. Tyto aktualizace jsou staženy do dočasného " +"umístění. Pokud je k dispozici nové přednastavení, zobrazí se upozornění při " +"startu programu." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1566 -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 "Přidá pouzdro (jednu obvodovou čáru) kolem podpor. Díky tomu je podpora spolehlivější, ale také obtížnější na odstranění." +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" +"Aktualizace nejsou nikdy nainstalovány bez vědomí uživatele a nikdy " +"nepřepíšou upravená uživatelská nastavení." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:299 -#, no-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." -msgstr "Přidání více perimetrů, pokud je potřeba, pro vyvarování se tvorbě mezer v šikmých plochách. Slic3r pokračuje v přidávání perimetrů, dokud není podepřeno více než 70% perimetrů v následující vrstvě." +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." +msgstr "" +"Dále je před nainstalováním aktualizace vytvořena záloha veškerého nastavení." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:240 -msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)." -msgstr "Přidá plnou výplň u šikmých ploch pro garanci tloušťky svislých stěn (vrchních a spodních plných vrstev)." +#: src/slic3r/GUI/ConfigWizard.cpp:320 +msgid "Other Vendors" +msgstr "Ostatní výrobci" -#: xs/src/slic3r/GUI/Tab.cpp:754 -msgid "Additional information:" -msgstr "Doplňující informace:" +#: src/slic3r/GUI/ConfigWizard.cpp:322 +msgid "Pick another vendor supported by Slic3r PE:" +msgstr "Vyberte si jiného prodejce podporovaného v Slic3r PE:" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:288 -msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied." -msgstr "Dále je před nainstalováním aktualizace vytvořena záloha veškerého nastavení." +#: src/slic3r/GUI/ConfigWizard.cpp:381 +msgid "Firmware Type" +msgstr "Typ firmware" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 -msgid "Address" -msgstr "Adresa" +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 +msgid "Firmware" +msgstr "Firmware" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:177 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:195 -msgid "Add…" -msgstr "Přidat…" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:342 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:356 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:449 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:452 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:831 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:107 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:208 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:736 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1733 -msgid "Advanced" -msgstr "Pokročilé" +#: src/slic3r/GUI/ConfigWizard.cpp:385 +msgid "Choose the type of firmware used by your printer." +msgstr "Vyberte typ firmware používaný vaší tiskárnou." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:319 -msgid "Advanced: avrdude output log" -msgstr "Pokročilé: výstupní log avrdude" +#: src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape and Size" +msgstr "Tvar a rozměr podložky" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1138 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:766 -msgid "After layer change G-code" -msgstr "G-code po změně vrstvy" +#: src/slic3r/GUI/ConfigWizard.cpp:422 +msgid "Set the shape of your printer's bed." +msgstr "Nastavte tvar vaší tiskové podložky." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1636 -msgid "All" -msgstr "Vše" +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Filament and Nozzle Diameters" +msgstr "Průměry filamentu a trysky" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Along X axis…" -msgstr "Podél osy X…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Along Y axis…" -msgstr "Podél osy Y…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Along Z axis…" -msgstr "Podél osy Z…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1592 -msgid "AMF file exported to " -msgstr "Soubor AMF byl exportován do " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Another export job is currently running." -msgstr "V současné době běží jiná úloha exportu." +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Print Diameters" +msgstr "Průměry tisku" -#: xs/src/slic3r/GUI/Tab.cpp:749 -msgid "Any modifications should be saved as a new preset inherited from this one. " -msgstr "Jakékoliv úpravy by měly být uloženy jako nové přednastavení zděděná z tohoto. " +#: src/slic3r/GUI/ConfigWizard.cpp:452 +msgid "Enter the diameter of your printer's hot end nozzle." +msgstr "Zadejte průměr trysky hotendu vaší tiskárny." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:901 -msgid "API Key" -msgstr "Klíč API" +#: src/slic3r/GUI/ConfigWizard.cpp:455 +msgid "Nozzle Diameter:" +msgstr "Průměr trysky:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:299 -msgid "Application preferences" -msgstr "Nastavení aplikace" +#: src/slic3r/GUI/ConfigWizard.cpp:465 +msgid "Enter the diameter of your filament." +msgstr "Zadejte průměr vašeho filamentu." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Application will be restarted" -msgstr "Aplikace bude restartována" +#: src/slic3r/GUI/ConfigWizard.cpp:466 +msgid "" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." +msgstr "" +"Je zapotřebí velká přesnost, proto použijte posuvné měřítko (šupleru) a " +"proveďte několik měření po délce filamentu, poté vypočítejte průměr." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:397 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1242 -msgid "approximate seconds" -msgstr "vteřin přibližně" +#: src/slic3r/GUI/ConfigWizard.cpp:469 +msgid "Filament Diameter:" +msgstr "Průměr filamentu:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid "Are you sure you want to " -msgstr "Jste si jistý že chcete " +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Extruder and Bed Temperatures" +msgstr "Teploty extruderu a podložky" + +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Temperatures" +msgstr "Teploty" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:365 +#: src/slic3r/GUI/ConfigWizard.cpp:503 +msgid "Enter the temperature needed for extruding your filament." +msgstr "Zadejte požadovanou teplotu pro extruzi vašeho filamentu." + +#: src/slic3r/GUI/ConfigWizard.cpp:504 +msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." +msgstr "Obecným pravidlem je 160 až 230° pro PLA a 215 až 250° pro ABS." + +#: src/slic3r/GUI/ConfigWizard.cpp:507 +msgid "Extrusion Temperature:" +msgstr "Teplota extruze:" + +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 +msgid "°C" +msgstr "°C" + +#: src/slic3r/GUI/ConfigWizard.cpp:517 msgid "" -"Are you sure you want to cancel firmware flashing?\n" -"This could leave your printer in an unusable state!" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." msgstr "" -"Opravdu chcete ukončit nahrávání firmware?\n" -"Tiskárna může zůstat v nefunkčním stavu!" +"Zadejte požadovanou teplotu filamentu, aby se spojil s vyhřívanou podložkou." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Around X axis…" -msgstr "Okolo osy X…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Around Y axis…" -msgstr "Okolo osy Y…" +#: src/slic3r/GUI/ConfigWizard.cpp:518 +msgid "" +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " +"no heated bed." +msgstr "" +"Obecným pravidlem je 160 až 230° pro PLA a 215 až 250° pro ABS. Zadejte " +"nula, pokud nemáte vyhřívanou podložku." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Around Z axis…" -msgstr "Okolo osy Z…" +#: src/slic3r/GUI/ConfigWizard.cpp:521 +msgid "Bed Temperature:" +msgstr "Teplota tiskové podložky:" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:180 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:198 -msgid "Arrange" -msgstr "Uspořádat" +#: src/slic3r/GUI/ConfigWizard.cpp:833 +msgid "< &Back" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:224 -msgid "Array of language names and identifiers should have the same size." -msgstr "Pole jazykových jmen a identifikátorů by měla mít stejnou velikost." +#: src/slic3r/GUI/ConfigWizard.cpp:834 +msgid "&Next >" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:688 -msgid "Attempt to free unreferenced scalar" -msgstr "Attempt to free unreferenced scalar" +#: src/slic3r/GUI/ConfigWizard.cpp:835 +msgid "&Finish" +msgstr "&Dokončit" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Attention!" -msgstr "Pozor!" +#: src/slic3r/GUI/ConfigWizard.cpp:906 +msgid "Configuration Wizard" +msgstr "Průvodce nastavením" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:35 -msgid "Auto-center parts" -msgstr "Auto-centrování objektů" +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "Průvodce &nastavením" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1960 -#, perl-format -msgid "Auto-repaired (%d errors)" -msgstr "Automaticky opraveno (%d errors)" +#: src/slic3r/GUI/ConfigWizard.cpp:909 +msgid "Configuration Assistant" +msgstr "Průvodce nastavení tiskárny" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Automatic updates" -msgstr "Automatické aktualizace" +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "Průvodce &nastavení tiskárny" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Automatically repair an STL file" -msgstr "Automaticky opravit STL soubor" +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:424 -msgid "Autospeed (advanced)" -msgstr "Automatická rychlost (pokročilé)" +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:26 -msgid "Avoid crossing perimeters" -msgstr "Vyhnout se přejíždění perimetrů" +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "%s nepodporuje procenta" -#: xs/src/slic3r/GUI/Tab.cpp:2491 +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 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." +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" 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í." -#: xs/src/slic3r/GUI/Tab.cpp:2505 +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "Zadaná hodnota je mimo rozsah" + +#: src/slic3r/GUI/Field.cpp:176 +#, c-format 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." +"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." 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í." -#: xs/src/slic3r/GUI/Tab.cpp:2455 -msgid "" -"BACK ARROW;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 "ŠIPKA 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í. 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/Field.cpp:179 +msgid "Parameter validation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:43 -msgid "Background processing" -msgstr "Zpracování na pozadí" +#: src/slic3r/GUI/FirmwareDialog.cpp:133 +msgid "Flash!" +msgstr "Nahrát!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:800 -msgid "Bed" -msgstr "Tisková podložka" +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 +msgid "Cancel" +msgstr "Zrušit" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.hpp:42 -msgid "Bed Shape" -msgstr "Tvar tiskové podložky" +#: src/slic3r/GUI/FirmwareDialog.cpp:135 +msgid "Flashing in progress. Please do not disconnect the printer!" +msgstr "Probíhá nahrávání firmware. Prosím neodpojujte tiskárnu!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:940 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:34 -msgid "Bed shape" -msgstr "Tvar tiskové podložky" +#: src/slic3r/GUI/FirmwareDialog.cpp:245 +msgid "Flashing succeeded!" +msgstr "Nahrávání bylo úspěšné!" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:395 -msgid "Bed Shape and Size" -msgstr "Tvar a rozměr podložky" +#: src/slic3r/GUI/FirmwareDialog.cpp:246 +msgid "Flashing failed. Please see the avrdude log below." +msgstr "Nahrání selhalo. Projděte si prosím avrdude log níže." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:42 -msgid "Bed temperature" -msgstr "Teplota tiskové podložky" +#: src/slic3r/GUI/FirmwareDialog.cpp:247 +msgid "Flashing cancelled." +msgstr "Nahrávání zrušeno." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:39 -msgid "Bed temperature for layers after the first one. Set this to zero to disable bed temperature control commands in the output." -msgstr "Teplota tiskové podložky pro další vrstvy po první vrstvě. Nastavením na hodnotu nula vypnete ovládací příkazy teploty tiskové podložky ve výstupu." +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 -msgid "Bed Temperature:" -msgstr "Teplota tiskové podložky:" +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1132 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:48 -msgid "Before layer change G-code" -msgstr "G-code před změnou vrstvy" +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 -msgid "Before roll back" -msgstr "Before roll back" +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1108 -msgid "Below Z" -msgstr "Pod Z" +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:59 -msgid "Between objects G-code" -msgstr "G-code mezi objekty" +#: src/slic3r/GUI/FirmwareDialog.cpp:690 +msgid "Firmware flasher" +msgstr "Nahrání firmware" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1150 -msgid "Between objects G-code (for sequential printing)" -msgstr "G-code mezi objekty (pro sekvenční tisk)" +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "Soubor s firmware:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:68 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom" -msgstr "Spodních" +#: src/slic3r/GUI/FirmwareDialog.cpp:716 +msgid "Serial port:" +msgstr "Sériový port:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:72 -msgid "Bottom solid layers" -msgstr "Plné spodní vrstvy" +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom View" -msgstr "Pohled zespod" +#: src/slic3r/GUI/FirmwareDialog.cpp:719 +msgid "Rescan" +msgstr "Prohledat" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:77 -msgid "Bridge" -msgstr "Most" +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" +msgstr "Průběh:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:106 -msgid "Bridge flow ratio" -msgstr "Poměr průtoku při vytváření mostů" +#: src/slic3r/GUI/FirmwareDialog.cpp:729 +msgid "Status:" +msgstr "Stav:" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:144 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:86 -msgid "Bridge infill" -msgstr "Výplň mostů" +#: src/slic3r/GUI/FirmwareDialog.cpp:730 +msgid "Ready" +msgstr "Připraveno" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:117 -msgid "Bridges" -msgstr "Mosty" +#: src/slic3r/GUI/FirmwareDialog.cpp:750 +msgid "Advanced: avrdude output log" +msgstr "Pokročilé: výstupní log avrdude" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:97 -msgid "Bridges fan speed" -msgstr "Rychlost ventilátoru při vytváření mostů" +#: src/slic3r/GUI/FirmwareDialog.cpp:809 +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!" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:86 -msgid "Bridging angle" -msgstr "Úhel vytváření mostů" +#: src/slic3r/GUI/FirmwareDialog.cpp:810 +msgid "Confirmation" +msgstr "Potvrzení" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:88 -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." -msgstr "Přepsání úhlu vytváření mostů. Nastavením hodnoty na nulu se bude úhel vytváření mostů vypočítávat automaticky. Při zadání jiného úhlu, bude pro všechny mosty použitý zadaný úhel. Pro nulový úhel zadejte 180°." +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Bridging volumetric" -msgstr "Volumetrická hodnota mostů" +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 +msgid "Detected object outside print volume" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:371 -msgid "Brim" -msgstr "Límec" +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:127 -msgid "Brim width" -msgstr "Šířka límce" +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "Otočit" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 -msgid "Buttons And Text Colors Description" -msgstr "Barvy pro textové popisky a tlačítka" +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:218 -msgid "by the print profile maximum" -msgstr "maximem pro profil tisku" +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "Měřítko" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:85 -msgid "Cancel" -msgstr "Zrušit" +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:213 -msgid "Cancelling..." -msgstr "Ukončování..." +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2124 -msgid "Cannot overwrite a system profile." -msgstr "Nelze přepsat systémový profil." +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2128 -msgid "Cannot overwrite an external profile." -msgstr "Nelze přepsat externí profil." +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:962 -msgid "Capabilities" -msgstr "Možnosti" +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Capture a configuration snapshot" -msgstr "Vytvořit aktuální zálohu konfigurace" +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1597 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "Soubory s certifikátem (*.crt, *.pem)|*.crt;*.pem|Všechny soubory|*.*" +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:325 -msgid "Change Application Language" -msgstr "Změnit jazyk aplikace" +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Change the number of copies of the selected object" -msgstr "Změňte počet kopií vybraného objektu" +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:272 xs/src/slic3r/GUI/Preferences.cpp:59 -msgid "Check for application updates" -msgstr "Zkontrolovat aktualizace aplikace" +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:298 -msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Vyberte soubor pro import tvaru tiskové podložky z (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:457 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Zvolit soubor ke slicování (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI.pm:286 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Vyberte jeden nebo více souborů (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:360 -msgid "Choose the type of firmware used by your printer." -msgstr "Vyberte typ firmware používaný vaší tiskárnou." +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "Řezat" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:62 -msgid "Circular" -msgstr "Kruhový" +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:135 -msgid "Clip multi-part objects" -msgstr "Připnutí objektů z více částí k sobě" +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:405 -msgid "Color" -msgstr "Barva" +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "Oznámení" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:690 -msgid "Combine infill every" -msgstr "Kombinovat výplň každou" +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "Attempt to free unreferenced scalar" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:696 -msgid "Combine infill every n layers" -msgstr "Kombinovat výplň každou n vrstvu" +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "Varování" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:509 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:869 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1668 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:143 -msgid "Compatible printers" -msgstr "Kompatibilní tiskárny" +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:147 -msgid "Compatible printers condition" -msgstr "Stav kompatibilních tiskáren" +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Vyberte jeden nebo více souborů (STL/OBJ/AMF/3MF/PRUSA):" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:154 -msgid "Complete individual objects" -msgstr "Dokončení individuálních objektů" +#: src/slic3r/GUI/GUI_App.cpp:451 +msgid "Array of language names and identifiers should have the same size." +msgstr "Pole jazykových jmen a identifikátorů by měla mít stejnou velikost." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:846 -msgid "Configuration Assistant" -msgstr "Průvodce nastavení tiskárny" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Select the language" +msgstr "Výběr jazyka" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:884 -msgid "Configuration notes" -msgstr "Konfigurační poznámky" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Language" +msgstr "Jazyk" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Configuration Snapshots" -msgstr "Záloha konfigurace" +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 +msgid "Default" +msgstr "Výchozí" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 -msgid "Configuration update" -msgstr "Aktualizace nastavení" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "Záloha &Konfigurace" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -msgid "Configuration update is available" -msgstr "Je k dispozici aktualizace nastavení" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "Inspect / activate configuration snapshots" +msgstr "Zkontrolovat / aktivovat zálohy konfigurace" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:844 -msgid "Configuration Wizard" -msgstr "Průvodce nastavením" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" +msgstr "Provést &Zálohu Konfigurace" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:366 -msgid "Confirmation" -msgstr "Potvrzení" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Capture a configuration snapshot" +msgstr "Vytvořit aktuální zálohu konfigurace" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1020 -msgid "Connection failed." -msgstr "Připojení selhalo." +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" +msgstr "&Nastavení" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:211 -msgid "Connection to OctoPrint works correctly." -msgstr "Připojení k OctoPrint pracuje správně." +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "Application preferences" +msgstr "Nastavení aplikace" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Connection to printer works correctly." -msgstr "Připojení k tiskárně pracuje správně." +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1416 -msgid "Contact Z distance" -msgstr "Mezera mezi podporami a objektem v ose Z" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple View Mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:120 -msgid "Controller" -msgstr "Ovladač" +#: src/slic3r/GUI/GUI_App.cpp:617 src/slic3r/GUI/GUI_ObjectList.cpp:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "Pokročilé" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:805 -msgid "Cooling" -msgstr "Chlazení" +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:826 -msgid "Cooling thresholds" -msgstr "Podmínky chlazení" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:178 -msgid "Cooling tube length" -msgstr "Délka chladící trubičky" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:170 -msgid "Cooling tube position" -msgstr "Pozice chladící trubičky" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:221 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Copies" -msgstr "Kopií" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:476 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:450 -msgid "Cost" -msgstr "Náklady" +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" +msgstr "Změnit &jazyk aplikace" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Could not connect to OctoPrint" -msgstr "Nelze se spojit s OctoPrintem" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" +msgstr "Nahrát &firmware tiskárny" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1465 -msgid "Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "Zakrýt smyčkami horní kontaktní vrstvu podpor. Ve výchozím nastavení zakázáno." +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Upload a firmware image into an Arduino based printer" +msgstr "Nahrát firmware do tiskárny s Arduinem" -#: xs/src/slic3r/GUI/Tab.cpp:743 -msgid "Current preset is inherited from " -msgstr "Aktuální nastavení je zděděno od " +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Taking configuration snapshot" +msgstr "Ukládání zálohy nastavení" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 -msgid "Current version:" -msgstr "Aktuální verze:" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Snapshot name" +msgstr "Název zálohy" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:71 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:92 -msgid "Custom" -msgstr "Vlastní" +#: src/slic3r/GUI/GUI_App.cpp:674 +msgid "Application will be restarted" +msgstr "Aplikace bude restartována" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:846 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1119 -msgid "Custom G-code" -msgstr "Vlastní G-code" +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 +msgid "Attention!" +msgstr "Pozor!" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:240 -msgid "Custom setup" -msgstr "Vlastní nastavení" +#: src/slic3r/GUI/GUI_App.cpp:691 +msgid "&Configuration" +msgstr "&Konfigurace" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:189 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:205 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Cut…" -msgstr "Řezat…" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "You have unsaved changes " +msgstr "Máte neuložené změny " -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Decrease copies" -msgstr "Odebrat kopie" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid ". Discard changes and continue anyway?" +msgstr ". Zahodit změny a přesto pokračovat?" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:300 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:170 -msgid "Default" -msgstr "Výchozí" +#: src/slic3r/GUI/GUI_App.cpp:712 +msgid "Unsaved Presets" +msgstr "Neuložená Přednastavení" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid "Default " -msgstr "Výchozí " +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "Vrstvy a perimetry" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Field.cpp:42 -msgid "default" -msgstr "výchozí" +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "Výplň" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:489 -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." -msgstr "Výchozí úhel pro orientaci výplně. Bude pro něj použito křížové šrafování. Mosty budou vyplněny nejlepším směrem, který Slic3r dokáže rozpoznat, takže toto nastavení je neovlivní." +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "Podpory" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:376 -msgid "Default extrusion width" -msgstr "Výchozí šířka extruze" +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "Rychlost" -#: xs/src/libslic3r/PrintConfig.cpp:196 -msgid "Default filament profile" -msgstr "Výchozí profil filamentu" +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "Extruder" -#: xs/src/slic3r/GUI/Tab.cpp:767 -msgid "default filament profile" -msgstr "výchozí profil filamentu" +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "Šíře extruze" -#: xs/src/libslic3r/PrintConfig.cpp:197 -msgid "Default filament profile associated with the current printer profile. On selection of the current printer profile, this filament profile will be activated." -msgstr "Výchozí materiálový profil spojený se současným profilem tiskárny. Při výběru současného profilu tiskárny se aktivuje tento materiálový profil." +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2287 xs/src/slic3r/GUI/Tab.cpp:2373 -msgid "Default presets" -msgstr "Výchozí přednastavení" +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:202 -msgid "Default print profile" -msgstr "Výchozí tiskový profil" +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "Název" -#: xs/src/slic3r/GUI/Tab.cpp:764 -msgid "default print profile" -msgstr "výchozí tiskový profil" +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:203 -msgid "Default print profile associated with the current printer profile. On selection of the current printer profile, this print profile will be activated." -msgstr "Výchozí tiskový profil spojený se současným profilem tiskárny. Při výběru současného profilu tiskárny se aktivuje tento tiskový profil." +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1849 -msgid "degrees" -msgstr "stupňů" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:476 -msgid "Delay after unloading" -msgstr "Zpoždění po vyjmutí" +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "delete" -msgstr "smazat" +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:178 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:196 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Delete" -msgstr "Smazat" +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:179 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:197 -msgid "Delete All" -msgstr "Smazat Vše" +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:51 -msgid "Delete this preset" -msgstr "Smazat přednastavení" +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:440 -msgid "Density" -msgstr "Hustota" +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:503 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." -msgstr "Hustota vnitřní výplně, vyjádřená v rozmezí 0% až 100%." +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "Extruder" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:507 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:867 -msgid "Dependencies" -msgstr "Závislosti" +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1142 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1143 -msgid "Deretraction Speed" -msgstr "Rychlost deretrakce" +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:940 -msgid "Detect bridging perimeters" -msgstr "Detekovat perimetry přemostění" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1584 -msgid "Detect single-width walls (parts where two extrusions don't fit and we need to collapse them into a single trace)." -msgstr "Detekuje stěny o tlošťce jedné čáry (části, kam se dvě čáry nemohou vejít a je potřeba sloučit je do čáry jedné)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1582 -msgid "Detect thin walls" -msgstr "Detekovat tenké zdi" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:66 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:431 -msgid "Diameter" -msgstr "Průměr" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:67 -msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." -msgstr "Průměr tiskové podložky. Přepokládaný počátek (0,0) je umístěn uprostřed." +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1169 -msgid "Direction" -msgstr "Směr" +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:53 -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 "Zakázat komunikaci s tiskárnou přes sériový / USB kabel. To zjednodušuje uživatelské rozhraní v případě, že tiskárna není nikdy připojena k počítači." +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:180 -msgid "Disable fan for the first" -msgstr "Vypnutí chlazení pro prvních" +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:51 -msgid "Disable USB/serial connection" -msgstr "Vypnout USB/sériové připojení" +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:916 -msgid "Disables retraction when the travel path does not exceed the upper layer's perimeters (and thus any ooze will be probably invisible)." -msgstr "Vypne retrakce, pokud dráha nepřekročí perimetr vrchní vrstvy (a proto bude pravděpodobně jakékoliv odkapávání neviditelné)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:198 -msgid "Distance between copies" -msgstr "Vzdálenost mezi kopiemi" +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1213 -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 "Vzdálenost mezi obrysem a objektem (objekty). Nastavte tuto hodnotu na nulu, pro sloučení obrysu s předmětem (předměty) a tvorbu límce pro dosažení lepší přilnavosti." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1212 -msgid "Distance from object" -msgstr "Vzdálenost od objektu" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:58 -msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." -msgstr "Vzdálenost souřadnice 0,0 G-code od předního levého rohu obdélníku." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 +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." -#: xs/src/libslic3r/PrintConfig.cpp:171 -msgid "Distance of the center-point of the cooling tube from the extruder tip " -msgstr "Vzdálenost ze středu chladící trubičky ke špičce extruderu " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1032 -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 "Vzdálenost špičky extruderu od místa, kde je zaparkován filament při vytažení. Měla by se shodovat s hodnotou ve firmware tiskárny. " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:199 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "Vzdálenost, použitá pro funkci automatického rozmístění po podložce." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 -msgid "Don't notify about new releases any more" -msgstr "Neupozorňovat na nové verze" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:190 -msgid "Don't support bridges" -msgstr "Nevytvářet podpory pod mosty" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 -msgid "Downgrade" -msgstr "Downgrade" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:132 -msgid "Drag your objects here" -msgstr "Přetáhněte své objekty sem" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:207 -msgid "Elephant foot compensation" -msgstr "Kompenzace rozplácnutí první vrstvy" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:806 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:922 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1695 -msgid "Enable" -msgstr "Zapnout" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "Zadaný název je naplatný;" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:163 -msgid "Enable auto cooling" -msgstr "Zapnutí automatického chlazení" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "následující znaky nejsou povoleny:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:394 -msgid "Enable fan if layer print time is below" -msgstr "Zapnout ventilátor pokud je doba tisku vrstvy kratší než" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1381 -msgid "Enable support material generation." -msgstr "Zapne generování podpor." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:645 -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." -msgstr "Aktivací získáte komentovaný soubor G-code, přičemž každý řádek je doplněn popisným textem. Pokud tisknete z SD karty, dodatečné informace v souboru můžou zpomalit firmware." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1681 -msgid "Enable variable layer height feature" -msgstr "Zapnout variabilní výšku vrstev" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:853 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1126 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:217 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:227 -msgid "End G-code" -msgstr "Konec G-code" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1431 -msgid "Enforce support for the first" -msgstr "Zesílit podpory pro prvních" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1439 -msgid "Enforce support for the first n layers" -msgstr "Vynucení podpor pro prvních n vrstev" +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "Zobrazení" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:238 -msgid "Ensure vertical shell thickness" -msgstr "Zajistit tloušťku svislých stěn" +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "Typ" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 -msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." -msgstr "Zadejte požadovanou teplotu filamentu, aby se spojil s vyhřívanou podložkou." +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "Výška" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:441 -msgid "Enter the diameter of your filament." -msgstr "Zadejte průměr vašeho filamentu." +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "Šířka" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:428 -msgid "Enter the diameter of your printer's hot end nozzle." -msgstr "Zadejte průměr trysky hotendu vaší tiskárny." +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "Objemový průtok" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -msgid "Enter the new max size for the selected object:" -msgstr "Zvolte nový maximální rozměr pro zvolný objekt:" +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "Nástroj" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1030 -#, perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" -msgstr "Zadejte novou velikost vybraného objektu (tisková podložka: %smm):" +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Enter the number of copies of the selected object:" -msgstr "Zadejte počet kopií pro vybraný objekt:" +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "Zobrazit" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#, no-perl-format -msgid "Enter the scale % for the selected object:" -msgstr "Zadejte rozměr % pro zvolený objekt:" +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "Typy extruzí" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:479 -msgid "Enter the temperature needed for extruding your filament." -msgstr "Zadejte požadovanou teplotu pro extruzi vašeho filamentu." +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "Perimetr" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:477 -msgid "Enter your filament cost per kg here. This is only for statistical information." -msgstr "Zde zadejte cenu filamentu za kg. Slouží pouze pro statistické informace." +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "Vnější perimetr" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:441 -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." -msgstr "Zde zadejte hustotu filamentu. Toto je pouze pro statistické informace. Přípustný způsob je zvážit známou délku filamentu a vypočítat poměr délky k objemu. Je lepší vypočítat objem přímo přes posun." +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "Perimetr převisu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:432 -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 "Zde zadejte průměr filamentu. Je zapotřebí správné přesnosti, proto použijte šupleru a proveďte několik měření podél filamentu, poté vypočtete průměr." +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "Vnitřní výplň" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:488 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:470 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Error" -msgstr "Chyba" +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "Plná výplň" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1612 -msgid "Error exporting 3MF file " -msgstr "Chyba při exportu souboru 3MF " +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "Výplň plných horních" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1596 -msgid "Error exporting AMF file " -msgstr "Chyba při exportu souboru AMF " +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "Výplň mostů" -#: xs/src/slic3r/Utils/OctoPrint.cpp:47 -msgid "Error while uploading to the OctoPrint server" -msgstr "Chyba při nahrávání na server OctoPrint" +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "Výplň tenkých stěn" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:315 -msgid "Error! " -msgstr "Chyba! " +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "Obrys" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:451 -msgid "Estimated printing time" -msgstr "Odhadovaný čas tisku" +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "Kontaktní vrstvy podpor" -#: xs/src/slic3r/GUI/GUI.cpp:885 -msgid "Everywhere" -msgstr "Všude" +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" +msgstr "Čistící věž" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:44 -#, c-format -msgid "except for the first %d layers" -msgstr "s výjimkou prvních %d vrstev" +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "Rychloposun" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:48 -msgid "except for the first layer" -msgstr "vyjma první vstvy" +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "Retrakce" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 -msgid "Exit Slic3r" -msgstr "Ukončit Slic3r" +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "Deretrakce" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:192 -msgid "Experimental option for preventing support material from being generated under bridged areas." -msgstr "Experimentální nastavení pro zabránění tvorbě podpěr v oblastech po mosty." +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "Skořápky" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:942 -msgid "Experimental option to adjust flow for overhangs (bridge flow will be used), to apply bridge speed to them and enable fan." -msgstr "Experimentální volba pro nastavení průtoku pro přesahy (použije se průtok jako u mostů), aplikuje se na ně rychlost mostu a spustí se ventilátor." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "Export all presets to file" -msgstr "Exportovat všechna přednastavení do souboru" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1416 -msgid "Export cancelled" -msgstr "Export zrušen" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "Export current configuration to file" -msgstr "Exportovat současnou konfiguraci do souboru" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export current plate as 3MF" -msgstr "Exportovat stávající plochu jako 3MF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export current plate as AMF" -msgstr "Exportovat stávající plochu jako AMF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "Exportovat G-kód" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export current plate as G-code" -msgstr "Exportovat stávající plochu do G-code" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export current plate as STL" -msgstr "Exportovat stávající plochu jako STL" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1454 -msgid "Export failed" -msgstr "Exportování selhalo" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "znovu slicovat" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export G-code..." -msgstr "Exportovat G-kód…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:236 -msgid "Export G-code…" -msgstr "Exportovat G-kód…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "Opakovat poslední rychlé slicování" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export object as STL…" -msgstr "Exportovat objekt jako STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "Zobrazit panel Podložka" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export plate as 3MF..." -msgstr "Exportovat plochu jako 3MF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export plate as AMF..." -msgstr "Exportovat plochu jako AMF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "Zobrazit panel Nastavení tisku" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export plate as STL..." -msgstr "Exportovat plochu jako STL..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "Zobrazit panel Nastavení filamentu" -#: xs/src/slic3r/GUI/GUI.cpp:950 -msgid "Export print config" -msgstr "Exportovat nastavení tisku" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "Zobrazit panel Nastavení tiskárny" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:240 -msgid "Export STL…" -msgstr "Exportovat STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export this single object as STL file" -msgstr "Exportovat tento jediný objekt jako STL soubor" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:139 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:81 -msgid "External perimeter" -msgstr "Vnější perimetr" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "Nastavení" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:151 -msgid "external perimeters" -msgstr "vnější perimetry" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:267 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:277 -msgid "External perimeters" -msgstr "Vnější perimetry" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:289 -msgid "External perimeters first" -msgstr "Nejprve tisknout vnější perimetry" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1126 -msgid "Extra length on restart" -msgstr "Extra vzdálenost při návratu" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:297 -msgid "Extra perimeters if needed" -msgstr "Extra perimetry pokud jsou potřeba" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:795 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1234 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:307 -msgid "Extruder" -msgstr "Extruder" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1187 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:400 -#, c-format -msgid "Extruder %d" -msgstr "Extruder %d" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Extruder and Bed Temperatures" -msgstr "Teploty extruderu a podložky" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "Uspořádat" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:224 -msgid "Extruder changed to" -msgstr "Extruder změněn na" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:479 -msgid "Extruder clearance (mm)" -msgstr "Kolizní oblast extruderu (mm)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:342 -msgid "Extruder Color" -msgstr "Barva extruderu" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "Smazat Vše" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:350 -msgid "Extruder offset" -msgstr "Odsazení extruderu" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:626 -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 "Teplota extruderu pro první vrstvu. Chcete-li během tisku ručně ovládat teplotu, nastavte tuto hodnotu na nulu, aby se ve výstupním souboru zakázaly příkazy pro řízení teploty." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1573 -msgid "Extruder temperature for layers after the first one. Set this to zero to disable temperature control commands in the output." -msgstr "Teplota extruderu pro následující vrstvy po vrstvě první. Nastavte tuto hodnotu na nulu, abyste zakázali příkazy pro řízení teploty na výstupu." - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:431 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:308 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:702 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:958 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1445 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1471 -msgid "Extruders" -msgstr "Extruder" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:360 -msgid "Extrusion axis" -msgstr "Osa extruderu" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:367 -msgid "Extrusion multiplier" -msgstr "Násobič extruze" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:483 -msgid "Extrusion Temperature:" -msgstr "Teplota extruze:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:453 -msgid "Extrusion width" -msgstr "Šířka extruze" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:268 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:377 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:592 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:710 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:967 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1292 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1454 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1614 -msgid "Extrusion Width" -msgstr "Šíře extruze" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:410 -msgid "Facets" -msgstr "Facety" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:36 -msgid "Fan " -msgstr "Ventilátor " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:817 -msgid "Fan settings" -msgstr "Nastavení ventilátoru" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:818 -msgid "Fan speed" -msgstr "Rychlost ventilátoru" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:330 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:68 -msgid "Feature type" -msgstr "Typ" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:78 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:79 -msgid "Feature types" -msgstr "Typy extruzí" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:183 -msgid "Fewer" -msgstr "Méně" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:786 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:787 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:368 -msgid "Filament" -msgstr "Filament" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Filament and Nozzle Diameters" -msgstr "Průměry filamentu a trysky" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 -msgid "Filament Diameter:" -msgstr "Průměr filamentu:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:412 -msgid "Filament notes" -msgstr "Poznámky k filamentu" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1031 -msgid "Filament parking position" -msgstr "Parkovací pozice filamentu" +#: src/slic3r/GUI/MainFrame.cpp:53 +msgid "" +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +msgstr "" +" - Nezapomeňte zkontrolovat aktualizace na http://github.com/prusa3d/slic3r/" +"releases" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:832 -msgid "Filament properties" -msgstr "Vlastnosti filamentu" +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" +msgstr "Podložka" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:202 -msgid "Filament Settings" -msgstr "Nastavení filamentu" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "&Otevřít" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:450 -msgid "Filament type" -msgstr "Typ filamentu" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 -msgid "filaments" -msgstr "filamenty" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "&Uložit" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1445 -msgid "File added to print queue" -msgstr "Soubor byl přidán do tiskové fronty" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:475 -msgid "File Not Found" -msgstr "Soubor nenalezen" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "Uložit &jako" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:487 -msgid "Fill angle" -msgstr "Úhel výplně" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:501 -msgid "Fill density" -msgstr "Hustota výplně" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:539 -msgid "Fill pattern" -msgstr "Vzor výplně" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:541 -msgid "Fill pattern for general low-density infill." -msgstr "Vzor výplně pro obecnou výplň s nízkou hustotou." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:248 -msgid "Fill pattern for top/bottom infill. This only affects the external visible layer, and not its adjacent solid shells." -msgstr "Vzor výplně pro vrchní/spodní vrstvy. Ovlivňuje pouze vnější viditelné vrstvy. Neovlivňuje přilehlé plné obaly." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "Načíst exportovaný konfigurační soubor" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 -msgid "Finished" -msgstr "Dokončeno" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1110 -msgid "Firmware" -msgstr "Firmware" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:266 -msgid "Firmware flasher" -msgstr "Nahrání firmware" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:293 -msgid "Firmware image:" -msgstr "Soubor s firmware:" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "Načíst přednastavení z balíku" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1314 -msgid "Firmware Retraction" -msgstr "Firmware Retrakce" +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:356 -msgid "Firmware Type" -msgstr "Typ firmware" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "Exportovat &G-kód" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:573 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:582 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:591 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:625 -msgid "First layer" -msgstr "První vrstva" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "Exportovat stávající plochu do G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:603 -msgid "First layer height" -msgstr "Výška první vrstvy" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "Exportovat plochu jako &STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:615 -msgid "First layer speed" -msgstr "Rychlost první vrstvy" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "Exportovat stávající plochu jako STL" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "First layer volumetric" -msgstr "Volumetrická hodnota první vrstvy" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "Exportovat plochu jako &AMF" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Flash printer firmware" -msgstr "Nahrát firmware tiskárny" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "Exportovat stávající plochu jako AMF" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:84 -msgid "Flash!" -msgstr "Nahrát!" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" +msgstr "Exportovat &Konfiguraci" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:147 -msgid "Flashing cancelled." -msgstr "Nahrávání zrušeno." +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "Exportovat současnou konfiguraci do souboru" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:146 -msgid "Flashing failed. Please see the avrdude log below." -msgstr "Nahrání selhalo. Projděte si prosím avrdude log níže." +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" +msgstr "Exportovat Konfigurační &Balík" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:123 -msgid "Flashing in progress. Please do not disconnect the printer!" -msgstr "Probíhá nahrávání firmware. Prosím neodpojujte tiskárnu!" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "Exportovat všechna přednastavení do souboru" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:145 -msgid "Flashing succeeded!" -msgstr "Nahrávání bylo úspěšné!" +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "&Exportovat" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:466 -msgid "Flow" -msgstr "Průtok" +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" +msgstr "Rychlé Slicování" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 -msgid "For more information please visit our wiki page:" -msgstr "Pro více informací prosím navštivte naší wiki stránku:" +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "Slicovat soubor do G-code" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:599 -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 "" -"U čistící věže pokud pracujte s rozpustnými materiály, je třeba\n" -"synchronizovat vrstvy podpor s vrstvami objektů.\n" -"\n" -"Mám synchronizovat vrstvy podpor, aby bylo možné zapnout Čistící věž?" +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" +msgstr "Rychlé Slicování a Uložit jako" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1264 -msgid "Force solid infill for regions having a smaller area than the specified threshold." -msgstr "Vynucení plné výplně pro oblasti, které mají menší plochu, než je stanovená prahová hodnota." +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "Slicovat soubor do G-code, uložit jako" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:758 -msgid "Force the generation of solid shells between adjacent materials/volumes. Useful for multi-extruder prints with translucent materials or manual soluble support material." -msgstr "Vynucení vytváření pevných skořepin mezi sousedními materiály/objemy. Užitečné pro tisk s více extrudery s průsvitnými materiály nebo ručně rozpustným podpůrným materiálem." +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "Opakovat Poslední Slicování" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:260 -msgid "From" -msgstr "Předchozí extruder" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "(Z&novu)Slicovat" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front" -msgstr "Zepředu" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "Zahájit nový slicovací proces" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front View" -msgstr "Pohled zepředu" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "Op&ravit soubor STL" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "G-code" -msgstr "G-code" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "Automaticky opravit STL soubor" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1451 -msgid "G-code file exported to " -msgstr "Soubor G-code byl exportován do " +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "U&končit" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:652 -msgid "G-code flavor" -msgstr "Druh G-code" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "Ukončit Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:444 -msgid "g/cm³" -msgstr "g/cm³" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "&Vybrat vše" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:634 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:145 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:87 -msgid "Gap fill" -msgstr "Výplň tenkých stěn" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:937 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:11 -msgid "General" -msgstr "Obecné" +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:875 -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." -msgstr "Nevygenerovat méně, než počet obrysových smyček, potřebných ke spotřebování specifikovaného množství filamentu na spodní vrstvu. U strojů s více extrudery platí toto minimum pro každý extruder." +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1379 -msgid "Generate support material" -msgstr "Generovat podpory" +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" +msgstr "&Smazat Vše" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1433 -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." -msgstr "Vygeneruje podpory pro zadaný počet vrstev počítaných od spodního okraje, bez ohledu na to, zda jsou povoleny standartní podpory nebo nikoliv a bez ohledu na jakýkoli prah úhlu. To je užitečné pro získání větší přilnavosti předmětů s velmi tenkou nebo špatnou stopou na tiskové podložce." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 -msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." -msgstr "Je zapotřebí velká přesnost, proto použijte posuvné měřítko (šupleru) a proveďte několik měření po délce filamentu, poté vypočítejte průměr." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "Panel &Podložka" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:583 -msgid "Heated build plate temperature for the first layer. Set this to zero to disable bed temperature control commands in the output." -msgstr "Teplota vyhřívané tiskové podložky pro první vrstvu. Nastavením tuto hodnoty na nulu vypnete příkazy pro řízení teploty ve vrstvě ve výstupu." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "Zobrazit podložku" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:320 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:69 -msgid "Height" -msgstr "Výška" +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "Panel Nastavení t&isku" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:332 -msgid "Height (mm)" -msgstr "Výška (mm)" +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "Zobrazit nastavení tisku" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1222 -msgid "Height of skirt expressed in layers. Set this to a tall value to use skirt as a shield against drafts." -msgstr "Výška obrysu vyjádřená ve vrstvách. Nastavte tuto hodnotu vysokou, pro použití obrysu jako stínění proti průvanu." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" +msgstr "Panel Nastavení &filamentu" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:213 -#, 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." -msgstr "Zdravím, vítejte ve Slic3r Prusa Edition! Tento %s vám pomůže se základní konfigurací; jen několik nastavení a budete připraveni k tisku." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "Zobrazit nastavení filamentu" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218 -msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." -msgstr "Zde můžete upravit požadovaný objem čištění (mm³) pro kteroukoliv dvojici extruderů." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" +msgstr "Panel Nastavení &tiskárny" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:329 -msgid "Horizontal shells" -msgstr "Vodorovné stěny" +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "Zobrazit nastavení tiskárny" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:128 -msgid "Horizontal width of the brim that will be printed around each object on the first layer." -msgstr "Šírka límce který bude vytištěn v první vrstvě okolo každého objektu." +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 -msgid "Hostname" -msgstr "Název hosta" +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:991 -msgid "Hostname, IP or URL" -msgstr "Název hosta, IP nebo URL" +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:113 -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 nebo na tlačítko klikněte." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1612 -msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." -msgstr "Soubor HTTPS CA je volitelný. Je nutný pouze pokud použijte HTTPS certifikát s vlastním podpisem." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:275 xs/src/slic3r/GUI/Preferences.cpp:61 -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 application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done." -msgstr "Pokud je povoleno, kontroluje Slic3r nově dostupné verze Slic3r PE. V případě, že je nová verze k dispozici, zobrazí se notifikace při dalším startu programu (nikdy během užívání aplikace). Tento systém slouží pouze pro upozornění uživatele, nedochází k automatické instalaci." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:282 xs/src/slic3r/GUI/Preferences.cpp:69 -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 "Pokud je povoleno, stáhne Slic3r na pozadí aktualizace vestavěných systémových přednastavení. Tyto aktualizace jsou staženy do dočasného umístění. Pokud je k dispozici nové přednastavení, zobrazí se upozornění při startu programu." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "&Izometrické" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:26 -#, 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 "Pokud je odhadovaný čas vrstvy nižší než ~% ds, bude ventilátor pracovat na %d%% a rychlost tisku bude snížena tak, aby na tuto vrstvu nebylo použito méně než %ds (rychlost však nikdy nebude snížena pod %dmm/s)." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "Izometrické zobrazení" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:616 -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." -msgstr "Pokud je vyjádřena jako absolutní hodnota v mm / s, bude tato rychlost použita pro všechny pohyby tisku první vrstvy bez ohledu na jejich typ. Pokud je hodnota vyjádřena procenty (například: 40%), změní v závisloti na výchozích rychlostech." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "S&vrchu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:395 -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." -msgstr "Pokud je doba tisku vrstvy odhadnuta jako kratší než tato nastavená hodnota ve vteřinách, ventilátor bude aktivován a jeho rychlost bude vypočtena interpolací minimální a maximální rychlosti." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "Pohled svrchu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1240 -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 "Pokud je doba tisku vrstvy odhadnuta kratší než tento počet sekund, rychlost tisku se zpomalí, aby se prodloužila doba tisku této vrstvy." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "Ze&spod" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:388 -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." -msgstr "Pokud je tato funkce zapnutá, ventilátor nebude nikdy vypnut a bude udržován v chodu alespoň rychlostí která je nastavena jako minimální rychlost. Užitečné pro PLA, škodlivé pro ABS." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "Pohled zespod" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:37 -msgid "If this is enabled, Slic3r will auto-center objects around the print bed center." -msgstr "Pokud je tato možnost povolena, Slic3r bude automaticky centrovat objekty kolem středu tiskové plochy." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "Z&epředu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:45 -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." -msgstr "Pokud je tato možnost povolena, Slic3r předprojektuje objekty, jakmile budou načteny, aby šetřil čas při exportu G-code." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "Pohled zepředu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:29 -msgid "If this is enabled, Slic3r will prompt the last output directory instead of the one containing the input files." -msgstr "Pokud je tato volba povolena, Slic3r vyvolá poslední výstupní adresář namísto toho, který obsahuje vstupní soubory." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "Zeza&du" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:77 -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 "Pokud máte problémy s vykreslováním způsobené chybným ovladačem OpenGL 2.0, můžete se pokusit zaškrtnout toto políčko. Tím se vypnou úpravy výšky hladiny a vyhlazení, takže je je lepší upgradovat grafický ovladač." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "Pohled zezadu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1091 -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 "Zadáním kladné hodnoty, se Z rychle přizvedne při každém vyvolání retrakce. Při použití více extruderů bude použito pouze nastavení pro první extruder." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "Z&leva" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1101 -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 "Zadáním kladné hodnoty se zdvih Z uskuteční pouze nad zadanou absolutní hodnotou Z. Toto nastavení můžete zvolit pro přeskočení přizvednutí u prvních vrstev." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "Pohled zleva" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1110 -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 "Zadáním kladné hodnoty se zdvih Z uskuteční pouze pod zadanou absolutní hodnotou Z. Toto nastavení můžete zvolit pro přeskočení přizvednutí u prvních vrstev." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "Z&prava" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:451 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1002 -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." -msgstr "Pokud chcete zpracovat výstupní G-code pomocí vlastních skriptů, stačí zde uvést jejich absolutní cesty. Oddělte více skriptů středníkem. Skripty předají absolutní cestu k souboru G-code jako první argument a mohou přistupovat k nastavení konfigurace Slic3ru čtením proměnných prostředí." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "Pohled zprava" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:351 -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)." -msgstr "Pokud firmware nezpracovává umístění extruderu správně, potřebujete aby to vzal G-code v úvahu. Toto nastavení umožňuje určit odsazení každého extruderu vzhledem k prvnímu. Očekávají se pozitivní souřadnice (budou odečteny od souřadnice XY)." +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "Prusa 3D &Ovladače" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1664 -msgid "If your firmware requires relative E values, check this, otherwise leave it unchecked. Most firmwares use absolute values." -msgstr "Pokud váš firmware vyžaduje relativní hodnoty E, zaškrtněte toto, jinak nechte nezaškrtnuté. Většina firmwarů používá absolutní hodnoty." +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "Otevřít stránku pro stahování Prusa 3D ovladačů ve vašem prohlížeči" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 -msgid "Incompatible bundles:" -msgstr "Nekompatibilní balíky:" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "&Vydání Prusa Edice" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 -msgid "Incompatible with this Slic3r" -msgstr "Nekompatibilní s tímto Slic3rem" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "Otavřít stránku vydání Prusa Edice ve vašem prohlížeči" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Increase copies" -msgstr "Přidat kopie" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "Slic3r &Webová stránka" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:346 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:347 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:664 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:87 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:247 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:488 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:502 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:540 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:681 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:691 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:709 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:746 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1263 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1280 -msgid "Infill" -msgstr "Výplň" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "Otevřít webovou stránku Slic3ru ve vašem prohlížeči" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:169 -msgid "infill" -msgstr "výplň" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "Slic3r &návod" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:720 -msgid "Infill before perimeters" -msgstr "Tisknout výplň před tiskem perimetrů" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "Otevřít Slic3r návod ve vašem prohlížeči" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:701 -msgid "Infill extruder" -msgstr "Extruder pro výplň" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "&Informace o systému" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:735 -msgid "Infill/perimeters overlap" -msgstr "Přesah pro výplň/perimetry" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "Zobrazit systémové informace" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:398 -msgid "Info" -msgstr "Info" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "Otevřít &adresář nastavení" -#: xs/src/libslic3r/PrintConfig.cpp:819 -msgid "Inherits profile" -msgstr "Zdědí profil" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "Zobrazit uživatelský adresář konfigurace (datadir)" -#: xs/src/slic3r/GUI/Field.cpp:111 -msgid "Input value is out of range" -msgstr "Zadaná hodnota je mimo rozsah" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "Nahlásit &chybu" -#: xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Inspect / activate configuration snapshots" -msgstr "Zkontrolovat / aktivovat zálohy konfigurace" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "Nahlásit chybu ve Slic3eru Prusa Edice" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1479 -msgid "Interface layers" -msgstr "Kontaktní vrstvy" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "&O Slic3ru" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1463 -msgid "Interface loops" -msgstr "Kontaktní smyčky" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "Zobrazit okno o Slic3ru" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1488 -msgid "Interface pattern spacing" -msgstr "Rozteč kontaktních vrstev" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:757 -msgid "Interface shells" -msgstr "Mezilehlé stěny" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:141 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:83 -msgid "Internal infill" -msgstr "Vnitřní výplň" +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "&Soubor" -#: xs/src/slic3r/Utils/OctoPrint.cpp:120 -msgid "Invalid API key" -msgstr "Neplatný API klíč" +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -msgid "Invalid scaling value entered" -msgstr "Zadána neplatná hodnota pro úpravu rozměru" +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "&Okno" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso" -msgstr "Izometrické" +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "&Zobrazení" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso View" -msgstr "Izometrické zobrazení" +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "&Pomoc" -#: xs/src/slic3r/GUI/Tab.cpp:748 -msgid "It can't be deleted or modified. " -msgstr "Nelze smazat nebo upravit. " +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Zvolit soubor ke slicování (STL/OBJ/AMF/3MF/PRUSA):" -#: xs/src/slic3r/GUI/Tab.cpp:741 -msgid "It's a default preset." -msgstr "Je to výchozí přednastavení." +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "Žádné dříve slicované soubory." -#: xs/src/slic3r/GUI/Tab.cpp:742 -msgid "It's a system preset." -msgstr "Je to systémové přednastavení." +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "Chyba" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1180 -msgid "Jitter" -msgstr "Rozkmit (Jitter)" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "Dříve slicovaný soubor (" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:387 -msgid "Keep fan always on" -msgstr "Ventilátor vždy zapnutý" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr ") nebyl nalezen." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Language" -msgstr "Jazyk" +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "Soubor nenalezen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:192 -msgid "Layer Editing" -msgstr "Vyhlazení vrstev" +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "Uložit " -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:207 -msgid "Layer editing" -msgstr "Vyhlazení vrstev" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "SVG" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:314 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:777 -msgid "Layer height" -msgstr "Výška vrstvy" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "G-code" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1194 -msgid "Layer height limits" -msgstr "Výskové limity vrstvy" +# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" +msgstr " soubor jako:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:183 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:694 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1033 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1224 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1285 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1437 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1482 -msgid "layers" -msgstr "vrstvu" +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:157 -msgid "Layers" -msgstr "Vrstvy" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "Slicování" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:313 -msgid "Layers and perimeters" -msgstr "Vrstvy a perimetry" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "Zpracovávám " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:69 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:239 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:290 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:298 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:604 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:762 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:778 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:941 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:989 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1152 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1583 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1639 -msgid "Layers and Perimeters" -msgstr "Vrstvy a perimetry" +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr " byl úspěšně slicován." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left" -msgstr "Zleva" +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "Slicování dokončeno!" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left View" -msgstr "Pohled zleva" +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "Vyberte STL soubor k opravě:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1071 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1080 -msgid "Length" -msgstr "Vzdálenost" +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "Uložit soubor OBJ (méně náchylný na chyby souřadnic než STL) jako:" -#: xs/src/libslic3r/PrintConfig.cpp:179 -msgid "Length of the cooling tube to limit space for cooling moves inside it " -msgstr "Délka kovové trubičky určené pro ochlazení a zformování filamentu po vytažení z extruderu " +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "Váš soubor byl opraven." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1090 -msgid "Lift Z" -msgstr "Zvednout Z" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "Oprava" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "Load exported configuration file" -msgstr "Načíst exportovaný konfigurační soubor" +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "Uložit konfiguraci jako:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "Load presets from a bundle" -msgstr "Načíst přednastavení z balíku" +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "Zvolte konfiguraci k načtení:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:75 -msgid "Load shape from STL..." -msgstr "Načíst tvar ze souboru STL…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:692 -msgid "Loaded " -msgstr "Načteno " - -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 -msgid "loaded" -msgstr "zaváděn" +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "Uložit balík přednastavení jako:" -#: xs/src/libslic3r/PrintConfig.cpp:459 -msgid "Loading speed" -msgstr "Rychlost zavádění" +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "%d přednastavení úspěšně importováno." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -msgid "Loading…" -msgstr "Načítání…" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "Chyba Slic3ru" -#: xs/src/slic3r/GUI/Tab.cpp:2481 -msgid "LOCKED LOCK icon indicates that the settings are the same as the system values for the current option group" -msgstr "Ikona ZAMKNUTÉHO ZÁMKU indikuje, že nastavení jsou stejná jako systémové hodnoty pro aktuální skupinu nastavení" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "Došlo k chybě Slic3ru" -#: xs/src/slic3r/GUI/Tab.cpp:2497 -msgid "LOCKED LOCK icon indicates that the value is the same as the system value." -msgstr "Ikona ZAMKNUTÉHO ZÁMKU indikuje, že hodnota je shodná se systémovou hodnotou." +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2442 -msgid "LOCKED LOCK;indicates that the settings are the same as the system values for the current option group" -msgstr "ZAMKNUTÝ ZÁMEK; indikuje, že nastavení jsou stejná jako systémové hodnoty pro aktuální skupinu nastavení" +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1229 -msgid "Loops (minimum)" -msgstr "Smyček (minimálně)" +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "Obsah" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:412 -msgid "Manifold" -msgstr "Model OK" +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "Facety" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:411 +#: src/slic3r/GUI/Plater.cpp:128 msgid "Materials" msgstr "Materiálů" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:787 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:796 -msgid "Max" -msgstr "Maximum" - -#: xs/src/libslic3r/PrintConfig.cpp:876 -msgid "Max print height" -msgstr "Maximální výška tisku" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:807 -msgid "Max print speed" -msgstr "Maximální rychlost tisku" - -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 -msgid "max slic3r version" -msgstr "max verze slic3ru" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:837 -msgid "Max volumetric slope negative" -msgstr "Maximální negativní objemový sklon" +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "Model OK" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:826 -msgid "Max volumetric slope positive" -msgstr "Maximální pozitivní objemový sklon" +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "Informace o slicování" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:817 -msgid "Max volumetric speed" -msgstr "Maximální objemová rychlost" +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "Použito Filamentu (m)" -#: xs/src/libslic3r/PrintConfig.cpp:1854 -msgid "Maximal bridging distance" -msgstr "Maximální vzdálenost přemostění" +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "Použito Filamentu (mm³)" -#: xs/src/libslic3r/PrintConfig.cpp:1855 -msgid "Maximal distance between supports on sparse infill sections. " -msgstr "Maximální vzdálenost mezi podporami u částí s řídkou výplní. " +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "Použito Filamentu (g)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:422 -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." -msgstr "Maximální povolený objem průtoku pro tento filament. Omezuje maximální rychlost průtoku pro tisk až na minimální rychlost průtoku pro tisk a filament. Zadejte nulu pro nastavení bez omezení." +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "Náklady" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:848 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:857 -msgid "Min" -msgstr "Minimum" +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "Odhadovaný čas tisku" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:866 -msgid "Min print speed" -msgstr "Minimální rychlost tisku" +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 -msgid "min slic3r version" -msgstr "min verze slic3ru" +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "Podpora" -#: xs/src/libslic3r/PrintConfig.cpp:951 -msgid "Minimal filament extrusion length" -msgstr "Minimální délka extruze filamentu" +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "Vyberte typ podpor, které potřebujete" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1040 -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." -msgstr "Minimální rozlišení detailů, které se používají pro zjednodušení vstupního souboru pro urychlení slicovací úlohy a snížení využití paměti. Modely s vysokým rozlišením často obsahují více detailů než tiskárny dokážou vykreslit. Nastavte na nulu, chcete-li zakázat jakékoli zjednodušení a použít vstup v plném rozlišení." +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "Žádný" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1050 -msgid "Minimum travel after retraction" -msgstr "Minimální rychloposun po retrakci" +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "Podpory pouze na tiskové ploše" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror" -msgstr "Zrcadlit" +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "Všude" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror the selected object" -msgstr "Zrcadlit vybraný objekt" +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "Límec" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -msgid "Mirror the selected object along the X axis" -msgstr "Zrcadlit rozměr vybraného objektu podél osy X" +#: src/slic3r/GUI/Plater.cpp:381 +msgid "" +"This flag enables the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Tato vlajka zapíná límec, který bude vytištěn kolem každého objektu při " +"první vrstvě." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -msgid "Mirror the selected object along the Y axis" -msgstr "Zrcadlit rozměr vybraného objektu podél osy Y" +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "Objemy čištění" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -msgid "Mirror the selected object along the Z axis" -msgstr "Zrcadlit rozměr vybraného objektu podél osy Z" +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "Nastavení tisku" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:151 -msgid "Mixed" -msgstr "Smíšený" +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "Filament" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:65 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:200 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:211 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:325 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:336 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:355 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:434 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:781 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:801 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:860 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:878 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:896 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1044 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1052 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1094 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1103 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1121 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1215 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1491 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1527 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1704 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1711 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1718 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1737 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1747 -msgid "mm" -msgstr "mm" +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1075 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1085 -msgid "mm (zero to disable)" -msgstr "mm (nula pro vypnutí)" +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:609 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:740 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1390 -msgid "mm or %" -msgstr "mm nebo %" +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "Tiskárna" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:382 -msgid "mm or % (leave 0 for auto)" -msgstr "mm or % (pro automatické ponechte 0)" +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "Odeslat do tiskárny" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:597 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:715 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:972 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1296 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1458 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1619 -msgid "mm or % (leave 0 for default)" -msgstr "mm nebo % (ponechte 0 jako výchozí)" +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "Slicovat" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:638 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:749 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:811 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:868 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:981 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1137 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1146 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1536 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1649 -msgid "mm/s" -msgstr "mm/s" +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "%d (%d obalů)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:282 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:619 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1255 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1306 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1501 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1631 -msgid "mm/s or %" -msgstr "mm/s nebo %" +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "Automaticky opraveno (%d errors)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:80 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:174 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:576 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:684 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:952 -msgid "mm/s²" -msgstr "mm/s²" +#: src/slic3r/GUI/Plater.cpp:795 +#, c-format +msgid "" +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " +"facets reversed, %d backwards edges" +msgstr "" +"%d poškozených faset, %d okrajů opraveno, %d faset odstraněno, %d faset " +"přidáno, %d faset navráceno, %d zadních okrajů" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1265 -msgid "mm²" -msgstr "mm²" +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" +msgstr "Ano" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:425 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:820 -msgid "mm³/s" -msgstr "mm³/s" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:831 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:842 -msgid "mm³/s²" -msgstr "mm³/s²" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "model" -msgstr "model" +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:414 -msgid "Modifiers" -msgstr "Modifikátory" +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:478 -msgid "money/kg" -msgstr "korun/kg" +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "Načítání" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:182 -msgid "More" -msgstr "Více" +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "Zpracovávám vstupní soubor %s\n" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1696 -msgid "Multi material printers may need to prime or purge extruders on tool changes. Extrude the excess material into the wipe tower." -msgstr "Multimateriálové tiskárny mohou potřebovat, aby při výměně nástrojů vyčistili extrudery. Vytlačí přebytečný materiál do čistící věže." +#: src/slic3r/GUI/Plater.cpp:1366 +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 "" +"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ů?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:666 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:683 +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 msgid "Multi-part object detected" msgstr "Detekován objekt obsahující více částí" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:430 -msgid "Multiple Extruders" -msgstr "Multiple Extruders" +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:680 +#: src/slic3r/GUI/Plater.cpp:1408 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" @@ -2188,2286 +2116,4937 @@ msgstr "" "Mají být vloženy jako jeden objekt obsahující více částí, \n" "namísto vložení několika objektů?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:220 -msgid "Name" -msgstr "Název" +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "Načteno" -#: xs/src/libslic3r/PrintConfig.cpp:1126 -msgid "Name of the printer variant. For example, the printer variants may be differentiated by a nozzle diameter." -msgstr "Název varianty tiskárny. Varianty tiskárny mohou být například rozlišeny podle průměru trysky." +#: src/slic3r/GUI/Plater.cpp:1492 +msgid "" +"Your object appears to be too large, so it was automatically scaled down to " +"fit your print bed." +msgstr "" +"Váš objekt se zdá být příliš velký, takže byl automaticky zmenšen, aby se " +"vešel na tiskovou podložku." -#: xs/src/libslic3r/PrintConfig.cpp:1121 -msgid "Name of the printer vendor." -msgstr "Název prodejce tiskárny." +#: src/slic3r/GUI/Plater.cpp:1493 +msgid "Object too large?" +msgstr "Objekt moc velký?" -#: xs/src/libslic3r/PrintConfig.cpp:820 -msgid "Name of the profile, from which this profile inherits." -msgstr "Název profilu, ze kterého tento profil zdědí." +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "Exportovat nastavení tisku" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 -msgid "Network lookup" -msgstr "Hledání v síti" +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "New version of Slic3r PE is available" -msgstr "Je dostupná nová verze Slic3r PE" +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 -msgid "New version:" -msgstr "Nová verze:" +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:469 -msgid "No previously sliced file." -msgstr "Žádné dříve slicované soubory." +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:28 -msgid "NO RAMMING AT ALL" -msgstr "ŽÁDNÁ RAPIDNÍ EXTRUZE" +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:137 -msgid "None" -msgstr "Žádný" +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "Poznámka: Je vyžadován OctoPrint ve verzi alespoň 1.1.0." +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:500 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:501 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:859 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:860 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1156 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1157 -msgid "Notes" -msgstr "Poznámky" +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:493 -msgid "Notice" -msgstr "Oznámení" +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "" +"The selected object can't be split because it contains more than one volume/" +"material." +msgstr "" +"Vybraný objekt nemůže být rozdělen, protože obsahuje více nez jeden objem/" +"materiál." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:85 -msgid "nozzle" -msgstr "tryska" +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "Ukončování" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:894 -msgid "Nozzle diameter" -msgstr "Průměr trysky" +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "V současné době běží jiná úloha exportu." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:431 -msgid "Nozzle Diameter:" -msgstr "Průměr trysky:" +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "Exportování selhalo" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:967 -msgid "Number of extruders of the printer." -msgstr "Počet extrudérů tiskárny." +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1481 -msgid "Number of interface layers to insert between the object(s) and support material." -msgstr "Počet interface vrstev vložených mezi objekt (objekty) a podpory." +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "Smazat" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1231 -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 "Počet obrysových smyček. Je-li nastavena možnost Minimální délka extruze, počet obrysových smyček může být větší než počet zde nakonfigurovaných. Nastavte tuto hodnotu na nulu, pro úplné deaktivování." +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "Odstanit vybraný objekt" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:70 -msgid "Number of solid layers to generate on bottom surfaces." -msgstr "Počet plných vrstev." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "Přidat kopie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1315 -msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "Počet plných vstev generovaných na vrchních a spodních površích." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "Přidá jednu kopii vybraného objektu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1640 -msgid "Number of solid layers to generate on top surfaces." -msgstr "Počet vrchních generovaných plných vrstev." +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "Odebrat kopie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:745 -msgid "Object too large?" -msgstr "Objekt moc velký?" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "Odstaní jednu kopii vybraného objektu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1032 -msgid "OctoPrint upload" -msgstr "OctoPrint nahrávání" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "Zadat počet kopií" -#: lib/Slic3r/GUI/Plater.pm:1511 -msgid "OctoPrint upload finished." -msgstr "Nahrávání do OctoPrintu dokončeno." +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "Změňte počet kopií vybraného objektu" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 -msgid "OctoPrint version" -msgstr "Verze OctoPrintu" +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "Znovu načíst z Disku" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1410 -msgid "Only create support if it lies on a build plate. Don't create support on a print." -msgstr "Podpory vytvářet pouze v případě, že leží na tiskové podložce. Nevytváří podpory na výtisky." +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "Znovu načíst vybraný objekt z Disku" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:726 -msgid "Only infill where needed" -msgstr "Výplň pouze kde je potřeba" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "Exportovat objekt jako STL" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1205 -msgid "Only lift Z" -msgstr "Pouze zvednout Z" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "Exportovat tento jediný objekt jako STL soubor" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1100 -msgid "Only lift Z above" -msgstr "Zvednout Z pouze nad" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" +msgstr "Podél osy X" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1109 -msgid "Only lift Z below" -msgstr "Zvednout Z pouze pod" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "Zrcadlit rozměr vybraného objektu podél osy X" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:915 -msgid "Only retract when crossing perimeters" -msgstr "Provést retrakci pouze při přejíždění perimetrů" +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" +msgstr "Podél osy Y" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:438 -msgid "Ooze prevention" -msgstr "Prevence odkapávání" +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "Zrcadlit rozměr vybraného objektu podél osy Y" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:251 -msgid "Open a model" -msgstr "Otevřít model" +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" +msgstr "Podél osy Z" -#: xs/src/slic3r/GUI/Tab.cpp:1598 -msgid "Open CA certificate file" -msgstr "Otevřít soubor s certifikátem CA" +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "Zrcadlit rozměr vybraného objektu podél osy Z" -#: lib/Slic3r/GUI/MainFrame.pm:194 -msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O" -msgstr "Otevřít STL/OBJ/AMF/3MF… \tCtrl+O" +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "Zrcadlit" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Open the 3D cutting tool" -msgstr "Otevřete nástroj 3D řezání" +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "Zrcadlit vybraný objekt" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Open the object editor dialog" -msgstr "Otevře dialogové okno editoru objektů" +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "Otavřít stránku vydání Prusa Edice ve vašem prohlížeči" +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" +msgstr "Rozdělit vybraný objekt na jednotlivé objekty" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Open the Prusa3D drivers download page in your browser" -msgstr "Otevřít stránku pro stahování Prusa 3D ovladačů ve vašem prohlížeči" +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Open the Slic3r manual in your browser" -msgstr "Otevřít Slic3r návod ve vašem prohlížeči" +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" +msgstr "Rozdělit vybraný objekt na jednotlivé části" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Open the Slic3r website in your browser" -msgstr "Otevřít webovou stránku Slic3ru ve vašem prohlížeči" +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "Rozdělit" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:27 -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." -msgstr "Optimalizovat rychloposuny do pořadí aby se minimalizovalo přejíždění perimetrů. Nejvíce užitečné u Bowdenových extruderů které trpí na vytékáné filamentu. Toto nastavení zpomaluje tisk i generování G-code." +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" +msgstr "Rozdělit vybraný objekt" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:384 -msgid "Options for support material and raft" -msgstr "Volby pro podpory a raft" +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:57 -msgid "Origin" -msgstr "Počátek" +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:469 -msgid "Other" -msgstr "Ostatní" +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" +msgstr "Uložit G-code jako:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:38 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1572 -msgid "Other layers" -msgstr "Ostatní vrstvy" +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:295 -msgid "Other Vendors" -msgstr "Ostatní výrobci" +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" +msgstr "Soubor STL byl exportován do %s" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:238 -msgid "Other vendors" -msgstr "Ostatní prodejci" +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" +msgstr "Soubor AMF byl exportován do %s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:488 -msgid "Output file" -msgstr "Výstupní soubor" +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" +msgstr "Chyba při exportu souboru AMF %s" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:930 -msgid "Output filename format" -msgstr "Formát názvu výstupního souboru" +#: src/slic3r/GUI/Plater.cpp:2891 +#, c-format +msgid "3MF file exported to %s" +msgstr "Soubor 3MF byl exportován do %s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:476 -msgid "Output options" -msgstr "Možnosti výstupu" +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "Chyba při exportu souboru 3MF %s" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:140 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:82 -msgid "Overhang perimeter" -msgstr "Perimetr převisu" +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "Obecné" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1550 -msgid "Overhang threshold" -msgstr "Mezní úhel převisu" +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "Pamatovat si výstupní složku" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:463 -msgid "Overlap" -msgstr "Překrytí" +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "" +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." +msgstr "" +"Pokud je tato volba povolena, Slic3r vyvolá poslední výstupní adresář " +"namísto toho, který obsahuje vstupní soubory." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1508 -msgid "Pattern" -msgstr "Vzor" +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "Auto-centrování objektů" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1398 -msgid "Pattern angle" -msgstr "Úhel vzoru" +#: src/slic3r/GUI/Preferences.cpp:44 +msgid "" +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." +msgstr "" +"Pokud je tato možnost povolena, Slic3r bude automaticky centrovat objekty " +"kolem středu tiskové plochy." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1524 -msgid "Pattern spacing" -msgstr "Rozteč podpor" +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "Zpracování na pozadí" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1510 -msgid "Pattern used to generate support material." -msgstr "Vzor použitý pro generování podpor." +#: src/slic3r/GUI/Preferences.cpp:52 +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." +msgstr "" +"Pokud je tato možnost povolena, Slic3r předprojektuje objekty, jakmile budou " +"načteny, aby šetřil čas při exportu G-code." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:138 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:80 -msgid "Perimeter" -msgstr "Perimetr" +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "Potlačit “ - výchozí - “ přednastavení" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:957 -msgid "Perimeter extruder" -msgstr "Extruder pro perimetry" +#: src/slic3r/GUI/Preferences.cpp:76 +msgid "" +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." +msgstr "" +"Potlačit “ - výchozí - “ přednastavení v nabídkách Tisk / Filament / " +"Tiskárna, jakmile budou k dispozici další platné předvolby." + +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "Zobrazit nekompatibilní přednastavení tisku a filamentu" + +#: src/slic3r/GUI/Preferences.cpp:84 +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 "" +"Pokud je zaškrtnuto, přednastavení tisku a filamentu se zobrazují v editoru " +"přednastavení, i když jsou označeny jako nekompatibilní s aktivní tiskárnou" + +#: src/slic3r/GUI/Preferences.cpp:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "Použijte historické OpenGL 1.1 vykreslování" + +#: src/slic3r/GUI/Preferences.cpp:92 +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 "" +"Pokud máte problémy s vykreslováním způsobené chybným ovladačem OpenGL 2.0, " +"můžete se pokusit zaškrtnout toto políčko. Tím se vypnou úpravy výšky " +"hladiny a vyhlazení, takže je je lepší upgradovat grafický ovladač." + +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "Chcete-li provést změny, musíte restartovat aplikaci Slic3r." + +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "" + +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "Systémové přednastavení" + +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "Uživatelská přednastavení" + +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" +msgstr "" + +#: 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 "" +"Pokud je odhadovaný čas vrstvy nižší než ~% ds, bude ventilátor pracovat na " +"%d%% a rychlost tisku bude snížena tak, aby na tuto vrstvu nebylo použito " +"méně než %ds (rychlost však nikdy nebude snížena pod %dmm/s)." + +#: 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%%." +msgstr "" +"\n" +"Pokud je odhadovaný čas vrstvy delší, ale stále pod ~% ds, bude ventilátor " +"pracovat s plynule klesající rychlostí mezi %d%% a %d%%." + +#: src/slic3r/GUI/PresetHints.cpp:36 +msgid "" +"\n" +"During the other layers, fan " +msgstr "" +"\n" +"V průběhu ostaních vrstev, ventilátor " + +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "Ventilátor " + +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "bude vždy běžet na %d%% " + +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "s výjimkou prvních %d vrstev" + +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "vyjma první vstvy" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:160 +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "bude vypnut." + +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "vnější perimetry" + +#: src/slic3r/GUI/PresetHints.cpp:162 msgid "perimeters" msgstr "perimetry" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:948 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:978 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:988 -msgid "Perimeters" -msgstr "Perimetry" +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "výplň" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 -msgid "Pick another vendor supported by Slic3r PE:" -msgstr "Vyberte si jiného prodejce podporovaného v Slic3r PE:" +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "plná výplň" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Place one more copy of the selected object" -msgstr "Přidá jednu kopii vybraného objektu" +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "vrchní plná výplň" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:118 -msgid "Plater" -msgstr "Podložka" +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "podpory" -#: lib/Slic3r/GUI/Plater.pm:1897 -msgid "Please install the OpenGL modules to use this feature (see build instructions)." -msgstr "Pro použití této funkce prosím nainstalujte OpenGL moduly (viz instrukce vlastního sestavení)." +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "kontaktní vrstva podpor" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1199 -msgid "Position (for multi-extruder printers)" -msgstr "Pozice (pro tiskárny s více extrudery)" +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "Volumetrická hodnota první vrstvy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1153 -msgid "Position of perimeters starting points." -msgstr "Pozice začátku perimetrů." +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "Volumetrická hodnota mostů" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1702 -msgid "Position X" -msgstr "Pozice X" +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "Volumetrický" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1709 -msgid "Position Y" -msgstr "Pozice Y" +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr " průtok je maximalizován " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:494 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1001 -msgid "Post-processing scripts" -msgstr "Postprodukční skripty" +#: src/slic3r/GUI/PresetHints.cpp:220 +msgid "by the print profile maximum" +msgstr "maximem pro profil tisku" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.hpp:17 -msgid "Preferences" -msgstr "Nastavení" +#: src/slic3r/GUI/PresetHints.cpp:221 +msgid "when printing " +msgstr "při tisku " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1171 -msgid "Preferred direction of the seam" -msgstr "Preferovaný směr švu" +#: src/slic3r/GUI/PresetHints.cpp:222 +msgid " with a volumetric rate " +msgstr " s objemovou rychlostí " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1183 -msgid "Preferred direction of the seam - jitter" -msgstr "Preferovaný směr švu - rozkmit" +#: src/slic3r/GUI/PresetHints.cpp:226 +#, c-format +msgid "%3.2f mm³/s" +msgstr "%3.2f mm³/s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2125 -msgid "Preview" -msgstr "Náhled" +#: src/slic3r/GUI/PresetHints.cpp:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr " při rychlosti filamentu %3.2f mm/s." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid "Previously sliced file (" -msgstr "Dříve slicovaný soubor (" +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." +msgstr "" +"Doporučená tloušťka stěny objektu: Není k dispozici kvůli neplatné výšce " +"vrstvy." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 -msgid "print" -msgstr "tisk" +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "Doporučená tloušťka stěny objektu pro výšku vrstvy %.2f and " + +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "%d linie: %.2lf mm" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:291 -msgid "Print contour perimeters from the outermost one to the innermost one instead of the default inverse order." -msgstr "Tisk obrysových perimetrů od vnějších po vnitřní namísto opačného výchozího pořadí." +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Print Diameters" -msgstr "Průměry tisku" +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:182 -msgid "Print Settings" -msgstr "Nastavení tisku" +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:367 -msgid "Print settings" -msgstr "Nastavení tisku" +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:836 -msgid "Print speed override" -msgstr "Přepsání rychlosti tisku" +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:369 -msgid "Printer" -msgstr "Tiskárna" +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 -msgid "printer" -msgstr "tiskárna" +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:762 -msgid "printer model" -msgstr "model tiskárny" +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1014 -msgid "Printer notes" -msgstr "Poznámky o tiskárně" +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:228 -msgid "Printer Settings" -msgstr "Nastavení tiskárny" +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" +msgstr "ŽÁDNÁ RAPIDNÍ EXTRUZE" + +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" +msgstr "Čas" + +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "s" + +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "Objemová rychlost" + +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" +msgstr "Slic3r Prusa Edition - Informace o systému" + +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "Kompatibilní tiskárny" + +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "Vyberte tiskárny, s nimiž je tento profil kompatibilní." + +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "Uložit stávající " + +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "Smazat přednastavení" + +#: src/slic3r/GUI/Tab.cpp:131 +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 nebo na tlačítko klikněte." + +#: src/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "Je to výchozí přednastavení." + +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "Je to systémové přednastavení." + +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "Aktuální nastavení je zděděno od " + +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " +msgstr "Nelze smazat nebo upravit. " + +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "" +"Jakékoliv úpravy by měly být uloženy jako nové přednastavení zděděná z " +"tohoto. " + +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "" +"Chcete-li akci provést, prosím nejdříve zadejte nový název přednastavení." + +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "Doplňující informace:" + +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" +msgstr "model tiskárny" + +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" +msgstr "výchozí tiskový profil" + +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" +msgstr "výchozí profil filamentu" + +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "Vrstvy a perimetry" + +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "Výška vrstvy" + +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "Svislé stěny" + +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "Vodorovné stěny" + +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "Plných vrstev" + +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "Kvalita (pomalejší slicing)" + +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "Zkracování tiskového času" + +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "Obrys a límec" + +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "Raft" + +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "Volby pro podpory a raft" + +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "Speed for print moves" + +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "Netiskové rychlosti" + +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "Modifikátory" + +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "Kontrola akcelerací (pokročilé)" + +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "Automatická rychlost (pokročilé)" + +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "Multiple Extruders" + +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "Prevence odkapávání" + +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "Šířka extruze" + +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "Překrytí" + +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "Průtok" + +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "Ostatní" + +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "Možnosti výstupu" + +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "Sekvenční tisk" + +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "Kolizní oblast extruderu (mm)" + +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "Výstupní soubor" + +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "Postprodukční skripty" + +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "Poznámky" + +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "Závislosti" + +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "Profilové závislosti" + +#: src/slic3r/GUI/Tab.cpp:1161 +#, 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 "" +"Mód spirálové vázy vyžaduje:\n" +"- jeden perimeter\n" +"- žádné plné vrchní vrstvy\n" +"- 0% hustota výplně\n" +"- žádné podpěry\n" +"- nezjišťování vertikální tloušťky pláště\n" +"\n" +"Mám tyto nastavení upravit tak, aby bylo možné mód spirálové vázy zapnout?" + +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "Spirálová váza" + +#: src/slic3r/GUI/Tab.cpp:1191 +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 "" +"Čistící věž v současné době podporuje pouze nerozpustné podpory\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 popor tak extruder pro tisk kontaktních podpor je " +"třeba nastavit na 0).\n" +"\n" +"Mám tyto nastavení upravit tak, aby bylo možné zapnout Čistící věž?" + +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "Čistící věž" + +#: src/slic3r/GUI/Tab.cpp:1209 +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 "" +"U čistící věže pokud pracujte s rozpustnými materiály, je třeba\n" +"synchronizovat vrstvy podpor s vrstvami objektů.\n" +"\n" +"Mám synchronizovat vrstvy podpor, aby bylo možné zapnout Čistící věž?" + +#: src/slic3r/GUI/Tab.cpp:1227 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" +msgstr "" +"Podpory fungují lépe, pokud je povolena následující funkce:\n" +"- Zjistit přemosťovací perimetry\n" +"\n" +"Mám tyto nastavení pro podpory upravit?" + +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "Generátor Podpor" + +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format +msgid "" +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" +msgstr "" +" vzor výplně není určen pro práci se 100% hustotou.\n" +"\n" +"Mám přejít na vzor výplně rectilinear?" + +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "Teplota " + +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" +msgstr "Tisková podložka" + +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "Chlazení" + +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "Zapnout" + +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "Nastavení ventilátoru" + +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "Rychlost ventilátoru" + +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "Podmínky chlazení" + +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "Vlastnosti filamentu" + +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "Přepsání rychlosti tisku" + +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" +msgstr "Parametry při výměně (Multi Material s jedním extruderem)" + +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" +msgstr "Nastavení rapidní extruze" + +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "Vlastní G-code" + +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "Začátek G-code" + +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "Konec G-code" + +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr " Procházet " + +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "Test" + +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "Úspěch!" + +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" +"Soubor HTTPS CA je volitelný. Je nutný pouze pokud použijte HTTPS certifikát " +"s vlastním podpisem." + +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "Soubory s certifikátem (*.crt, *.pem)|*.crt;*.pem|Všechny soubory|*.*" + +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" +msgstr "Otevřít soubor s certifikátem CA" + +#: src/slic3r/GUI/Tab.cpp:1676 +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:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "Rozměr a souřadnice" + +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr " Nastavit " + +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "Možnosti" + +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "Počet extrudérů tiskárny." + +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "USB/Sériové připojení" + +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "Sériový port" + +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "Znovu prohledat sériové porty" + +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "Připojení k tiskárně pracuje správně." + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "Připojení selhalo." + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "G-code před změnou vrstvy" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "G-code po změně vrstvy" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "G-code pro výměnu nástroje" + +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "G-code mezi objekty (pro sekvenční tisk)" + +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" +msgstr "Nastavení jednoho extruderu MM" + +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" +msgstr "Parametry jednoho multi materiálového extruderu" + +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "Extruder %d" + +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "Výskové limity vrstvy" + +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "Pozice (pro tiskárny s více extrudery)" + +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "Retrakce" + +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "Pouze zvednout Z" + +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" +msgstr "" +"Retrakce pro neaktivní extruder (pokročilé nastavení pro tiskárny typu " +"MultiMaterial)" + +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "Náhled" + +#: src/slic3r/GUI/Tab.cpp:2284 +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 retrací z firmwaru.\n" +"\n" +"Mám ji deaktivovat, aby bylo možné povolit retrakce z firmwaru?" + +#: src/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" +msgstr "Firmware Retrakce" + +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" +msgstr "Výchozí přednastavení (%s)" + +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" +msgstr "má neuložené následující změny:" + +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" +msgstr "není kompatibilní s tiskárnou" + +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" +msgstr "a má neuložené následující změny:" + +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" +msgstr "Zahodit změny a přesto pokračovat?" + +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "Neuložené Změny" + +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "Název je prázdný. Nelze uložit." + +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." +msgstr "Nelze přepsat systémový profil." + +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." +msgstr "Nelze přepsat externí profil." + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "odebrat" + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "smazat" + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "Jste si jistý že chcete " + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr " zvolené přednastavení?" + +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "Odebrat" + +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr " Přednastavení" + +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "Vše" + +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "" +"ZAMKNUTÝ ZÁMEK; indikuje, že nastavení jsou stejná jako systémové hodnoty " +"pro aktuální skupinu nastavení" + +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." +msgstr "" +"ODEMKNUTÝ ZÁMEK;indikuje, že některá nastavení byla změněna a nejsou shodná " +"se systémový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é hodnoty." + +#: src/slic3r/GUI/Tab.cpp:2878 +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." +msgstr "" +"BÍLÁ TEČKA;pro levé tlačítko: indikuje nesystémové přednastavení,\n" +"pro pravé tlačítko: indikuje, že nastavení nebylo změněno." + +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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 "" +"ŠIPKA 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í. 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/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" +msgstr "" +"Ikona ZAMKNUTÉHO ZÁMKU indikuje, že nastavení jsou stejná jako systémové " +"hodnoty pro aktuální skupinu nastavení" + +#: src/slic3r/GUI/Tab.cpp:2910 +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." +msgstr "" +"Ikona ODEMKNUTÉHO ZÁMKU indikuje, že některá nastavení byla změněna a nejsou " +"shodná se systémový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:2913 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "Ikona BÍLÉ TEČKY indikuje nesystémové přednastavení." + +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." +msgstr "" +"Ikona BÍLÉ TEČKY indikuje, že nastavení jsou shodná s naposledy uloženým " +"přednastavením pro danou skupinu nastavení." + +#: src/slic3r/GUI/Tab.cpp:2918 +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:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" +"Ikona ZAMKNUTÉHO ZÁMKU indikuje, že hodnota je shodná se systémovou hodnotou." + +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" +"Ikona ODEMKNUTÉHO ZÁMKU indikuje, že se hodnota změnila a není shodná se " +"systémovou hodnotou.\n" +"Klikněte pro reset současné hodnoty na systémovou hodnotu." + +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" +"Ikona BÍLÉ TEČKY indikuje, že je hodnota shodná s naposledy uloženým " +"přednastavením." + +#: src/slic3r/GUI/Tab.cpp:2932 +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í." + +# Used in this context: _("Save ") + title + _(" as:") +#: src/slic3r/GUI/Tab.cpp:3031 +msgid " as:" +msgstr " jako:" + +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "Zadaný název není dostupný." + +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "Vrstvy" + +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "Nastavení tisku" + +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "Nastavení filamentu" + +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "Nastavení tiskárny" + +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "Uložit přednastavení" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "Je dostupná aktualizace" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "Je dostupná nová verze Slic3r PE" + +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "Pro stažení, klikněte na odkaz níže." + +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "Aktuální verze:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "Nová verze:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "Neupozorňovat na nové verze" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "Aktualizace nastavení" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "Je k dispozici aktualizace nastavení" + +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "Nekompatibilita Slic3ru" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "Konfigurace Slic3ru není kompatibilní" + +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" +"Tato verze Slic3r PE není kompatibilní se současně nainstalovanými balíčky " +"nastavení.\n" +"Tato situace nejspíše nastala spuštěním starší verze Slic3r PE po používání " +"novější verze.\n" +"\n" +"Můžete buď ukončit Slic3r a zkusit to znovu s novou verzí, nebo můžete znovu " +"spustit výchozí konfiguraci. Před instalací kompatibilního nastavení s touto " +"verzí Slic3ru dojde k vytvoření zálohy současné konfigurace.\n" + +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" +msgstr "Tato verze Slic3r PE: %s" + +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "Nekompatibilní balíky:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "Ukončit Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "Přenastavit" + +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format +msgid "" +"Slic3r PE 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 "" +"Slic3r PE 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" +"Prosím postupujte dle %s, který následuje pro nastavení nových přednastavení " +"a vyberte si, zdali chcete jejich automatickou aktualizaci." + +#: src/slic3r/GUI/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "Pro více informací prosím navštivte naší wiki stránku:" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "Přizpůsobení rapidní extruze" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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:78 +msgid "Total ramming time" +msgstr "Celkový čas rapidní extruze" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "Celkový objem rapidní extruze" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "Šířka linky při rapidní extruzi" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "Rozestup linek při rapidní extruzi" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "Čistící věž - Úprava objemu čištění" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "" +"Zde můžete upravit požadovaný objem čištění (mm³) pro kteroukoliv dvojici " +"extruderů." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "Extruder změněn na" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "vyjmuto" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "zaváděn" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "Nástroj #" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" +"Celkový objem čištění je spočítán jako součet dvou hodnot níže v závislosti " +"na tom, které extrudery jsou zavedeny/vyjmuty." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "Objem k vyčištění (mm³) pokud je filament" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "Předchozí extruder" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +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/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "Zobrazit jednoduché nastavení" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "Zobrazit rozšířená nastavení" + +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "Připojení k OctoPrint pracuje správně." + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "Nelze se spojit s OctoPrintem" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "Poznámka: Je vyžadován OctoPrint ve verzi alespoň 1.1.0." + +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "vyžaduje min. %s a max. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +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 "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" +msgstr "" + +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "" + +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "" + +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" + +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" + +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" + +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" + +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" + +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" + +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" + +#: src/libslic3r/Print.cpp:1255 +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:1257 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" +msgstr "" + +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" + +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" + +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "" + +#: src/libslic3r/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "" + +#: src/libslic3r/Print.cpp:1316 +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 "" + +#: src/libslic3r/Print.cpp:1324 +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:1328 +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 "" + +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "" + +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "Tvar tiskové podložky" + +#: src/libslic3r/PrintConfig.cpp:48 +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 "" +"Toto nastavení řídí výšku (a tedy výsledný počet) řezů/vrstev. Tenčí vrstva " +"poskytuje lepší přesnost, ale tiskne se déle." + +#: src/libslic3r/PrintConfig.cpp:56 +msgid "Max print height" +msgstr "Maximální výška tisku" + +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" +"Nastavte tuto hodnotu na maximální výšku, která může být dosažena extruderem " +"během tisku." + +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "Vyhnout se přejíždění perimetrů" + +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" +"Optimalizovat rychloposuny do pořadí aby se minimalizovalo přejíždění " +"perimetrů. Nejvíce užitečné u Bowdenových extruderů které trpí na vytékáné " +"filamentu. Toto nastavení zpomaluje tisk i generování G-code." + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "Ostatní vrstvy" + +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" +"Teplota tiskové podložky pro další vrstvy po první vrstvě. Nastavením na " +"hodnotu nula vypnete ovládací příkazy teploty tiskové podložky ve výstupu." + +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "Teplota tiskové podložky" + +#: src/libslic3r/PrintConfig.cpp:93 +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 "" +"Tento vlastní kód je vložen pro každou změnu vrstvy, předtím než se pohne Z. " +"Můžete přidávat zástupné proměnné pro veškeré nastavení Slic3ru stejně tak " +"jako [layer_num] a [layer_z]." + +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "G-code mezi objekty" + +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" +"Tento kód je vložen mezi objekty, pokud je použit sekvenční tisk. Ve " +"výchozím nastavení je resetován extruder a tisková podložka pomocí non-wait " +"(nečekacím) příkazem; nicméně pokud jsou příkazy M104, M109, 140 nebo M190 " +"detekovány v tomto vlastním kódu, Slic3r nebude přidávat teplotní příkazy. " +"Můžete přidávat zástupné proměnné pro veškeré nastavení Slic3ru, takže " +"můžete vložit příkaz “M109 S[first_layer_temperature]” kamkoliv chcete." + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "Spodních" + +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "Počet plných vrstev." + +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "Plné spodní vrstvy" + +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "Most" + +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "" +"Nastavení akcelerace tiskárny při vytváření mostů. Nastavením na nulu " +"vypnete ovládání akcelerace pro mosty." + +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "mm/s²" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "Úhel vytváření mostů" + +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" +"Přepsání úhlu vytváření mostů. Nastavením hodnoty na nulu se bude úhel " +"vytváření mostů vypočítávat automaticky. Při zadání jiného úhlu, bude pro " +"všechny mosty použitý zadaný úhel. Pro nulový úhel zadejte 180°." + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "°" + +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "Rychlost ventilátoru při vytváření mostů" + +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "" +"Nastavená rychlost ventilátoru je využita vždy při vytváření mostů a přesahů." + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "%" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "Poměr průtoku při vytváření mostů" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" +"Tato hodnota určuje množství vytlačeného plastu při vytváření mostů. Mírným " +"snížením této hodnoty můžete předejít pronášení ikdyž, přednastavené hodnoty " +"jsou většinou dobré a je lepší experimentovat s chlazením (využitím " +"ventilátoru), než s touto hodnotou." + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "Mosty" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "Rychlost pro vytváření mostů." + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "mm/s" + +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "Šířka límce" + +#: src/libslic3r/PrintConfig.cpp:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "Šírka límce který bude vytištěn v první vrstvě okolo každého objektu." + +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "Připnutí objektů z více částí k sobě" + +#: src/libslic3r/PrintConfig.cpp:188 +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 "" +"Připnutí překrývajících se objektů jeden k druhému při Multimateriálovém " +"tisku. (Druhá část se připne k první, třetí část k první a druhé, atd)." + +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "Stav kompatibilních tiskáren" + +#: src/libslic3r/PrintConfig.cpp:208 +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 "" +"Logický výraz může používat konfigurační hodnoty aktivního profilu tiskárny. " +"Pokud je tento logický výraz pravdivý, potom je tento profil považován za " +"kompatibilní s aktivním profilem tiskárny." + +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:221 +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:235 +msgid "Complete individual objects" +msgstr "Dokončení individuálních objektů" + +#: src/libslic3r/PrintConfig.cpp:236 +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 "" +"Při tisku více objektů nebo kopií tiskárna kompletně dokončí jeden objekt, " +"předtím než začne tisknout druhý (začíná od spodní vstvy). Tato vlastnost je " +"výhodná z důvodů snížení rizika zničených výtisků. Slic3r by měl varovat při " +"možné kolizi extruderu s objektem a zabránit mu, přesto doporučujeme " +"obezřetnost." + +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "Zapnutí automatického chlazení" + +#: src/libslic3r/PrintConfig.cpp:246 +msgid "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." +msgstr "" +"Zapne výpočet automatického chlazení který upravuje rychlost tisku a " +"ventilátoru v závislosti na délce tisku jedné vstvy." + +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "Pozice chladící trubičky" + +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "Vzdálenost ze středu chladící trubičky ke špičce extruderu " + +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "Délka chladící trubičky" + +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "" +"Délka kovové trubičky určené pro ochlazení a zformování filamentu po " +"vytažení z extruderu " + +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" +"Toto je hodnota akcelerace na kterou se tiskárna vrátí po specifických " +"úpravách akcelerace například při tisku (perimetru/výplně). Nastavením na " +"nulu zabráníte návratu rychlostí zcela." + +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "Výchozí profil filamentu" + +#: src/libslic3r/PrintConfig.cpp:282 +msgid "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." +msgstr "" +"Výchozí materiálový profil spojený se současným profilem tiskárny. Při " +"výběru současného profilu tiskárny se aktivuje tento materiálový profil." + +#: src/libslic3r/PrintConfig.cpp:287 +msgid "Default print profile" +msgstr "Výchozí tiskový profil" + +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +msgid "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." +msgstr "" +"Výchozí tiskový profil spojený se současným profilem tiskárny. Při výběru " +"současného profilu tiskárny se aktivuje tento tiskový profil." + +#: src/libslic3r/PrintConfig.cpp:293 +msgid "Disable fan for the first" +msgstr "Vypnutí chlazení pro prvních" + +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" +"Nastavením počtu prvních vstev s vypnutým chlazením pro nezhoršování " +"přilnavosti." + +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "vrstvu" + +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "Nevytvářet podpory pod mosty" + +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "" +"Experimentální nastavení pro zabránění tvorbě podpěr v oblastech po mosty." + +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "Vzdálenost mezi kopiemi" + +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "Vzdálenost, použitá pro funkci automatického rozmístění po podložce." + +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "Kompenzace rozplácnutí první vrstvy" + +#: src/libslic3r/PrintConfig.cpp:324 +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 "" +"První vrstva bude v rovině XY zmenšena nakonfigurovanou hodnotou, která " +"kompenzuje rozplácnutí první vrstvy." + +#: src/libslic3r/PrintConfig.cpp:334 +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 "" +"Tato ukončovací procedůra je vložena na konec výstupního souboru. Můžete " +"přidávat zástupné proměnné pro veškeré nastavení Slic3ru." + +#: src/libslic3r/PrintConfig.cpp:345 +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 "" +"Tato ukončovací procedůra je vložena na konec výstupního souboru, před " +"konečným G-code tiskárny. Můžete přidávat zástupné proměnné pro veškeré " +"nastavení Slic3ru. Pokud máte tiskárnu s více extrudery, G-code je zpracován " +"v pořadí extruderů." + +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "Zajistit tloušťku svislých stěn" + +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" +"Přidá plnou výplň u šikmých ploch pro garanci tloušťky svislých stěn " +"(vrchních a spodních plných vrstev)." + +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "Vzor výplně horních/spodních vrstev" + +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "" +"Vzor výplně pro vrchní/spodní vrstvy. Ovlivňuje pouze vnější viditelné " +"vrstvy. Neovlivňuje přilehlé plné obaly." + +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "Vnější perimetry" + +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" +"Nastavením na kladnou hodnotu, definuje šířku manuální extruze pro vnější " +"obvod. Pokud je ponechána nula, použije se výchozí šířka extruze, pokud je " +"nastavena, jinak se použije průměr trysky 1,125 x. Pokud je hodnota " +"vyjádřena jako procento (například 200%), vypočítá se podle výšky vrstvy." + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "mm nebo % (ponechte 0 jako výchozí)" + +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" +"Toto oddělené nastavení ovlivní rychlost tisku vnějších perimetrů (těch " +"viditelných). Pokud je hodnota vyjádřena procenty (například: 80%), bude " +"rychlost vypočítána z hodnoty rychlosti tisku perimetrů, nastavené výše. " +"Nastavte nulu pro automatický výpočet." + +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "mm/s nebo %" + +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "Nejprve tisknout vnější perimetry" + +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "" +"Tisk obrysových perimetrů od vnějších po vnitřní namísto opačného výchozího " +"pořadí." + +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "Extra perimetry pokud jsou potřeba" + +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" +"Přidání více perimetrů, pokud je potřeba, pro vyvarování se tvorbě mezer v " +"šikmých plochách. Slic3r pokračuje v přidávání perimetrů, dokud není " +"podepřeno více než 70% perimetrů v následující vrstvě." + +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"The extruder to use (unless more specific extruder settings are specified). " +"This value overrides perimeter and infill extruders, but not the support " +"extruders." +msgstr "" +"Extruder, který chcete použít (pokud nejsou zvoleny specifičtější nastavení " +"extruderu). Tato hodnota přepíše nastavení perimetrového a výplňového " +"exrtuderu, ale ne nastavení extruderu pro podpory." + +#: src/libslic3r/PrintConfig.cpp:444 +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." +msgstr "" +"Zadejte vertikální vzdálenost mezi tryskou a (obvykle) tyčemi osy X. Jinými " +"slovy, je to výška kolizního prostoru okolo extruderu a představuje " +"maximální hloubku, které může extruder dosáhnout před kolizí s jinými, již " +"vytištěnými, objekty." + +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "Rádius" + +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" +"Zadejte horizontální rádius kolizního prostoru okolo extruderu. Pokud tryska " +"není v centru tohoto rádiusu, zvolte nejdelší vzdálenost. Toto nastavení " +"slouží ke kontrole kolizí a zobrazení grafického náhledu na podložce." + +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "Barva extruderu" + +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "Toto je ve Slic3ru jako názorná pomoc." + +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "Odsazení extruderu" + +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" +"Pokud firmware nezpracovává umístění extruderu správně, potřebujete aby to " +"vzal G-code v úvahu. Toto nastavení umožňuje určit odsazení každého " +"extruderu vzhledem k prvnímu. Očekávají se pozitivní souřadnice (budou " +"odečteny od souřadnice XY)." + +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "Osa extruderu" + +#: src/libslic3r/PrintConfig.cpp:487 +msgid "" +"Use this option to set the axis letter associated to your printer's extruder " +"(usually E but some printers use A)." +msgstr "" +"Touto volbou nastavíte písmeno osy přidružené k extruderu tiskárny (obvykle " +"E, ale některé tiskárny používají A)." + +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "Násobič extruze" + +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" +"Tento faktor mění poměrné množství průtoku. Možná bude třeba toto nastavení " +"vyladit, pro dosažení hezkého povrchu a správné šířky jednotlivých stěn. " +"Obvyklé hodnoty jsou mezi 0,9 a 1,1. Pokud si myslíte, že hodnotu " +"potřebujete změnit více, zkontrolujte průměr filamentu a E kroky ve firmwaru." + +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "Výchozí šířka extruze" + +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "" +"Nastavením kladné hodnoty povolíte manuální šířku extruze. Pokud je hodnota " +"ponechána na nule, Slic3r odvozuje šířku extruze z průměru trysky (viz " +"nápovědy pro šířku extruze perimetru, šířku extruze výplně apod.). Pokud je " +"hodnota vyjádřena procenty (například: 230%), vypočítá se z výšky vrstvy." + +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "mm or % (pro automatické ponechte 0)" + +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "Ventilátor vždy zapnutý" + +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" +"Pokud je tato funkce zapnutá, ventilátor nebude nikdy vypnut a bude udržován " +"v chodu alespoň rychlostí která je nastavena jako minimální rychlost. " +"Užitečné pro PLA, škodlivé pro ABS." + +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "Zapnout ventilátor pokud je doba tisku vrstvy kratší než" + +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "" +"Pokud je doba tisku vrstvy odhadnuta jako kratší než tato nastavená hodnota " +"ve vteřinách, ventilátor bude aktivován a jeho rychlost bude vypočtena " +"interpolací minimální a maximální rychlosti." + +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "vteřin přibližně" + +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "Barva" + +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "Poznámky k filamentu" + +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "Zde můžete vložit poznámky týkající se filamentu." + +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "Maximální objemová rychlost" + +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" +"Maximální povolený objem průtoku pro tento filament. Omezuje maximální " +"rychlost průtoku pro tisk až na minimální rychlost průtoku pro tisk a " +"filament. Zadejte nulu pro nastavení bez omezení." + +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "mm³/s" + +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "Rychlost zavádění" + +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "Rychlost použitá pro zavádění filamentu na čistící věž. " + +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "Rychlost vysunutí" + +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " +msgstr "" +"Rychlost vysouvání filamentu při výměně na čistící věži (úvodní část " +"vysunutí okamžitě po rapidní extruzi není ovlivněna). " + +#: src/libslic3r/PrintConfig.cpp:590 +msgid "Unloading speed at the start" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "Zpoždění po vyjmutí" + +#: src/libslic3r/PrintConfig.cpp:600 +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. " +msgstr "" +"Doba čekání po vysunutí filamentu. Může pomoci ke spolehlivé výměně nástrojů " +"s flexibilními materiály, které potřebují více času ke smrštění na původní " +"rozměry. " + +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:611 +msgid "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1106 -msgid "Printer type" -msgstr "Typ tiskárny" +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1125 -msgid "Printer variant" -msgstr "Varianta tiskárny" +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1120 -msgid "Printer vendor" -msgstr "Prodejce tiskárny" +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:238 -msgid "Print…" -msgstr "Tisk…" +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Processing " -msgstr "Zpracovávám " +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:643 -msgid "Processing input file\n" -msgstr "Zpracovávám vstupní soubor\n" +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:508 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:868 -msgid "Profile dependencies" -msgstr "Profilové závislosti" +#: src/libslic3r/PrintConfig.cpp:651 +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 "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:300 -msgid "Progress:" -msgstr "Průběh:" +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" +msgstr "Parametry rapidní extruze" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Prusa 3D Drivers" -msgstr "Prusa 3D Ovladače" +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Prusa Edition Releases" -msgstr "Vydání Prusa Edice" +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:908 -msgid "Purging volumes" -msgstr "Objemy čištění" +#: src/libslic3r/PrintConfig.cpp:668 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1807 -msgid "Purging volumes - load/unload volumes" -msgstr "Objemy čištění - zaváděné / vyjmuté objemy" +#: src/libslic3r/PrintConfig.cpp:677 +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 "" +"Zde zadejte průměr filamentu. Je zapotřebí správné přesnosti, proto použijte " +"šupleru a proveďte několik měření podél filamentu, poté vypočtete průměr." -#: xs/src/libslic3r/PrintConfig.cpp:1815 -msgid "Purging volumes - matrix" -msgstr "Objemy čištění - matice" +#: src/libslic3r/PrintConfig.cpp:685 +msgid "Density" +msgstr "Hustota" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Q&uick Slice…\tCtrl+U" -msgstr "R&ychlé Slicování…\tCtrl+U" +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "" +"Zde zadejte hustotu filamentu. Toto je pouze pro statistické informace. " +"Přípustný způsob je zvážit známou délku filamentu a vypočítat poměr délky k " +"objemu. Je lepší vypočítat objem přímo přes posun." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:335 -msgid "Quality (slower slicing)" -msgstr "Kvalita (pomalejší slicing)" +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "g/cm³" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" -msgstr "Rychlé Slicování a Uložit &jako…\tCtrl+Alt+U" +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "Typ filamentu" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "Quit Slic3r" -msgstr "Ukončit Slic3r" +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:331 -msgid "Radius" -msgstr "Rádius" +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "Rozpustný materiál" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:380 -msgid "Raft" -msgstr "Raft" +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "Rozpustný materiál je převážně používán pro tisk rozpustných podpor." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1029 -msgid "Raft layers" -msgstr "Vrstev raftu" +#: src/libslic3r/PrintConfig.cpp:719 +msgid "" +"Enter your filament cost per kg here. This is only for statistical " +"information." +msgstr "" +"Zde zadejte cenu filamentu za kg. Slouží pouze pro statistické informace." -#: xs/src/slic3r/GUI/Tab.cpp:1319 -msgid "Ramming" -msgstr "Rapidní extruze" +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "korun/kg" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:14 -msgid "Ramming customization" -msgstr "Přizpůsobení rapidní extruze" +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "Úhel výplně" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/libslic3r/PrintConfig.cpp:731 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." +"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 "" -"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." +"Výchozí úhel pro orientaci výplně. Bude pro něj použito křížové šrafování. " +"Mosty budou vyplněny nejlepším směrem, který Slic3r dokáže rozpoznat, takže " +"toto nastavení je neovlivní." -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:90 -msgid "Ramming line spacing" -msgstr "Rozestup linek při rapidní extruzi" +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "Hustota výplně" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:88 -msgid "Ramming line width" -msgstr "Šířka linky při rapidní extruzi" +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "Hustota vnitřní výplně, vyjádřená v rozmezí 0% až 100%." -#: xs/src/libslic3r/PrintConfig.cpp:486 -msgid "Ramming parameters" -msgstr "Parametry rapidní extruze" +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "Vzor výplně" -#: xs/src/slic3r/GUI/Tab.cpp:1321 -msgid "Ramming settings" -msgstr "Nastavení rapidní extruze" +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "Vzor výplně pro obecnou výplň s nízkou hustotou." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Re-configure" -msgstr "Přenastavit" +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:297 -msgid "Ready" -msgstr "Připraveno" +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear" -msgstr "Zezadu" +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear View" -msgstr "Pohled zezadu" +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:262 -#, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "Doporučená tloušťka stěny objektu pro výšku vrstvy %.2f and " +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:245 -msgid "Recommended object thin wall thickness: Not available due to invalid layer height." -msgstr "Doporučená tloušťka stěny objektu: Není k dispozici kvůli neplatné výšce vrstvy." +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:46 -msgid "Rectangular" -msgstr "Obdélníkový" +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:352 -msgid "Reducing printing time" -msgstr "Zkracování tiskového času" +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload from Disk" -msgstr "Znovu načíst z Disku" +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "První vrstva" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload the selected file from Disk" -msgstr "Znovu načíst vybraný objekt z Disku" +#: src/libslic3r/PrintConfig.cpp:817 +msgid "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." +msgstr "" +"Toto je zrychlení, které vaše tiskárna použije pro první vrstvu. Nastavte " +"nulu pro vypnutí řízení zrychlení pro první vrstvu." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:27 -msgid "Remember output directory" -msgstr "Pamatovat si výstupní složku" +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." +msgstr "" +"Teplota vyhřívané tiskové podložky pro první vrstvu. Nastavením tuto hodnoty " +"na nulu vypnete příkazy pro řízení teploty ve vrstvě ve výstupu." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "remove" -msgstr "odebrat" +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "" +"Nastavením kladné hodnoty zvolíte manuální šířku vytlačování pro první " +"vrstvu. Toto můžete použít k vytlačování tlustší extruze pro lepší " +"přilnavost. Pokud je vyjádřeno jako procenty (například 120%), bude " +"vypočteno z výšky první vrstvy. Pokud je nastavena na nulu, použije se " +"výchozí šířka vytlačování." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -msgid "Remove" -msgstr "Odebrat" +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "Výška první vrstvy" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Remove one copy of the selected object" -msgstr "Odstaní jednu kopii vybraného objektu" +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "" +"Při tisku s velmi nízkými výškami vrstev můžete stále vytisknout tlustší " +"spodní vrstvu pro zlepšení přilnavosti a toleranci pro nedokonale " +"zkalibrovanou tiskovou podložku. Může být vyjádřeno jako absolutní hodnota " +"nebo jako procento (například: 150%) z výchozí výšky vrstvy." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Remove the selected object" -msgstr "Odstanit vybraný objekt" +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "mm nebo %" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:217 -msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)" -msgstr "Odstranit uživatelské profily - čistá instalace (nejprve bude provedena záloha)" +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" +msgstr "Rychlost první vrstvy" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Repair" -msgstr "Oprava" +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "" +"Pokud je vyjádřena jako absolutní hodnota v mm / s, bude tato rychlost " +"použita pro všechny pohyby tisku první vrstvy bez ohledu na jejich typ. " +"Pokud je hodnota vyjádřena procenty (například: 40%), změní v závisloti na " +"výchozích rychlostech." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Repair STL file…" -msgstr "Opravit soubor STL…" +#: src/libslic3r/PrintConfig.cpp:872 +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 "" +"Teplota extruderu pro první vrstvu. Chcete-li během tisku ručně ovládat " +"teplotu, nastavte tuto hodnotu na nulu, aby se ve výstupním souboru zakázaly " +"příkazy pro řízení teploty." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "Repeat last quick slice" -msgstr "Opakovat poslední rychlé slicování" +#: src/libslic3r/PrintConfig.cpp:882 +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 "" +"Rychlost plnění malých mezer pomocí krátkých cikcak pohybů. Udržujte tuto " +"hodnotu poměrně nízkou, aby nedošlo k přílišným otřesům a problémům s " +"rezonancí. Nastavte nulu pro vypnutí vyplnění mezery." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an Issue" -msgstr "Nahlásit chybu" +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "Komentáře do G-code" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Nahlásit chybu ve Slic3eru Prusa Edice" +#: src/libslic3r/PrintConfig.cpp:891 +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." +msgstr "" +"Aktivací získáte komentovaný soubor G-code, přičemž každý řádek je doplněn " +"popisným textem. Pokud tisknete z SD karty, dodatečné informace v souboru " +"můžou zpomalit firmware." -#: xs/src/slic3r/Utils/PresetUpdater.cpp:514 -#, c-format -msgid "requires min. %s and max. %s" -msgstr "vyžaduje min. %s a max. %s" +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "Druh G-code" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:288 -msgid "Rescan" -msgstr "Prohledat" +#: src/libslic3r/PrintConfig.cpp:900 +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 "" +"Některé příkazy G/M code, včetně řízení teploty a jiné, nejsou univerzální. " +"Vyberte typ firmwaru který používá vaše tiskárna pro dosažení kompatibilního " +"výstupu. Příkazy typu “No extrusion” zabraňují Slic3ru zcela exportovat " +"jakoukoliv hodnotu extruze." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:995 -msgid "Rescan serial ports" -msgstr "Znovu prohledat sériové porty" +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1039 -msgid "Resolution" -msgstr "Rozlišení" +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1057 -msgid "Retract amount before wipe" -msgstr "Délka retrakce před očištěním" +#: src/libslic3r/PrintConfig.cpp:930 +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 "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1065 -msgid "Retract on layer change" -msgstr "Retrakce při změně vrstvy" +#: src/libslic3r/PrintConfig.cpp:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "" +"Toto je zrychlení, které vaše tiskárna použije pro výplň. Nastavte nulu, " +"chcete-li vypnout řízení zrychlení pro výplň." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1202 -msgid "Retraction" -msgstr "Retrakce" +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "Kombinovat výplň každou" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1051 -msgid "Retraction is not triggered when travel moves are shorter than this length." -msgstr "Retrakce není spuštěna, pokud jsou rychloposuny pojezdu kratší než tato délka." +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" +"Tato funkce umožňuje kombinovat výplň a urychlit tisk pomocí extruzí " +"silnějších výplňových vrstev při zachování tenkých obvodů, a tím i přesnosti." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1072 -msgid "Retraction Length" -msgstr "Vzdálenost retrakce" +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "Kombinovat výplň každou n vrstvu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1081 -msgid "Retraction Length (Toolchange)" -msgstr "Vzdálenost retrakce (při změně nástroje)" +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "Extruder pro výplň" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1134 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1135 -msgid "Retraction Speed" -msgstr "Rychlost retrakce" +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "Extruder který se použije pro tisk výplní." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1218 -msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" -msgstr "Retrakce pro neaktivní extruder (pokročilé nastavení pro tiskárny typu MultiMaterial)" +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" +"Nastavením kladné hodnoty upravíte manuálně šířku extruze pro výplň. Pokud " +"je ponechána nula, použije se standardní šířka extruze, pokud je nastavena, " +"jinak se použije průměr trysky 1,125 x. Je možné, že budete chtít použít " +"tlustší extruze, pro zrychlení výplně a zpevnění vašich výtisků. Pokud je " +"vyjádřeno jako procenty (například 90%), bude vypočteno z výšky vrstvy." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:96 -msgid "Retractions" -msgstr "Retrakce" +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "Tisknout výplň před tiskem perimetrů" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right" -msgstr "Zprava" +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "Tato volba obrátí pořadí tisku obvodů a výplní." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right View" -msgstr "Pohled zprava" +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "Výplň pouze kde je potřeba" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate" -msgstr "Otočit" +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "" +"Tato volba omezuje výplň na plochy skutečně potřebné pro podporu stropů " +"(bude se chovat jako vnitřní podpůrný materiál). Je-li tato volba zapnuta, " +"zpomaluje generování G-code kvůli několikanásobným kontrolám." + +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "Přesah pro výplň/perimetry" + +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" +"Toto nastavení uplatňuje dodatečné překrytí mezi výplní a obvodem pro lepší " +"spojení. Teoreticky by to nemělo být potřeba, ale reakce by mohla způsobit " +"mezery. Pokud je vyjádřeno procenty (například: 15%), vypočítá se z šířky " +"extruze perimetrů." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate 45° clockwise" -msgstr "Otočit o 45° ve směru hodinových ručiček" +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "Rychlost tisku vnitřní výplně. Pro automatické nastavení zadejte nulu." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate 45° counter-clockwise" -msgstr "Otočit o 45° proti směru hodinových ručiček" +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "Zdědí profil" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate the selected object by 45° clockwise" -msgstr "Otočit vybraný objekt o 45° ve směru hodinových ručiček" +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "Název profilu, ze kterého tento profil zdědí." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate the selected object by 45° counter-clockwise" -msgstr "Otočit vybraný objekt o 45° proti směru hodinových ručiček" +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "Mezilehlé stěny" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate the selected object by an arbitrary angle" -msgstr "Otočit vybraným objektem o libovolný úhel" +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material." +msgstr "" +"Vynucení vytváření pevných skořepin mezi sousedními materiály/objemy. " +"Užitečné pro tisk s více extrudery s průsvitnými materiály nebo ručně " +"rozpustným podpůrným materiálem." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Rotate the selected object by an arbitrary angle around X axis" -msgstr "Otočit vybraným objektem o libovolný úhel kolem osy X" +#: src/libslic3r/PrintConfig.cpp:1043 +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 "" +"Tento vlastní kód je vložen při každé změně vrstvy, hned po pohybu Z a " +"předtím, než se extruder přesune na první bod vrstvy. Můžete přidávat " +"zástupné proměnné pro veškeré nastavení Slic3ru, stejně tak jako [layer_num] " +"a [layer_z]." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Rotate the selected object by an arbitrary angle around Y axis" -msgstr "Otočit vybraným objektem o libovolný úhel kolem osy Y" +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Rotate the selected object by an arbitrary angle around Z axis" -msgstr "Otočit vybraným objektem o libovolný úhel kolem osy Z" +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:211 xs/src/slic3r/GUI/GUI.cpp:399 -#, c-format -msgid "Run %s" -msgstr "Spustit %s" +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 xs/src/slic3r/GUI/RammingChart.cpp:86 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -#: xs/src/libslic3r/PrintConfig.cpp:480 -msgid "s" -msgstr "s" +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid "Save " -msgstr "Uložit " +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:605 -msgid "Save configuration as:" -msgstr "Uložit konfiguraci jako:" +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:50 -msgid "Save current " -msgstr "Uložit stávající " +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1399 -msgid "Save G-code file as:" -msgstr "Uložit G-code jako:" +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:580 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "Uložit soubor OBJ (méně náchylný na chyby souřadnic než STL) jako:" +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:248 -msgid "Save preset" -msgstr "Uložit přednastavení" +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:646 -msgid "Save presets bundle as:" -msgstr "Uložit balík přednastavení jako:" +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -msgid "Scale" -msgstr "Měřítko" +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -msgid "Scale along " -msgstr "Upravit rozměr podél " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale the selected object along a single axis" -msgstr "Změnit rozměr vybraného objektu podél jedné osy" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Scale the selected object along the X axis" -msgstr "Změnit rozměr vybraného objektu podél osy X" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Scale the selected object along the XYZ axes" -msgstr "Změnit rozměr vybraného objektu podél os XYZ" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Scale the selected object along the Y axis" -msgstr "Změnit rozměr vybraného objektu podél osy Y" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Scale the selected object along the Z axis" -msgstr "Změnit rozměr vybraného objektu podél osy Z" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale to size" -msgstr "Upravit do rozměru" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:187 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:203 -msgid "Scale…" -msgstr "Velikost…" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1151 -msgid "Seam position" -msgstr "Pozice švu" +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1172 -msgid "Seam preferred direction" -msgstr "Preferovaný směr švu" +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1182 -msgid "Seam preferred direction jitter" -msgstr "Seam preferred direction jitter" +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "Maximum" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 -msgid "Searching for devices" -msgstr "Hledám zařízení" +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "Toto nastavení vyjadřuje maximální rychlost ventilátoru." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Select &Controller Tab\tCtrl+T" -msgstr "Zobrazit panel Ovladač\tCtrl+T" +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "" +"Toto je největší možná výška vrstvy pro tento extruder, který se používá k " +"zakrytí výšky proměnné vrstvy a výšky podpůrné vrstvy. Maximální doporučená " +"výška vrstvy činí 75% šířky vytlačování, aby se dosáhlo přiměřené " +"přilnavosti mezi vrstvami. Pokud je nastavena hodnota 0, je výška vrstvy " +"omezena na 75% průměru trysky." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Select &Filament Settings Tab\tCtrl+3" -msgstr "Zobrazit panel Nastavení filamentu\tCtrl+3" +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "Maximální rychlost tisku" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Select &Plater Tab\tCtrl+1" -msgstr "Zobrazit panel Podložka\tCtrl+1" +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "" +"Pokud jsou všechna ostatní nastavení rychlosti na hodnotě nula, Slic3r " +"automaticky vypočítá optimální rychlost pro udržení konstantního tlaku v " +"extruderu. Toto experimentální nastavení slouží k nastavení nejvyšší " +"rychlosti tisku, kterou chcete povolit." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:103 -msgid "Select all" -msgstr "Vybrat vše" +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." +msgstr "" +"Toto experimentální nastavení slouží k nastavení maximální objemové " +"rychlosti, kterou váš extruder podporuje." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:623 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:667 -msgid "Select configuration to load:" -msgstr "Zvolte konfiguraci k načtení:" +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "Maximální pozitivní objemový sklon" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:104 -msgid "Select none" -msgstr "Odznačit vše" +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "" +"Toto experimentální nastavení se používá k omezení rychlosti změny " +"objemového průtoku. Hodnota 1,8mm³/s² zajišťuje, že změna objemového průtoku " +"z 1,8 mm³/s (šířka extruze 0,45 mm, výška extruze 0,2 mm, rychlost posuvu 20 " +"mm/s) na 5,4 mm³/s (rychlost posuvu 60 mm/s) potrvá nejméně 2 sekundy." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Select P&rint Settings Tab\tCtrl+2" -msgstr "Zobrazit panel Nastavení tisku\tCtrl+2" +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "mm³/s²" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Select Print&er Settings Tab\tCtrl+4" -msgstr "Zobrazit panel Nastavení tiskárny\tCtrl+4" +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" +msgstr "Maximální negativní objemový sklon" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Select the language" -msgstr "Výběr jazyka" +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "Minimum" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1667 -msgid "Select the printers this profile is compatible with." -msgstr "Vyberte tiskárny, s nimiž je tento profil kompatibilní." +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "" +"Toto nastavení představuje minimální hodnotu PWM, kterou ventilátor " +"potřebuje, aby pracoval." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:566 -msgid "Select the STL file to repair:" -msgstr "Vyberte STL soubor k opravě:" +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "" +"Nejmenší tisknutelná výška vrstvy pro tento extruder. Omezuje rozlišení pro " +"výšku proměnné vrstvy. Typické hodnoty jsou mezi 0,05 mm a 0,1 mm." -#: xs/src/slic3r/GUI/GUI.cpp:882 -msgid "Select what kind of support do you need" -msgstr "Vyberte typ podpor, které potřebujete" +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" +msgstr "Minimální rychlost tisku" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:239 -msgid "Send to printer" -msgstr "Odeslat do tiskárny" +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "Slic3r nebude měnit rychlost pod tuto rychlost." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1448 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "Odesílání souboru G-code na server OctoPrint…" +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" +msgstr "Minimální délka extruze filamentu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:477 -msgid "Sequential printing" -msgstr "Sekvenční tisk" +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "" +"Nevygenerovat méně, než počet obrysových smyček, potřebných ke spotřebování " +"specifikovaného množství filamentu na spodní vrstvu. U strojů s více " +"extrudery platí toto minimum pro každý extruder." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:990 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1193 -msgid "Serial port" -msgstr "Sériový port" +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "Konfigurační poznámky" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1202 -msgid "Serial port speed" -msgstr "Rychlost sériového portu" +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"Zde můžete zadat své osobní poznámky. Tento text bude přidán do komentáře " +"záhlaví G code." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:286 -msgid "Serial port:" -msgstr "Sériový port:" +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "Průměr trysky" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 -msgid "Service name" -msgstr "Název služby" +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgstr "Průměr trysky extruderu (například: 0.5, 0.35 atd.)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Set number of copies…" -msgstr "Zadat počet kopií…" +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:398 -msgid "Set the shape of your printer's bed." -msgstr "Nastavte tvar vaší tiskové podložky." +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:378 -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." -msgstr "Nastavením kladné hodnoty povolíte manuální šířku extruze. Pokud je hodnota ponechána na nule, Slic3r odvozuje šířku extruze z průměru trysky (viz nápovědy pro šířku extruze perimetru, šířku extruze výplně apod.). Pokud je hodnota vyjádřena procenty (například: 230%), vypočítá se z výšky vrstvy." +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:269 -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." -msgstr "Nastavením na kladnou hodnotu, definuje šířku manuální extruze pro vnější obvod. Pokud je ponechána nula, použije se výchozí šířka extruze, pokud je nastavena, jinak se použije průměr trysky 1,125 x. Pokud je hodnota vyjádřena jako procento (například 200%), vypočítá se podle výšky vrstvy." +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:593 -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." -msgstr "Nastavením kladné hodnoty zvolíte manuální šířku vytlačování pro první vrstvu. Toto můžete použít k vytlačování tlustší extruze pro lepší přilnavost. Pokud je vyjádřeno jako procenty (například 120%), bude vypočteno z výšky první vrstvy. Pokud je nastavena na nulu, použije se výchozí šířka vytlačování." +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "Název hosta, IP nebo URL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1293 -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." -msgstr "Zadejte kladnou hodnotu, chcete-li nastavit manuálně šířku extruze pro výplň plných povrchů. Pokud je ponechána nula, použije se standardní šířka extruze, pokud je nastavena, jinak se použije průměr trysky 1,125 x. Pokud je vyjádřena procenty (například 90%), bude vypočtena z výšky vrstvy." +#: src/libslic3r/PrintConfig.cpp:1318 +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." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1615 -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." -msgstr "Zadejte kladnou hodnotu, chcete-li nastavit manuálně šířku extruze pro výplň vrchních ploch. Možná budete chtít použít tenčí extruzi, abyste vyplnili všechny úzké oblasti a získali hladší povrch. Pokud je ponechána nula, použije se výchozí šířka extruze, pokud je nastavena, jinak se použije průměr trysky. Pokud je vyjádřena procenty (například 90%), bude vypočtena z výšky vrstvy." +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "Provést retrakci pouze při přejíždění perimetrů" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:711 -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." -msgstr "Nastavením kladné hodnoty upravíte manuálně šířku extruze pro výplň. Pokud je ponechána nula, použije se standardní šířka extruze, pokud je nastavena, jinak se použije průměr trysky 1,125 x. Je možné, že budete chtít použít tlustší extruze, pro zrychlení výplně a zpevnění vašich výtisků. Pokud je vyjádřeno jako procenty (například 90%), bude vypočteno z výšky vrstvy." +#: src/libslic3r/PrintConfig.cpp:1326 +msgid "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." +msgstr "" +"Vypne retrakce, pokud dráha nepřekročí perimetr vrchní vrstvy (a proto bude " +"pravděpodobně jakékoliv odkapávání neviditelné)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:968 -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." -msgstr "Nastavením na kladnou hodnotu nastavíte manuálně šířku vytlačování perimetrů. Chcete-li získat přesnější povrchy, můžete použít tenčí extruze. Pokud je ponechána nula, použije se standardní šířka extruze, pokud je nastavena, jinak se použije průměr trysky 1,125 x. Pokud je vyjádřeno procenty (například 200%), vypočte se z výšky vrstvy." +#: src/libslic3r/PrintConfig.cpp:1334 +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 "" +"Tato volba sníží teplotu neaktivních extruderů, aby u nich nedošlo k " +"vytékání." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1455 -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." -msgstr "Zadejte kladnou hodnotu, chcete-li nastavit manuálně šířku extruze pro podpory. Pokud je ponechána nula, použije se výchozí šířka extruze, pokud je nastavena, jinak se použije průměr trysky. Pokud je vyjádřena procenty (například 90%), bude vypočtena z výšky vrstvy." +#: src/libslic3r/PrintConfig.cpp:1342 +msgid "Output filename format" +msgstr "Formát názvu výstupního souboru" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:332 -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." -msgstr "Zadejte horizontální rádius kolizního prostoru okolo extruderu. Pokud tryska není v centru tohoto rádiusu, zvolte nejdelší vzdálenost. Toto nastavení slouží ke kontrole kolizí a zobrazení grafického náhledu na podložce." +#: src/libslic3r/PrintConfig.cpp:1343 +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 "" +"V této šabloně můžete použít všechny možnosti konfigurace jako proměnné. " +"Můžete například použít: [layer_height], [fill_density] etc. Také můžete " +"použít [timestamp], [year], [month], [day], [hour], [minute], [second], " +"[version], [input_filename], [input_filename_base]." -#: xs/src/libslic3r/PrintConfig.cpp:877 -msgid "Set this to the maximum height that can be reached by your extruder while printing." -msgstr "Nastavte tuto hodnotu na maximální výšku, která může být dosažena extruderem během tisku." +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "Detekovat perimetry přemostění" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:321 -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." -msgstr "Zadejte vertikální vzdálenost mezi tryskou a (obvykle) tyčemi osy X. Jinými slovy, je to výška kolizního prostoru okolo extruderu a představuje maximální hloubku, které může extruder dosáhnout před kolizí s jinými, již vytištěnými, objekty." +#: src/libslic3r/PrintConfig.cpp:1355 +msgid "" +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." +msgstr "" +"Experimentální volba pro nastavení průtoku pro přesahy (použije se průtok " +"jako u mostů), aplikuje se na ně rychlost mostu a spustí se ventilátor." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:120 -msgid "Settings" -msgstr "Nastavení" +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" +msgstr "Parkovací pozice filamentu" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:206 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Settings…" -msgstr "Nastavení…" +#: src/libslic3r/PrintConfig.cpp:1363 +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 "" +"Vzdálenost špičky extruderu od místa, kde je zaparkován filament při " +"vytažení. Měla by se shodovat s hodnotou ve firmware tiskárny. " -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:39 -msgid "Shape" -msgstr "Tvar" +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:98 -msgid "Shells" -msgstr "Skořápky" +#: src/libslic3r/PrintConfig.cpp:1373 +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. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:75 -msgid "Show" -msgstr "Zobrazit" +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "Perimetry" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show &Configuration Folder" -msgstr "Otevřít adresář nastavení" +#: src/libslic3r/PrintConfig.cpp:1383 +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 "" +"Jedná se o akceleraci, kterou vaše tiskárna použije pro perimetry. Vysoká " +"hodnota, jako je 9000, obvykle dává dobré výsledky, pokud je váš hardware v " +"pořádku. Nastavte nulu pro vypnutí řízení zrychlení pro perimetry." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "Show about dialog" -msgstr "Zobrazit okno o Slic3ru" +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "Extruder pro perimetry" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show advanced settings" -msgstr "Zobrazit rozšířená nastavení" +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "" +"The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "" +"Extruder, který se používá při tisku perimetrů a límce. První extruder je 1." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:67 -msgid "Show incompatible print and filament presets" -msgstr "Zobrazit nekompatibilní přednastavení tisku a filamentu" +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "" +"Nastavením na kladnou hodnotu nastavíte manuálně šířku vytlačování " +"perimetrů. Chcete-li získat přesnější povrchy, můžete použít tenčí extruze. " +"Pokud je ponechána nula, použije se standardní šířka extruze, pokud je " +"nastavena, jinak se použije průměr trysky 1,125 x. Pokud je vyjádřeno " +"procenty (například 200%), vypočte se z výšky vrstvy." -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show simplified settings" -msgstr "Zobrazit jednoduché nastavení" +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "" +"Rychlost pro perimetry (obrysy, neboli svislé stěny). Zadejte nulu pro " +"automatické nastavení." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "Show system information" -msgstr "Zobrazit systémové informace" +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "" +"Tato volba nastavuje počet perimetrů, které je třeba vygenerovat pro každou " +"vrstvu. Slic3r může toto číslo automaticky zvýšit, pokud detekuje šikmé " +"plochy, které se tisknou lépe s vyšším počtem obvodů, pokud je zapnuta " +"možnost Extra perimetry." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Show the filament settings" -msgstr "Zobrazit nastavení filamentu" +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "(minimálně)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Show the plater" -msgstr "Zobrazit podložku" +#: src/libslic3r/PrintConfig.cpp:1439 +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." +msgstr "" +"Pokud chcete zpracovat výstupní G-code pomocí vlastních skriptů, stačí zde " +"uvést jejich absolutní cesty. Oddělte více skriptů středníkem. Skripty " +"předají absolutní cestu k souboru G-code jako první argument a mohou " +"přistupovat k nastavení konfigurace Slic3ru čtením proměnných prostředí." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Show the print settings" -msgstr "Zobrazit nastavení tisku" +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "Typ tiskárny" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Show the printer controller" -msgstr "Zobrazit ovladač tiskárny" +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." +msgstr "Typ tiskárny." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Show the printer settings" -msgstr "Zobrazit nastavení tiskárny" +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "Poznámky o tiskárně" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show user configuration folder (datadir)" -msgstr "Zobrazit uživatelský adresář konfigurace (datadir)" +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "Zde můžete uvést poznámky týkající se tiskárny." -#: xs/src/slic3r/GUI/Tab.cpp:1716 xs/src/slic3r/GUI/Tab.cpp:1722 -msgid "Single extruder MM setup" -msgstr "Nastavení jednoho extruderu MM" +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" +msgstr "Prodejce tiskárny" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1373 -msgid "Single Extruder Multi Material" -msgstr "MultiMaterial tisk s jedním extrudérem" +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." +msgstr "Název prodejce tiskárny." -#: xs/src/slic3r/GUI/Tab.cpp:1723 -msgid "Single extruder multimaterial parameters" -msgstr "Parametry jednoho multi materiálového extruderu" +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" +msgstr "Varianta tiskárny" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:50 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:408 -msgid "Size" -msgstr "Rozměr" +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "" +"Název varianty tiskárny. Varianty tiskárny mohou být například rozlišeny " +"podle průměru trysky." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:938 -msgid "Size and coordinates" -msgstr "Rozměr a souřadnice" +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" +msgstr "Vrstev raftu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:51 -msgid "Size in X and Y of the rectangular plate." -msgstr "Rozměr obdélníkové tiskové podložky v ose X a Y." +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." +msgstr "" +"Objekt se zvýší tímto počtem vrstev a pod ním bude vytvořen podpůrný " +"materiál." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:365 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:146 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:88 -msgid "Skirt" -msgstr "Obrys" +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" +msgstr "Rozlišení" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:364 -msgid "Skirt and brim" -msgstr "Obrys a límec" +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "" +"Minimální rozlišení detailů, které se používají pro zjednodušení vstupního " +"souboru pro urychlení slicovací úlohy a snížení využití paměti. Modely s " +"vysokým rozlišením často obsahují více detailů než tiskárny dokážou " +"vykreslit. Nastavte na nulu, chcete-li zakázat jakékoli zjednodušení a " +"použít vstup v plném rozlišení." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1221 -msgid "Skirt height" -msgstr "Výška obrysu" +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" +msgstr "Minimální rychloposun po retrakci" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1230 -msgid "Skirt Loops" -msgstr "Počet obrysových smyček" +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "" +"Retraction is not triggered when travel moves are shorter than this length." +msgstr "" +"Retrakce není spuštěna, pokud jsou rychloposuny pojezdu kratší než tato " +"délka." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Slic3r &Manual" -msgstr "Slic3r návod" +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" +msgstr "Délka retrakce před očištěním" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Slic3r &Website" -msgstr "Slic3r &Webová stránka" +#: src/libslic3r/PrintConfig.cpp:1515 +msgid "" +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." +msgstr "" +"U bowdenových extrudérů může být vhodné provést rychlé retrakce než se " +"spustí očištění." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:902 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the API Key required for authentication." -msgstr "Slic3r může nahrát soubory G-code do OctoPrintu. Toto pole by mělo obsahovat klíč API požadovaný pro ověření." +#: src/libslic3r/PrintConfig.cpp:1523 +msgid "Retract on layer change" +msgstr "Retrakce při změně vrstvy" -#: xs/src/libslic3r/PrintConfig.cpp:992 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the hostname, IP address or URL of the OctoPrint instance." -msgstr "Slic3r může nahrát soubory G-code do OctoPrintu. Toto pole by mělo obsahovat název hosta (hostname), IP adresu nebo URL instance OctoPrint." +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "Tato možnost vyvolá retrakci, kdykoli je proveden pohyb Z." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r configuration is incompatible" -msgstr "Konfigurace Slic3ru není kompatibilní" +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "Vzdálenost" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:929 -msgid "Slic3r Error" -msgstr "Chyba Slic3ru" +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "Vzdálenost retrakce" -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r error" -msgstr "Chyba Slic3ru" +#: src/libslic3r/PrintConfig.cpp:1532 +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 "" +"Při spuštění retrakce se filament zatáhne zpět o zadané množství (délka se " +"měří na surovém filamentu, než vstoupí do extruderu)." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r has encountered an error" -msgstr "Došlo k chybě Slic3ru" +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "mm (nula pro vypnutí)" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r incompatibility" -msgstr "Nekompatibilita Slic3ru" +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "Vzdálenost retrakce (při změně nástroje)" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 -#, c-format +#: src/libslic3r/PrintConfig.cpp:1541 msgid "" -"Slic3r PE 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." +"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 "" -"Slic3r PE 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" -"Prosím postupujte dle %s, který následuje pro nastavení nových přednastavení a vyberte si, zdali chcete jejich automatickou aktualizaci." +"Při výměně nástroje se spustí retrakce a filament se zatáhne zpět o zadané " +"množství (délka se měří na surovém filamentu, než vstoupí do extruderu)." + +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" +msgstr "Zvednout Z" + +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" +"Zadáním kladné hodnoty, se Z rychle přizvedne při každém vyvolání retrakce. " +"Při použití více extruderů bude použito pouze nastavení pro první extruder." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 -msgid "slic3r version" -msgstr "verze slic3ru" +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "Nad Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:867 -msgid "Slic3r will not scale speed down below this speed." -msgstr "Slic3r nebude měnit rychlost pod tuto rychlost." +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" +msgstr "Zvednout Z pouze nad" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Slice a file into a G-code" -msgstr "Slicovat soubor do G-code" +#: src/libslic3r/PrintConfig.cpp:1561 +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 "" +"Zadáním kladné hodnoty se zdvih Z uskuteční pouze nad zadanou absolutní " +"hodnotou Z. Toto nastavení můžete zvolit pro přeskočení přizvednutí u " +"prvních vrstev." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Slice a file into a G-code, save as" -msgstr "Slicovat soubor do G-code, uložit jako" +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" +msgstr "Pod Z" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice file to a multi-layer SVG" -msgstr "Slicovat soubor do více-vrstvého SVG" +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "Zvednout Z pouze pod" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:237 -msgid "Slice now" -msgstr "Slicovat" +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" +"Zadáním kladné hodnoty se zdvih Z uskuteční pouze pod zadanou absolutní " +"hodnotou Z. Toto nastavení můžete zvolit pro přeskočení přizvednutí u " +"prvních vrstev." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice to SV&G…\tCtrl+G" -msgstr "Slicovat do SV&G…\tCtrl+G" +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "Extra vzdálenost při návratu" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:438 -msgid "Sliced Info" -msgstr "Informace o slicování" +#: src/libslic3r/PrintConfig.cpp:1581 +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 "" +"Když je retrakce kompenzována po rychloposunu, extruder vytlačuje toto další " +"množství filamentu. Toto nastavení je zřídkakdy potřeba." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1286 -msgid "Slicing cancelled" -msgstr "Slicování zrušeno" +#: src/libslic3r/PrintConfig.cpp:1590 +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "" +"Když je retrakce kompenzována po změně nástroje, extruder vytlačuje toto " +"další množství filamentu." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:550 -msgid "Slicing Done!" -msgstr "Slicování dokončeno!" +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "Rychlost retrakce" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Slicing…" -msgstr "Slicování…" +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "Rychlost retrakce (toto nastavení platí pouze pro motor extruderu)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1239 -msgid "Slow down if layer print time is below" -msgstr "Zpomalit tisk pokud je doba tisku kratší než" +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "Rychlost deretrakce" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1250 -msgid "Small perimeters" -msgstr "Malé perimetry" +#: src/libslic3r/PrintConfig.cpp:1609 +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 "" +"Rychlost vtlačení filamentu do extruderu po retrakci (vztahuje se pouze na " +"motor extruderu). Pokud je ponecháno na nulu, použije se rychlost retrakce." -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Snapshot name" -msgstr "Název zálohy" +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" +msgstr "Pozice švu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:179 -msgid "solid infill" -msgstr "plná výplň" +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "Pozice začátku perimetrů." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1291 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1301 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:142 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:84 -msgid "Solid infill" -msgstr "Plná výplň" +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1279 -msgid "Solid infill every" -msgstr "Plná výplň každou" +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1271 -msgid "Solid infill extruder" -msgstr "Extruder pro plnou výplň" +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1262 -msgid "Solid infill threshold area" -msgstr "Prahová hodnota plochy pro plnou výplň" +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "Zezadu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:330 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1314 -msgid "Solid layers" -msgstr "Plných vrstev" +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "Směr" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:470 -msgid "Soluble material" -msgstr "Rozpustný materiál" +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "Preferovaný směr švu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:471 -msgid "Soluble material is most likely used for a soluble support." -msgstr "Rozpustný materiál je převážně používán pro tisk rozpustných podpor." +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "Preferovaný směr švu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:653 -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 "Některé příkazy G/M code, včetně řízení teploty a jiné, nejsou univerzální. Vyberte typ firmwaru který používá vaše tiskárna pro dosažení kompatibilního výstupu. Příkazy typu “No extrusion” zabraňují Slic3ru zcela exportovat jakoukoliv hodnotu extruze." +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "Rozkmit (Jitter)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1682 -msgid "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default." -msgstr "Některé tiskárny nebo nastavení tiskárny mohou mít potíže s tiskem s proměnnou výškou vrstvy. Ve výchozím nastavení je zapnuto." +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "Seam preferred direction jitter" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1490 -msgid "Spacing between interface lines. Set zero to get a solid interface." -msgstr "Rozteč linií kontaktních vrstev. Nastavte nulu pro získání plných kontaktních vrstev." +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "Preferovaný směr švu - rozkmit" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1526 -msgid "Spacing between support material lines." -msgstr "Rozteč linií podpor." +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "USB/sériový port pro připojení tiskárny." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:398 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:278 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:635 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:747 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:979 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1201 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1251 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1302 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1625 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:71 -msgid "Speed" -msgstr "Rychlost" +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "Rychlost sériového portu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1203 +#: src/libslic3r/PrintConfig.cpp:1670 msgid "Speed (baud) of USB/serial port for printer connection." msgstr "Rychlost (baud) USB/sériového portu pro připojení tiskárny." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:336 -msgid "Speed (mm/s)" -msgstr "Rychlost (mm/s)" +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "Vzdálenost od objektu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:636 -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 "Rychlost plnění malých mezer pomocí krátkých cikcak pohybů. Udržujte tuto hodnotu poměrně nízkou, aby nedošlo k přílišným otřesům a problémům s rezonancí. Nastavte nulu pro vypnutí vyplnění mezery." +#: src/libslic3r/PrintConfig.cpp:1680 +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 "" +"Vzdálenost mezi obrysem a objektem (objekty). Nastavte tuto hodnotu na nulu, " +"pro sloučení obrysu s předmětem (předměty) a tvorbu límce pro dosažení lepší " +"přilnavosti." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:411 -msgid "Speed for non-print moves" -msgstr "Netiskové rychlosti" +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "Výška obrysu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:980 -msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." -msgstr "Rychlost pro perimetry (obrysy, neboli svislé stěny). Zadejte nulu pro automatické nastavení." +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." +msgstr "" +"Výška obrysu vyjádřená ve vrstvách. Nastavte tuto hodnotu vysokou, pro " +"použití obrysu jako stínění proti průvanu." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:399 -msgid "Speed for print moves" -msgstr "Speed for print moves" +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" +msgstr "Smyček (minimálně)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:119 -msgid "Speed for printing bridges." -msgstr "Rychlost pro vytváření mostů." +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "Počet obrysových smyček" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1303 -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 "Rychlost tisku plných oblastí (vrchní / spodní / vnitřní vodorovné stěny). Může být vyjádřeno procenty (například: 80%) oproti výchozí rychlosti vyplnění. Pro automatické nastavení zadejte nulu." +#: src/libslic3r/PrintConfig.cpp:1699 +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 "" +"Počet obrysových smyček. Je-li nastavena možnost Minimální délka extruze, " +"počet obrysových smyček může být větší než počet zde nakonfigurovaných. " +"Nastavte tuto hodnotu na nulu, pro úplné deaktivování." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1499 -msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." -msgstr "Rychlost tisku podpůrných interface vrstev. Pokud je vyjádřen procentní podíl (například 50%), vypočítá se podle rychlosti tisku podpor." +#: src/libslic3r/PrintConfig.cpp:1708 +msgid "Slow down if layer print time is below" +msgstr "Zpomalit tisk pokud je doba tisku kratší než" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1535 -msgid "Speed for printing support material." -msgstr "Rychlost tisku podpor." +#: src/libslic3r/PrintConfig.cpp:1709 +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 "" +"Pokud je doba tisku vrstvy odhadnuta kratší než tento počet sekund, rychlost " +"tisku se zpomalí, aby se prodloužila doba tisku této vrstvy." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:748 -msgid "Speed for printing the internal fill. Set to zero for auto." -msgstr "Rychlost tisku vnitřní výplně. Pro automatické nastavení zadejte nulu." +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" +msgstr "Malé perimetry" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1626 -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." -msgstr "Rychlost tisku vrchních plných vrstev (vztahuje se pouze na nejvyšší horní vrstvy a nikoli na jejich vnitřní plné vrstvy). Rychlost lze zpomalit, abyste získali hezčí povrchovou úpravu. Může být vyjádřena procenty (například: 80%) z rychlosti plné výplně materiálu výše. Pro automatické nastavení zadejte nulu." +#: src/libslic3r/PrintConfig.cpp:1722 +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 "" +"Toto oddělené nastavení ovlivní rychlost perimetrů o poloměru <= 6,5 mm " +"(obvykle díry). Pokud je vyjádřeno jako procentní podíl (například: 80%), " +"vypočte se z výše uvedeného nastavení rychlosti perimetrů. Pro automatické " +"nastavení zadejte nulu." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1648 -msgid "Speed for travel moves (jumps between distant extrusion points)." -msgstr "Rychlost posunů (přejezdy mezi body extruze)." +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" +msgstr "Prahová hodnota plochy pro plnou výplň" -#: xs/src/libslic3r/PrintConfig.cpp:460 -msgid "Speed used for loading the filament on the wipe tower. " -msgstr "Rychlost použitá pro zavádění filamentu na čistící věž. " +#: src/libslic3r/PrintConfig.cpp:1734 +msgid "" +"Force solid infill for regions having a smaller area than the specified " +"threshold." +msgstr "" +"Vynucení plné výplně pro oblasti, které mají menší plochu, než je stanovená " +"prahová hodnota." -#: xs/src/libslic3r/PrintConfig.cpp:468 -msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming). " -msgstr "Rychlost vysouvání filamentu při výměně na čistící věži (úvodní část vysunutí okamžitě po rapidní extruzi není ovlivněna). " +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" +msgstr "mm²" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:540 -msgid "Spiral Vase" -msgstr "Spirálová váza" +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "Extruder pro plnou výplň" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1322 -msgid "Spiral vase" -msgstr "Spirálová váza" +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "Extruder který bude použit při tisku plných výplní." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:188 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:204 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split" -msgstr "Rozdělit" +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "Plná výplň každou" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split the selected object into individual parts" -msgstr "Rozdělit vybraný objekt na jednotlivé části" +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "" +"Tato funkce umožňuje vynucení plné vrstvy za každý daný počet vrstev. Pro " +"vypnutí nastavte nulu. Můžete nastavit libovolnou hodnotu (například 9999); " +"Slic3r automaticky zvolí maximální počet vrstev, které se budou kombinovat " +"podle průměru trysky a výšky vrstvy." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:847 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1342 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1357 -msgid "Start G-code" -msgstr "Začátek G-code" +#: src/libslic3r/PrintConfig.cpp:1766 +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." +msgstr "" +"Zadejte kladnou hodnotu, chcete-li nastavit manuálně šířku extruze pro výplň " +"plných povrchů. Pokud je ponechána nula, použije se standardní šířka " +"extruze, pokud je nastavena, jinak se použije průměr trysky 1,125 x. Pokud " +"je vyjádřena procenty (například 90%), bude vypočtena z výšky vrstvy." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "Start new slicing process" -msgstr "Zahájit nový slicovací proces" +#: src/libslic3r/PrintConfig.cpp:1777 +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 "" +"Rychlost tisku plných oblastí (vrchní / spodní / vnitřní vodorovné stěny). " +"Může být vyjádřeno procenty (například: 80%) oproti výchozí rychlosti " +"vyplnění. Pro automatické nastavení zadejte nulu." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:296 -msgid "Status:" -msgstr "Stav:" +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "Počet plných vstev generovaných na vrchních a spodních površích." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1539 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1581 -msgid "STL file exported to " -msgstr "Soubor STL byl exportován do " +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "Spirálová váza" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Success!" -msgstr "Úspěch!" +#: src/libslic3r/PrintConfig.cpp:1797 +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 "" +"Tato funkce zvýší postupně Z při tisku jednovrstvého objektu, aby se " +"odstranil jakýkoli viditelný šev. Tato volba vyžaduje jediný obvod, žádnou " +"výplň, žádné vrchní plné vrstvy a žádný podpůrný materiál. Můžete stále " +"nastavit libovolný počet spodních plných vrstev, stejně jako obrysové " +"smyčky / límec. Při tisku více než jednoho objektu nebude toto nastavení " +"fungovat." + +#: src/libslic3r/PrintConfig.cpp:1806 +msgid "Temperature variation" +msgstr "Temperature variation" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:198 -msgid "support" -msgstr "podpory" +#: src/libslic3r/PrintConfig.cpp:1807 +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 "" +"Teplotní rozdíl, který se použije v případě, že extruder není aktivní. " +"Umožňuje “obětní” obrysy v plné výšce objektu, na kterém jsou trysky " +"periodicky očištěny." -#: xs/src/slic3r/GUI/GUI.cpp:879 -msgid "Support" -msgstr "Podpora" +#: src/libslic3r/PrintConfig.cpp:1818 +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 "" +"Tento spouštěcí postup je vložen na začátku, poté, co vyhřívaná tisková " +"podložka dosáhla cílové teploty a extruder se právě začal ohřívat a předtím, " +"než dosáhl cílové teploty extruder . Pokud Slic3r detekuje M104 nebo M190 ve " +"vašich vlastních kódech, takové příkazy nebudou automaticky předkládány, " +"takže máte možnost upravit pořadí příkazů pro vytápění a další vlastní akce. " +"Pro všechny nastavení Slic3ru můžete použít zástupné proměnné, takže můžete " +"zadat příkaz “M109 S [first_layer_temperature]” kdekoli chcete." + +#: src/libslic3r/PrintConfig.cpp:1834 +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 "" +"Tento postup spuštění je vložen na začátku, po každém spuštění G-code " +"tiskárny. Toto slouží k přepsání nastavení pro konkrétní filament. Pokud " +"Slic3r detekuje M104, M109, M140 nebo M190 ve vašich vlastních kódech, " +"takové příkazy nebudou automaticky předkládány, takže máte možnost " +"přizpůsobit pořadí příkazů k ohřevu a další vlastní akce. Pro všechny " +"nastavení Slic3ru můžete použít zástupné proměnné, takže můžete zadat příkaz " +"“M109 S [first_layer_temperature]” kdekoli chcete. Pokud máte více " +"extruderů, G-code se zpracovává v pořadí extruderů." + +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "MultiMaterial tisk s jedním extrudérem" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:620 -msgid "Support Generator" -msgstr "Generátor Podpor" +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "Tiskárna přepíná několik filamentů v jednou hot endu." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:208 -msgid "support interface" -msgstr "kontaktní vrstva podpor" +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:374 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:375 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:191 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1030 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1380 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1387 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1399 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1409 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1417 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1432 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1453 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1464 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1480 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1489 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1498 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1509 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1525 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1533 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1534 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1543 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1551 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1565 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:147 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:89 -msgid "Support material" -msgstr "Podpory" +#: src/libslic3r/PrintConfig.cpp:1858 +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1497 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:148 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:90 -msgid "Support material interface" -msgstr "Kontaktní vrstvy podpor" +#: src/libslic3r/PrintConfig.cpp:1864 +msgid "Generate support material" +msgstr "Generovat podpory" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1552 -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)." -msgstr "Podpory nebudou vytvořeny pro převisy, jejichž úhel sklonu (90° = vertikální) je nad danou prahovou hodnotou. Jinými slovy, tato hodnota představuje největší horizontální sklon (měřený od horizontální roviny), který můžete tisknout bez podpůrného materiálu. Nastavte na nulu pro automatickou detekci (doporučeno)." +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "Zapne generování podpor." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1470 -msgid "Support material/raft interface extruder" -msgstr "Extruder pro kontaktní podpory/raft" +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1444 -msgid "Support material/raft/skirt extruder" -msgstr "Extruder pro podpory/raft/obrys" +#: src/libslic3r/PrintConfig.cpp:1873 +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 "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1408 -msgid "Support on build plate only" -msgstr "Podpory pouze na tiskové ploše" +#: src/libslic3r/PrintConfig.cpp:1880 +msgid "XY separation between an object and its support" +msgstr "XY vzdálenost mezi objektem a podporami" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:617 +#: src/libslic3r/PrintConfig.cpp:1882 msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +"XY separation between an object and its support. If expressed as percentage " +"(for example 50%), it will be calculated over external perimeter width." msgstr "" -"Podpory fungují lépe, pokud je povolena následující funkce:\n" -"- Zjistit přemosťovací perimetry\n" -"\n" -"Mám tyto nastavení pro podpory upravit?" +"XY vzdálenost mezi objektem a podporami. Pokud je vyjádřeno procenty " +"(například 50%), bude vypočítána z šířky perimetru." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:59 -msgid "Suppress \" - default - \" presets" -msgstr "Potlačit “ - výchozí - “ přednastavení" +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" +msgstr "Úhel vzoru" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:61 -msgid "Suppress \" - default - \" presets in the Print / Filament / Printer selections once there are any other valid presets available." -msgstr "Potlačit “ - výchozí - “ přednastavení v nabídkách Tisk / Filament / Tiskárna, jakmile budou k dispozici další platné předvolby." +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." +msgstr "Toto nastavení použijte pro horizontální otočení vzoru." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "SVG" -msgstr "SVG" +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"Only create support if it lies on a build plate. Don't create support on a " +"print." +msgstr "" +"Podpory vytvářet pouze v případě, že leží na tiskové podložce. Nevytváří " +"podpory na výtisky." + +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "Mezera mezi podporami a objektem v ose Z" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:325 +#: src/libslic3r/PrintConfig.cpp:1915 msgid "" -"Switching to simple settings will discard changes done in the advanced mode!\n" -"\n" -"Do you want to proceed?" +"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 "" -"Přepnutím do jednoduchého nastavení ztratíte změny provedené v pokročilém režimu!\n" -"\n" -"Opravdu chcete pokračovat?" +"Vertikální vzdálenost mezi objektem a podporami. 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." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1544 -msgid "Synchronize support layers with the object print layers. This is useful with multi-material printers, where the extruder switch is expensive." -msgstr "Synchronizování vrstev podpor s vrstvami objektu. Toto je velmi užitečné u multi-materiálových tiskáren, kde je přepínání extruderů drahé." +#: src/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1542 -msgid "Synchronize with object layers" -msgstr "Synchronizovat s vrstvami objektu" +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "System Info" -msgstr "Informace o systému" +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "Zesílit podpory pro prvních" -#: xs/src/slic3r/GUI/Tab.cpp:2286 xs/src/slic3r/GUI/Tab.cpp:2372 -#: xs/src/slic3r/GUI/Preset.cpp:605 xs/src/slic3r/GUI/Preset.cpp:645 -#: xs/src/slic3r/GUI/Preset.cpp:670 xs/src/slic3r/GUI/Preset.cpp:702 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1069 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1122 lib/Slic3r/GUI/Plater.pm:552 -msgid "System presets" -msgstr "Systémové přednastavení" +#: src/libslic3r/PrintConfig.cpp:1931 +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." +msgstr "" +"Vygeneruje podpory pro zadaný počet vrstev počítaných od spodního okraje, " +"bez ohledu na to, zda jsou povoleny standartní podpory nebo nikoliv a bez " +"ohledu na jakýkoli prah úhlu. To je užitečné pro získání větší přilnavosti " +"předmětů s velmi tenkou nebo špatnou stopou na tiskové podložce." + +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "Vynucení podpor pro prvních n vrstev" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Take Configuration Snapshot" -msgstr "Provést Zálohu Konfigurace" +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "Extruder pro podpory/raft/obrys" -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Taking configuration snapshot" -msgstr "Ukládání zálohy nastavení" +#: src/libslic3r/PrintConfig.cpp:1945 +msgid "" +"The extruder to use when printing support material, raft and skirt (1+, 0 to " +"use the current extruder to minimize tool changes)." +msgstr "" +"Extruder, který se používá při tisku podpor, raftu a obrysu (1+, 0 pro " +"použití aktuálního extruderu pro co nejméně změn nástroje)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:794 -msgid "Temperature " -msgstr "Teplota " +#: src/libslic3r/PrintConfig.cpp:1955 +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." +msgstr "" +"Zadejte kladnou hodnotu, chcete-li nastavit manuálně šířku extruze pro " +"podpory. Pokud je ponechána nula, použije se výchozí šířka extruze, pokud je " +"nastavena, jinak se použije průměr trysky. Pokud je vyjádřena procenty " +"(například 90%), bude vypočtena z výšky vrstvy." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1576 -msgid "Temperature" -msgstr "Teplota" +#: src/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "Kontaktní smyčky" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1333 -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 "Teplotní rozdíl, který se použije v případě, že extruder není aktivní. Umožňuje “obětní” obrysy v plné výšce objektu, na kterém jsou trysky periodicky očištěny." +#: src/libslic3r/PrintConfig.cpp:1966 +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "" +"Zakrýt smyčkami horní kontaktní vrstvu podpor. Ve výchozím nastavení " +"zakázáno." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1332 -msgid "Temperature variation" -msgstr "Temperature variation" +#: src/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "Extruder pro kontaktní podpory/raft" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Temperatures" -msgstr "Teploty" +#: src/libslic3r/PrintConfig.cpp:1974 +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 "" +"Extruder, který se použije při tisku kontaktních vrstev podpor (1+, 0 pro " +"použití aktuálního extruderu, aby se minimalizovaly změny nástroje). To " +"ovlivňuje i raft." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1004 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1072 -msgid "Test" -msgstr "Test" +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" +msgstr "Kontaktní vrstvy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:309 -msgid "The extruder to use (unless more specific extruder settings are specified). This value overrides perimeter and infill extruders, but not the support extruders." -msgstr "Extruder, který chcete použít (pokud nejsou zvoleny specifičtější nastavení extruderu). Tato hodnota přepíše nastavení perimetrového a výplňového exrtuderu, ale ne nastavení extruderu pro podpory." +#: src/libslic3r/PrintConfig.cpp:1984 +msgid "" +"Number of interface layers to insert between the object(s) and support " +"material." +msgstr "Počet interface vrstev vložených mezi objekt (objekty) a podpory." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:703 -msgid "The extruder to use when printing infill." -msgstr "Extruder který se použije pro tisk výplní." +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "Rozteč kontaktních vrstev" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:959 -msgid "The extruder to use when printing perimeters and brim. First extruder is 1." -msgstr "Extruder, který se používá při tisku perimetrů a límce. První extruder je 1." +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." +msgstr "" +"Rozteč linií kontaktních vrstev. Nastavte nulu pro získání plných " +"kontaktních vrstev." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1273 -msgid "The extruder to use when printing solid infill." -msgstr "Extruder který bude použit při tisku plných výplní." +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." +msgstr "" +"Rychlost tisku podpůrných interface vrstev. Pokud je vyjádřen procentní " +"podíl (například 50%), vypočítá se podle rychlosti tisku podpor." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1472 -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 "Extruder, který se použije při tisku kontaktních vrstev podpor (1+, 0 pro použití aktuálního extruderu, aby se minimalizovaly změny nástroje). To ovlivňuje i raft." +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "Vzor" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1446 -msgid "The extruder to use when printing support material, raft and skirt (1+, 0 to use the current extruder to minimize tool changes)." -msgstr "Extruder, který se používá při tisku podpor, raftu a obrysu (1+, 0 pro použití aktuálního extruderu pro co nejméně změn nástroje)." +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "Vzor použitý pro generování podpor." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:209 -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 "První vrstva bude v rovině XY zmenšena nakonfigurovanou hodnotou, která kompenzuje rozplácnutí první vrstvy." +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1734 -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 "Objekt bude roztažen / smrštěn v rovině XY nastavenou hodnotou (negativní = směrem dovnitř, pozitivní = směrem ven). To může být užitečné pro jemné doladění otvorů." +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "Rozteč podpor" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1031 -msgid "The object will be raised by this number of layers, and support material will be generated under it." -msgstr "Objekt se zvýší tímto počtem vrstev a pod ním bude vytvořen podpůrný materiál." +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "Rozteč linií podpor." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1374 -msgid "The printer multiplexes filaments into a single hot end." -msgstr "Tiskárna přepíná několik filamentů v jednou hot endu." +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "Rychlost tisku podpor." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:324 -msgid "The selected file contains no geometry." -msgstr "Vybraný soubor neobsahuje geometrii." +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "Synchronizovat s vrstvami objektu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:328 -msgid "The selected file contains several disjoint areas. This is not supported." -msgstr "Vybraný soubor obsahuje několik nespojených ploch. Tato možnost není podporována." +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." +msgstr "" +"Synchronizování vrstev podpor s vrstvami objektu. Toto je velmi užitečné u " +"multi-materiálových tiskáren, kde je přepínání extruderů drahé." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1112 -msgid "The selected object can't be split because it contains more than one volume/material." -msgstr "Vybraný objekt nemůže být rozdělen, protože obsahuje více nez jeden objem/materiál." +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" +msgstr "Mezní úhel převisu" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1121 -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/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "" +"Podpory nebudou vytvořeny pro převisy, jejichž úhel sklonu (90° = " +"vertikální) je nad danou prahovou hodnotou. Jinými slovy, tato hodnota " +"představuje největší horizontální sklon (měřený od horizontální roviny), " +"který můžete tisknout bez podpůrného materiálu. Nastavte na nulu pro " +"automatickou detekci (doporučeno)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1144 -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 "Rychlost vtlačení filamentu do extruderu po retrakci (vztahuje se pouze na motor extruderu). Pokud je ponecháno na nulu, použije se rychlost retrakce." +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "S pouzdrem okolo podpor" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1136 -msgid "The speed for retractions (it only applies to the extruder motor)." -msgstr "Rychlost retrakce (toto nastavení platí pouze pro motor extruderu)." +#: src/libslic3r/PrintConfig.cpp:2073 +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 "" +"Přidá pouzdro (jednu obvodovou čáru) kolem podpor. Díky tomu je podpora " +"spolehlivější, ale také obtížnější na odstranění." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:533 -#, no-c-format +#: src/libslic3r/PrintConfig.cpp:2081 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?" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." msgstr "" -"Mód spirálové vázy vyžaduje:\n" -"- jeden perimeter\n" -"- žádné plné vrchní vrstvy\n" -"- 0% hustota výplně\n" -"- žádné podpěry\n" -"- nezjišťování vertikální tloušťky pláště\n" -"\n" -"Mám tyto nastavení upravit tak, aby bylo možné mód spirálové vázy zapnout?" +"Teplota extruderu pro následující vrstvy po vrstvě první. Nastavte tuto " +"hodnotu na nulu, abyste zakázali příkazy pro řízení teploty na výstupu." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1560 -msgid "The supplied name is empty. It can't be saved." -msgstr "Název je prázdný. Nelze uložit." +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "Teplota" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1788 -msgid "The supplied name is not available." -msgstr "Zadaný název není dostupný." +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "Detekovat tenké zdi" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1785 -msgid "The supplied name is not valid; the following characters are not allowed:" -msgstr "Zadaný název je naplatný; následující znaky nejsou povoleny:" +#: src/libslic3r/PrintConfig.cpp:2092 +msgid "" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." +msgstr "" +"Detekuje stěny o tlošťce jedné čáry (části, kam se dvě čáry nemohou vejít a " +"je potřeba sloučit je do čáry jedné)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1418 -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 "Vertikální vzdálenost mezi objektem a podporami. 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/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" +msgstr "Vlákna" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1312 +#: src/libslic3r/PrintConfig.cpp:2100 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?" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." msgstr "" -"Možnost Očistit není k dispozici při použití režimu retrací z firmwaru.\n" -"\n" -"Mám ji deaktivovat, aby bylo možné povolit retrakce z firmwaru?" +"Vlákna jsou používána pro paralelizaci časově náročnějších úloh. Optimální " +"počet vláken je mírně nad počtem dostupných jader/procesorů." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:581 +#: src/libslic3r/PrintConfig.cpp:2112 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?" +"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 "" -"Čistící věž v současné době podporuje pouze nerozpustné podpory\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 popor tak extruder pro tisk kontaktních podpor je třeba nastavit na 0).\n" -"\n" -"Mám tyto nastavení upravit tak, aby bylo možné zapnout Čistící věž?" +"Tento vlastní kód je vložen těsně před každou změnou extruderu. Můžete " +"použít zástupné proměnné pro všechna nastavení Slic3ru, stejně jako " +"[previous_extruder] a [next_extruder]." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:60 -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." -msgstr "Tento kód je vložen mezi objekty, pokud je použit sekvenční tisk. Ve výchozím nastavení je resetován extruder a tisková podložka pomocí non-wait (nečekacím) příkazem; nicméně pokud jsou příkazy M104, M109, 140 nebo M190 detekovány v tomto vlastním kódu, Slic3r nebude přidávat teplotní příkazy. Můžete přidávat zástupné proměnné pro veškeré nastavení Slic3ru, takže můžete vložit příkaz “M109 S[first_layer_temperature]” kamkoliv chcete." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:767 -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 "Tento vlastní kód je vložen při každé změně vrstvy, hned po pohybu Z a předtím, než se extruder přesune na první bod vrstvy. Můžete přidávat zástupné proměnné pro veškeré nastavení Slic3ru, stejně tak jako [layer_num] a [layer_z]." +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "" +"Zadejte kladnou hodnotu, chcete-li nastavit manuálně šířku extruze pro výplň " +"vrchních ploch. Možná budete chtít použít tenčí extruzi, abyste vyplnili " +"všechny úzké oblasti a získali hladší povrch. Pokud je ponechána nula, " +"použije se výchozí šířka extruze, pokud je nastavena, jinak se použije " +"průměr trysky. Pokud je vyjádřena procenty (například 90%), bude vypočtena z " +"výšky vrstvy." + +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "" +"Rychlost tisku vrchních plných vrstev (vztahuje se pouze na nejvyšší horní " +"vrstvy a nikoli na jejich vnitřní plné vrstvy). Rychlost lze zpomalit, " +"abyste získali hezčí povrchovou úpravu. Může být vyjádřena procenty " +"(například: 80%) z rychlosti plné výplně materiálu výše. Pro automatické " +"nastavení zadejte nulu." + +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "Horních" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:49 -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 "Tento vlastní kód je vložen pro každou změnu vrstvy, předtím než se pohne Z. Můžete přidávat zástupné proměnné pro veškeré nastavení Slic3ru stejně tak jako [layer_num] a [layer_z]." +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "Počet vrchních generovaných plných vrstev." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1603 -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 "Tento vlastní kód je vložen těsně před každou změnou extruderu. Můžete použít zástupné proměnné pro všechna nastavení Slic3ru, stejně jako [previous_extruder] a [next_extruder]." +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "Vrchních plných vrstev" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:228 -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 "Tato ukončovací procedůra je vložena na konec výstupního souboru, před konečným G-code tiskárny. Můžete přidávat zástupné proměnné pro veškeré nastavení Slic3ru. Pokud máte tiskárnu s více extrudery, G-code je zpracován v pořadí extruderů." +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "Rychlost posunů (přejezdy mezi body extruze)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:218 -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 "Tato ukončovací procedůra je vložena na konec výstupního souboru. Můžete přidávat zástupné proměnné pro veškeré nastavení Slic3ru." +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "Použít retrakce z firmwaru" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:827 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:838 -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." -msgstr "Toto experimentální nastavení se používá k omezení rychlosti změny objemového průtoku. Hodnota 1,8mm³/s² zajišťuje, že změna objemového průtoku z 1,8 mm³/s (šířka extruze 0,45 mm, výška extruze 0,2 mm, rychlost posuvu 20 mm/s) na 5,4 mm³/s (rychlost posuvu 60 mm/s) potrvá nejméně 2 sekundy." +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." +msgstr "" +"Toto experimentální nastavení používá příkazy G10 a G11, aby si firmware " +"poradil s retrakcí. Toto je podporováno pouze v posledních verzích firmwaru " +"Marlin." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:818 -msgid "This experimental setting is used to set the maximum volumetric speed your extruder supports." -msgstr "Toto experimentální nastavení slouží k nastavení maximální objemové rychlosti, kterou váš extruder podporuje." +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "Použít relativní E vzdálenosti" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1657 -msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." -msgstr "Toto experimentální nastavení používá příkazy G10 a G11, aby si firmware poradil s retrakcí. Toto je podporováno pouze v posledních verzích firmwaru Marlin." +#: src/libslic3r/PrintConfig.cpp:2177 +msgid "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." +msgstr "" +"Pokud váš firmware vyžaduje relativní hodnoty E, zaškrtněte toto, jinak " +"nechte nezaškrtnuté. Většina firmwarů používá absolutní hodnoty." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1671 -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 "Toto experimentální nastavení používá výstupní hodnoty E v kubických milimetrech místo lineárních milimetrů. Pokud firmware dosud nezná průměr (průměry) filamentu, můžete v počátečním G-code zadat příkazy jako “M200 D [filament_diameter_0] T0”, pro se zapnutí volumetrického režimu a použití průměru filamentu přidruženého k vybranému filamentu ve Slic3ru. Toto je podporováno pouze v posledních verzích firmwaru Marlin." +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" +msgstr "Použít volumetrickou hodnotu E" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:108 -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." -msgstr "Tato hodnota určuje množství vytlačeného plastu při vytváření mostů. Mírným snížením této hodnoty můžete předejít pronášení ikdyž, přednastavené hodnoty jsou většinou dobré a je lepší experimentovat s chlazením (využitím ventilátoru), než s touto hodnotou." +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" +"Toto experimentální nastavení používá výstupní hodnoty E v kubických " +"milimetrech místo lineárních milimetrů. Pokud firmware dosud nezná průměr " +"(průměry) filamentu, můžete v počátečním G-code zadat příkazy jako “M200 D " +"[filament_diameter_0] T0”, pro se zapnutí volumetrického režimu a použití " +"průměru filamentu přidruženého k vybranému filamentu ve Slic3ru. Toto je " +"podporováno pouze v posledních verzích firmwaru Marlin." + +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "Zapnout variabilní výšku vrstev" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:368 -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." -msgstr "Tento faktor mění poměrné množství průtoku. Možná bude třeba toto nastavení vyladit, pro dosažení hezkého povrchu a správné šířky jednotlivých stěn. Obvyklé hodnoty jsou mezi 0,9 a 1,1. Pokud si myslíte, že hodnotu potřebujete změnit více, zkontrolujte průměr filamentu a E kroky ve firmwaru." +#: src/libslic3r/PrintConfig.cpp:2197 +msgid "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." +msgstr "" +"Některé tiskárny nebo nastavení tiskárny mohou mít potíže s tiskem s " +"proměnnou výškou vrstvy. Ve výchozím nastavení je zapnuto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:98 -msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "Nastavená rychlost ventilátoru je využita vždy při vytváření mostů a přesahů." +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "Očistit při retrakci" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:692 -msgid "This feature allows to combine infill and speed up your print by extruding thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "Tato funkce umožňuje kombinovat výplň a urychlit tisk pomocí extruzí silnějších výplňových vrstev při zachování tenkých obvodů, a tím i přesnosti." +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." +msgstr "" +"Toto nastavení přemístí trysku při retrakci, aby se minimalizovalo možné " +"vytékání materiálu." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1281 -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." -msgstr "Tato funkce umožňuje vynucení plné vrstvy za každý daný počet vrstev. Pro vypnutí nastavte nulu. Můžete nastavit libovolnou hodnotu (například 9999); Slic3r automaticky zvolí maximální počet vrstev, které se budou kombinovat podle průměru trysky a výšky vrstvy." +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." +msgstr "" +"Multimateriálové tiskárny mohou potřebovat, aby při výměně nástrojů " +"vyčistili extrudery. Vytlačí přebytečný materiál do čistící věže." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1323 -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 "Tato funkce zvýší postupně Z při tisku jednovrstvého objektu, aby se odstranil jakýkoli viditelný šev. Tato volba vyžaduje jediný obvod, žádnou výplň, žádné vrchní plné vrstvy a žádný podpůrný materiál. Můžete stále nastavit libovolný počet spodních plných vrstev, stejně jako obrysové smyčky / límec. Při tisku více než jednoho objektu nebude toto nastavení fungovat." +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" +msgstr "Objemy čištění - zaváděné / vyjmuté objemy" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:663 +#: src/libslic3r/PrintConfig.cpp:2221 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" +"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 "" -"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ů?\n" +"Tento vektor ukládá potřebné objemy pro změnu z/na každý extruder používaný " +"na čistící veži. Tyto hodnoty jsou použity pro zjednodušení vytvoření " +"celkových objemů čištění níže. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:164 -msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." -msgstr "Zapne výpočet automatického chlazení který upravuje rychlost tisku a ventilátoru v závislosti na délce tisku jedné vstvy." +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" +msgstr "Objemy čištění - matice" -#: xs/src/slic3r/GUI/GUI.cpp:899 -msgid "This flag enables the brim that will be printed around each object on the first layer." -msgstr "Tato vlajka zapíná límec, který bude vytištěn kolem každého objektu při první vrstvě." +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" +"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ů. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1066 -msgid "This flag enforces a retraction whenever a Z move is done." -msgstr "Tato možnost vyvolá retrakci, kdykoli je proveden pohyb Z." +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" +msgstr "Pozice X" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1689 -msgid "This flag will move the nozzle while retracting to minimize the possible blob on leaky extruders." -msgstr "Toto nastavení přemístí trysku při retrakci, aby se minimalizovalo možné vytékání materiálu." +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "X souřadnice levého předního rohu čistící věže" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:343 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:406 -msgid "This is only used in the Slic3r interface as a visual help." -msgstr "Toto je ve Slic3ru jako názorná pomoc." +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "Pozice Y" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:171 -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." -msgstr "Toto je hodnota akcelerace na kterou se tiskárna vrátí po specifických úpravách akcelerace například při tisku (perimetru/výplně). Nastavením na nulu zabráníte návratu rychlostí zcela." +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "Y souřadnice levého předního rohu čistící věže" + +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "Šířka čistící věže" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:78 -msgid "This is the acceleration your printer will use for bridges. Set zero to disable acceleration control for bridges." -msgstr "Nastavení akcelerace tiskárny při vytváření mostů. Nastavením na nulu vypnete ovládání akcelerace pro mosty." +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "Úhel natočení čistící věže" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:574 -msgid "This is the acceleration your printer will use for first layer. Set zero to disable acceleration control for first layer." -msgstr "Toto je zrychlení, které vaše tiskárna použije pro první vrstvu. Nastavte nulu pro vypnutí řízení zrychlení pro první vrstvu." +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "Úhel natočení čistící věže s ohledem na osu X " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:682 -msgid "This is the acceleration your printer will use for infill. Set zero to disable acceleration control for infill." -msgstr "Toto je zrychlení, které vaše tiskárna použije pro výplň. Nastavte nulu, chcete-li vypnout řízení zrychlení pro výplň." +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "stupňů" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:949 -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 "Jedná se o akceleraci, kterou vaše tiskárna použije pro perimetry. Vysoká hodnota, jako je 9000, obvykle dává dobré výsledky, pokud je váš hardware v pořádku. Nastavte nulu pro vypnutí řízení zrychlení pro perimetry." +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:895 -msgid "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" -msgstr "Průměr trysky extruderu (například: 0.5, 0.35 atd.)" +#: src/libslic3r/PrintConfig.cpp:2273 +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 "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:797 -#, no-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." -msgstr "Toto je největší možná výška vrstvy pro tento extruder, který se používá k zakrytí výšky proměnné vrstvy a výšky podpůrné vrstvy. Maximální doporučená výška vrstvy činí 75% šířky vytlačování, aby se dosáhlo přiměřené přilnavosti mezi vrstvami. Pokud je nastavena hodnota 0, je výška vrstvy omezena na 75% průměru trysky." +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:858 -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." -msgstr "Nejmenší tisknutelná výška vrstvy pro tento extruder. Omezuje rozlišení pro výšku proměnné vrstvy. Typické hodnoty jsou mezi 0,05 mm a 0,1 mm." +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1816 -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 "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/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" +msgstr "Maximální vzdálenost přemostění" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:990 -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." -msgstr "Tato volba nastavuje počet perimetrů, které je třeba vygenerovat pro každou vrstvu. Slic3r může toto číslo automaticky zvýšit, pokud detekuje šikmé plochy, které se tisknou lépe s vyšším počtem obvodů, pokud je zapnuta možnost Extra perimetry." +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "Maximální vzdálenost mezi podporami u částí s řídkou výplní. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:923 -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 "Tato volba sníží teplotu neaktivních extruderů, aby u nich nedošlo k vytékání." +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "Kompenzace XY rozměrů" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:728 -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." -msgstr "Tato volba omezuje výplň na plochy skutečně potřebné pro podporu stropů (bude se chovat jako vnitřní podpůrný materiál). Je-li tato volba zapnuta, zpomaluje generování G-code kvůli několikanásobným kontrolám." +#: src/libslic3r/PrintConfig.cpp:2299 +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 "" +"Objekt bude roztažen / smrštěn v rovině XY nastavenou hodnotou (negativní = " +"směrem dovnitř, pozitivní = směrem ven). To může být užitečné pro jemné " +"doladění otvorů." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:721 -msgid "This option will switch the print order of perimeters and infill, making the latter first." -msgstr "Tato volba obrátí pořadí tisku obvodů a výplní." +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" +msgstr "Odsazení Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:279 -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." -msgstr "Toto oddělené nastavení ovlivní rychlost tisku vnějších perimetrů (těch viditelných). Pokud je hodnota vyjádřena procenty (například: 80%), bude rychlost vypočítána z hodnoty rychlosti tisku perimetrů, nastavené výše. Nastavte nulu pro automatický výpočet." +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" +"Tato hodnota bude přidána (nebo odečtena) ze všech souřadnic Z ve výstupním " +"G-code. Používá se ke kompenzování špatné pozice endstopu Z. Například pokud " +"endstop 0 skutečně ponechá trysku 0,3 mm daleko od tiskové podložky, " +"nastavte hodnotu -0,3 (nebo dolaďte svůj koncový doraz)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1252 -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 "Toto oddělené nastavení ovlivní rychlost perimetrů o poloměru <= 6,5 mm (obvykle díry). Pokud je vyjádřeno jako procentní podíl (například: 80%), vypočte se z výše uvedeného nastavení rychlosti perimetrů. Pro automatické nastavení zadejte nulu." +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:737 -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." -msgstr "Toto nastavení uplatňuje dodatečné překrytí mezi výplní a obvodem pro lepší spojení. Teoreticky by to nemělo být potřeba, ale reakce by mohla způsobit mezery. Pokud je vyjádřeno procenty (například: 15%), vypočítá se z šířky extruze perimetrů." +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:779 -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 "Toto nastavení řídí výšku (a tedy výsledný počet) řezů/vrstev. Tenčí vrstva poskytuje lepší přesnost, ale tiskne se déle." +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:788 -msgid "This setting represents the maximum speed of your fan." -msgstr "Toto nastavení vyjadřuje maximální rychlost ventilátoru." +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:849 -msgid "This setting represents the minimum PWM your fan needs to work." -msgstr "Toto nastavení představuje minimální hodnotu PWM, kterou ventilátor potřebuje, aby pracoval." +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 -#, c-format -msgid "This Slic3r PE version: %s" -msgstr "Tato verze Slic3r PE: %s" +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1358 -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 "Tento postup spuštění je vložen na začátku, po každém spuštění G-code tiskárny. Toto slouží k přepsání nastavení pro konkrétní filament. Pokud Slic3r detekuje M104, M109, M140 nebo M190 ve vašich vlastních kódech, takové příkazy nebudou automaticky předkládány, takže máte možnost přizpůsobit pořadí příkazů k ohřevu a další vlastní akce. Pro všechny nastavení Slic3ru můžete použít zástupné proměnné, takže můžete zadat příkaz “M109 S [first_layer_temperature]” kdekoli chcete. Pokud máte více extruderů, G-code se zpracovává v pořadí extruderů." +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1343 -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 "Tento spouštěcí postup je vložen na začátku, poté, co vyhřívaná tisková podložka dosáhla cílové teploty a extruder se právě začal ohřívat a předtím, než dosáhl cílové teploty extruder . Pokud Slic3r detekuje M104 nebo M190 ve vašich vlastních kódech, takové příkazy nebudou automaticky předkládány, takže máte možnost upravit pořadí příkazů pro vytápění a další vlastní akce. Pro všechny nastavení Slic3ru můžete použít zástupné proměnné, takže můžete zadat příkaz “M109 S [first_layer_temperature]” kdekoli chcete." +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:487 -msgid "This string is edited by RammingDialog and contains ramming specific parameters " -msgstr "This string is edited by RammingDialog and contains ramming specific parameters " +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1743 -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 "Tato hodnota bude přidána (nebo odečtena) ze všech souřadnic Z ve výstupním G-code. Používá se ke kompenzování špatné pozice endstopu Z. Například pokud endstop 0 skutečně ponechá trysku 0,3 mm daleko od tiskové podložky, nastavte hodnotu -0,3 (nebo dolaďte svůj koncový doraz)." +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1808 -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 "Tento vektor ukládá potřebné objemy pro změnu z/na každý extruder používaný na čistící veži. Tyto hodnoty jsou použity pro zjednodušení vytvoření celkových objemů čištění níže. " +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 -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" -"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" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" msgstr "" -"Tato verze Slic3r PE není kompatibilní se současně nainstalovanými balíčky nastavení.\n" -"Tato situace nejspíše nastala spuštěním starší verze Slic3r PE po používání novější verze.\n" -"\n" -"Můžete buď ukončit Slic3r a zkusit to znovu s novou verzí, nebo můžete znovu spustit výchozí konfiguraci. Před instalací kompatibilního nastavení s touto verzí Slic3ru dojde k vytvoření zálohy současné konfigurace.\n" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1590 -msgid "Threads" -msgstr "Vlákna" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1591 -msgid "Threads are used to parallelize long-running tasks. Optimal threads number is slightly above the number of available cores/processors." -msgstr "Vlákna jsou používána pro paralelizaci časově náročnějších úloh. Optimální počet vláken je mírně nad počtem dostupných jader/procesorů." +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -msgid "Time" -msgstr "Čas" +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:477 -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. " -msgstr "Doba čekání po vysunutí filamentu. Může pomoci ke spolehlivé výměně nástrojů s flexibilními materiály, které potřebují více času ke smrštění na původní rozměry. " +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:750 -msgid "To do that please specify a new name for the preset." -msgstr "Chcete-li akci provést, prosím nejdříve zadejte nový název přednastavení." +#: src/libslic3r/PrintConfig.cpp:2403 +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 "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 -msgid "To download, follow the link below." -msgstr "Pro stažení, klikněte na odkaz níže." +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:338 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:72 -msgid "Tool" -msgstr "Nástroj" +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:238 -msgid "Tool #" -msgstr "Nástroj #" +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1144 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1602 -msgid "Tool change G-code" -msgstr "G-code pro výměnu nástroje" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1315 -msgid "Toolchange parameters with single extruder MM printers" -msgstr "Parametry při výměně (Multi Material s jedním extruderem)" +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1638 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top" -msgstr "Horních" +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:187 -msgid "top solid infill" -msgstr "vrchní plná výplň" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1613 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1624 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:143 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:85 -msgid "Top solid infill" -msgstr "Výplň plných horních" +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1642 -msgid "Top solid layers" -msgstr "Vrchních plných vrstev" +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top View" -msgstr "Pohled svrchu" +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:246 -msgid "Top/bottom fill pattern" -msgstr "Vzor výplně horních/spodních vrstev" +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:245 -msgid "Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded." -msgstr "Celkový objem čištění je spočítán jako součet dvou hodnot níže v závislosti na tom, které extrudery jsou zavedeny/vyjmuty." +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:84 -msgid "Total rammed volume" -msgstr "Celkový objem rapidní extruze" +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -msgid "Total ramming time" -msgstr "Celkový čas rapidní extruze" +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1647 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:95 -msgid "Travel" -msgstr "Rychloposun" +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1107 -msgid "Type of the printer." -msgstr "Typ tiskárny." +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Uniformly…" -msgstr "Souměrně…" +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 -msgid "Unknown" -msgstr "Neznámý" +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:232 -msgid "unloaded" -msgstr "vyjmuto" +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:467 -msgid "Unloading speed" -msgstr "Rychlost vysunutí" +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2483 -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." -msgstr "Ikona ODEMKNUTÉHO ZÁMKU indikuje, že některá nastavení byla změněna a nejsou shodná se systémovými hodnotami pro danou skupinu nastavení. Klikněte pro reset všech nastavení aktuální skupiny nastavení na systémové hodnoty." +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2498 +#: src/libslic3r/PrintConfig.cpp:2531 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." +"Controls the bridge type between two neigboring 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 "" -"Ikona ODEMKNUTÉHO ZÁMKU indikuje, že se hodnota změnila a není shodná se systémovou hodnotou.\n" -"Klikněte pro reset současné hodnoty na systémovou hodnotu." -#: xs/src/slic3r/GUI/Tab.cpp:2445 -msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to the system values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system values." +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" msgstr "" -"ODEMKNUTÝ ZÁMEK;indikuje, že některá nastavení byla změněna a nejsou shodná se systémový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é hodnoty." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:97 -msgid "Unretractions" -msgstr "Deretrakce" +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1492 -msgid "Unsaved Changes" -msgstr "Neuložené Změny" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:750 -msgid "Unsaved Presets" -msgstr "Neuložená Přednastavení" +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "Update available" -msgstr "Je dostupná aktualizace" +#: src/libslic3r/PrintConfig.cpp:2548 +msgid "" +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:279 xs/src/slic3r/GUI/Preferences.cpp:67 -msgid "Update built-in Presets automatically" -msgstr "Aktualizovat vestavěné přednastavení automaticky" +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Updates" -msgstr "Aktualizace" +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:283 -msgid "Updates are never applied without user's consent and never overwrite user's customized settings." -msgstr "Aktualizace nejsou nikdy nainstalovány bez vědomí uživatele a nikdy nepřepíšou upravená uživatelská nastavení." +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 -msgid "Upgrade" -msgstr "Aktualizovat" +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Upload a firmware image into an Arduino based printer" -msgstr "Nahrát firmware do tiskárny s Arduinem" +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:989 -msgid "USB/Serial connection" -msgstr "USB/Sériové připojení" +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1194 -msgid "USB/serial port for printer connection." -msgstr "USB/sériový port pro připojení tiskárny." +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1656 -msgid "Use firmware retraction" -msgstr "Použít retrakce z firmwaru" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:75 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "Použijte historické OpenGL 1.1 vykreslování" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1663 -msgid "Use relative E distances" -msgstr "Použít relativní E vzdálenosti" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:361 -msgid "Use this option to set the axis letter associated to your printer's extruder (usually E but some printers use A)." -msgstr "Touto volbou nastavíte písmeno osy přidružené k extruderu tiskárny (obvykle E, ale některé tiskárny používají A)." +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1400 -msgid "Use this setting to rotate the support material pattern on the horizontal plane." -msgstr "Toto nastavení použijte pro horizontální otočení vzoru." +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "" +"How many support points (approximately) should be placed on horizontal " +"surface." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1670 -msgid "Use volumetric E" -msgstr "Použít volumetrickou hodnotu E" +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:449 -msgid "Used Filament (g)" -msgstr "Použito Filamentu (g)" +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:447 -msgid "Used Filament (m)" -msgstr "Použito Filamentu (m)" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:448 -msgid "Used Filament (mm³)" -msgstr "Použito Filamentu (mm³)" +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 -msgid "User" -msgstr "Uživatel" +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" -#: xs/src/slic3r/GUI/Preset.cpp:649 xs/src/slic3r/GUI/Preset.cpp:706 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1127 lib/Slic3r/GUI/Plater.pm:553 -msgid "User presets" -msgstr "Uživatelská přednastavení" +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 -msgid "Value is the same as the system value" -msgstr "Hodnota je shodná se systémovou hodnotou" +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 -msgid "Value was changed and is not equal to the system value or the last saved preset" -msgstr "Hodnota byla změněna a není shodná se systémovou hodnotou nebo naposled uloženým přednastavením" +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "variants" -msgstr "varianty" +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:755 -msgid "vendor" -msgstr "prodejce" +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:644 -msgid "Verbose G-code" -msgstr "Komentáře do G-code" +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid "Version " -msgstr "Verze " +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 -msgid "version" -msgstr "verze" +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "" -#: xs/src/slic3r/GUI/AboutDialog.cpp:60 -msgid "Version" -msgstr "Verze" +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:318 -msgid "Vertical shells" -msgstr "Svislé stěny" +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:65 -msgid "View" -msgstr "Zobrazení" +#: src/libslic3r/PrintConfig.cpp:3031 +msgid "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:409 -msgid "Volume" -msgstr "Obsah" +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241 -msgid "Volume to purge (mm³) when the filament is being" -msgstr "Objem k vyčištění (mm³) pokud je filament" +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Volumetric" -msgstr "Volumetrický" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 -msgid "Volumetric flow rate" -msgstr "Objemový průtok" +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:370 -msgid "Volumetric flow rate (mm3/s)" -msgstr "Objemový průtok (mm3/s)" +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:86 -msgid "Volumetric speed" -msgstr "Objemová rychlost" +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:500 -msgid "Warning" -msgstr "Varování" +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -msgid "Welcome" -msgstr "Vítejte" +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -#, c-format -msgid "Welcome to the Slic3r %s" -msgstr "Vítejte v Slic3r %s" +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:131 -msgid "What do you want to print today? ™" -msgstr "Co chcete dnes tisknout? ™" +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:69 -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 "Pokud je zaškrtnuto, přednastavení tisku a filamentu se zobrazují v editoru přednastavení, i když jsou označeny jako nekompatibilní s aktivní tiskárnou" +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:219 -msgid "when printing " -msgstr "při tisku " +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3076 +msgid "" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:136 -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 "Připnutí překrývajících se objektů jeden k druhému při Multimateriálovém tisku. (Druhá část se připne k první, třetí část k první a druhé, atd)." +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:155 -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 "Při tisku více objektů nebo kopií tiskárna kompletně dokončí jeden objekt, předtím než začne tisknout druhý (začíná od spodní vstvy). Tato vlastnost je výhodná z důvodů snížení rizika zničených výtisků. Slic3r by měl varovat při možné kolizi extruderu s objektem a zabránit mu, přesto doporučujeme obezřetnost." +#: src/libslic3r/PrintConfig.cpp:3082 +msgid "" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:605 -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." -msgstr "Při tisku s velmi nízkými výškami vrstev můžete stále vytisknout tlustší spodní vrstvu pro zlepšení přilnavosti a toleranci pro nedokonale zkalibrovanou tiskovou podložku. Může být vyjádřeno jako absolutní hodnota nebo jako procento (například: 150%) z výchozí výšky vrstvy." +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1082 -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 "Při výměně nástroje se spustí retrakce a filament se zatáhne zpět o zadané množství (délka se měří na surovém filamentu, než vstoupí do extruderu)." +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1073 -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 "Při spuštění retrakce se filament zatáhne zpět o zadané množství (délka se měří na surovém filamentu, než vstoupí do extruderu)." +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:808 -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." -msgstr "Pokud jsou všechna ostatní nastavení rychlosti na hodnotě nula, Slic3r automaticky vypočítá optimální rychlost pro udržení konstantního tlaku v extruderu. Toto experimentální nastavení slouží k nastavení nejvyšší rychlosti tisku, kterou chcete povolit." +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1127 -msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." -msgstr "Když je retrakce kompenzována po změně nástroje, extruder vytlačuje toto další množství filamentu." +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1119 -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 "Když je retrakce kompenzována po rychloposunu, extruder vytlačuje toto další množství filamentu. Toto nastavení je zřídkakdy potřeba." +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2486 -msgid "WHITE BULLET icon indicates a non system preset." -msgstr "Ikona BÍLÉ TEČKY indikuje nesystémové přednastavení." +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2489 -msgid "WHITE BULLET icon indicates that the settings are the same as in the last saved preset for the current option group." -msgstr "Ikona BÍLÉ TEČKY indikuje, že nastavení jsou shodná s naposledy uloženým přednastavením pro danou skupinu nastavení." +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2504 -msgid "WHITE BULLET icon indicates that the value is the same as in the last saved preset." -msgstr "Ikona BÍLÉ TEČKY indikuje, že je hodnota shodná s naposledy uloženým přednastavením." +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2451 -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." +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." msgstr "" -"BÍLÁ TEČKA;pro levé tlačítko: indikuje nesystémové přednastavení,\n" -"pro pravé tlačítko: indikuje, že nastavení nebylo změněno." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1716 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:70 -msgid "Width" -msgstr "Šířka" +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" +msgstr "Smíšený" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:334 +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "Výška (mm)" + +#: src/libslic3r/GCode/PreviewData.cpp:398 msgid "Width (mm)" msgstr "Šířka (mm)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1717 -msgid "Width of a wipe tower" -msgstr "Šířka čistící věže" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:41 -#, c-format -msgid "will always run at %d%% " -msgstr "bude vždy běžet na %d%% " +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "Rychlost (mm/s)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:50 -msgid "will be turned off." -msgstr "bude vypnut." +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "Objemový průtok (mm3/s)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:442 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:149 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:91 -msgid "Wipe tower" -msgstr "Čistící věž" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:564 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:585 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:602 -msgid "Wipe Tower" -msgstr "Čistící věž" +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:142 -msgid "Wipe tower - Purging volume adjustment" -msgstr "Čistící věž - Úprava objemu čištění" +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1847 -msgid "Wipe tower rotation angle" -msgstr "Úhel natočení čistící věže" +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1848 -msgid "Wipe tower rotation angle with respect to x-axis " -msgstr "Úhel natočení čistící věže s ohledem na osu X " +#~ msgid "" +#~ "\n" +#~ "Non-positive value." +#~ msgstr "" +#~ "\n" +#~ "Nezáporná hodnota." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1688 -msgid "Wipe while retracting" -msgstr "Očistit při retrakci" +#~ msgid "" +#~ "\n" +#~ "Not a numeric value." +#~ msgstr "" +#~ "\n" +#~ "Nečíselná hodnota." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1058 -msgid "With bowden extruders, it may be wise to do some amount of quick retract before doing the wipe movement." -msgstr "U bowdenových extrudérů může být vhodné provést rychlé retrakce než se spustí očištění." +#~ msgid " preset\n" +#~ msgstr " přednastavení\n" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1564 -msgid "With sheath around the support" -msgstr "S pouzdrem okolo podpor" +#~ msgid " preset" +#~ msgstr " přednastavení" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 -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í:" +#~ msgid "&Load Config Bundle" +#~ msgstr "&Načíst Konfigurační Balík" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1703 -msgid "X coordinate of the left front corner of a wipe tower" -msgstr "X souřadnice levého předního rohu čistící věže" +#~ msgid "&Load Config" +#~ msgstr "&Načíst Konfiguraci" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1386 -msgid "XY separation between an object and its support" -msgstr "XY vzdálenost mezi objektem a podporami" +#~ msgid "&Object" +#~ msgstr "&Objekt" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1388 -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 "XY vzdálenost mezi objektem a podporami. Pokud je vyjádřeno procenty (například 50%), bude vypočítána z šířky perimetru." +#~ msgid "&Plater" +#~ msgstr "&Podložka" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1732 -msgid "XY Size Compensation" -msgstr "Kompenzace XY rozměrů" +#~ 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 "" +#~ "Zakázat komunikaci s tiskárnou přes sériový / USB kabel. To zjednodušuje " +#~ "uživatelské rozhraní v případě, že tiskárna není nikdy připojena k " +#~ "počítači." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1710 -msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "Y souřadnice levého předního rohu čistící věže" +#~ msgid "Disable USB/serial connection" +#~ msgstr "Vypnout USB/sériové připojení" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1970 -msgid "Yes" -msgstr "Ano" +#~ msgid "Drag your objects here" +#~ msgstr "Přetáhněte své objekty sem" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:885 -msgid "You can put here your personal notes. This text will be added to the G-code header comments." -msgstr "Zde můžete zadat své osobní poznámky. Tento text bude přidán do komentáře záhlaví G code." +#~ msgid "Error while uploading to the OctoPrint server" +#~ msgstr "Chyba při nahrávání na server OctoPrint" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:413 -msgid "You can put your notes regarding the filament here." -msgstr "Zde můžete vložit poznámky týkající se filamentu." +#~ msgid "Export cancelled" +#~ msgstr "Export zrušen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1015 -msgid "You can put your notes regarding the printer here." -msgstr "Zde můžete uvést poznámky týkající se tiskárny." +#~ msgid "File added to print queue" +#~ msgstr "Soubor byl přidán do tiskové fronty" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:181 -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." -msgstr "Nastavením počtu prvních vstev s vypnutým chlazením pro nezhoršování přilnavosti." +#~ msgid "G-code file exported to " +#~ msgstr "Soubor G-code byl exportován do " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:931 -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 "V této šabloně můžete použít všechny možnosti konfigurace jako proměnné. Můžete například použít: [layer_height], [fill_density] etc. Také můžete použít [timestamp], [year], [month], [day], [hour], [minute], [second], [version], [input_filename], [input_filename_base]." +#~ msgid "Invalid API key" +#~ msgstr "Neplatný API klíč" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid "You have unsaved changes " -msgstr "Máte neuložené změny " +#~ msgid "Load shape from STL" +#~ msgstr "Načíst tvar ze souboru STL" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:101 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "Chcete-li provést změny, musíte restartovat aplikaci Slic3r." +#~ msgid "OctoPrint upload" +#~ msgstr "OctoPrint nahrávání" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Your file was repaired." -msgstr "Váš soubor byl opraven." +#~ msgid "OctoPrint upload finished." +#~ msgstr "Nahrávání do OctoPrintu dokončeno." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:744 -msgid "Your object appears to be too large, so it was automatically scaled down to fit your print bed." -msgstr "Váš objekt se zdá být příliš velký, takže byl automaticky zmenšen, aby se vešel na tiskovou podložku." +#~ msgid "" +#~ "Please install the OpenGL modules to use this feature (see build " +#~ "instructions)." +#~ msgstr "" +#~ "Pro použití této funkce prosím nainstalujte OpenGL moduly (viz instrukce " +#~ "vlastního sestavení)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1742 -msgid "Z offset" -msgstr "Odsazení Z" +#~ msgid "" +#~ "Slic3r can upload G-code files to OctoPrint. This field should contain " +#~ "the API Key required for authentication." +#~ msgstr "" +#~ "Slic3r může nahrát soubory G-code do OctoPrintu. Toto pole by mělo " +#~ "obsahovat klíč API požadovaný pro ověření." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:91 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:492 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1170 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1181 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1401 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1557 -msgid "°" -msgstr "°" +#~ msgid "" +#~ "Slic3r can upload G-code files to OctoPrint. This field should contain " +#~ "the hostname, IP address or URL of the OctoPrint instance." +#~ msgstr "" +#~ "Slic3r může nahrát soubory G-code do OctoPrintu. Toto pole by mělo " +#~ "obsahovat název hosta (hostname), IP adresu nebo URL instance OctoPrint." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:484 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 -msgid "°C" -msgstr "°C" +#~ msgid "What do you want to print today? ™" +#~ msgstr "Co chcete dnes tisknout? ™" diff --git a/resources/localization/de_DE/Slic3rPE.mo b/resources/localization/de_DE/Slic3rPE.mo index 572c10934a52f7e67893f53e3a9d871cc4ba0232..523edac01de1ed301b140014792e558829567278 100644 GIT binary patch delta 21878 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 I+=QtA1B&ABCIA2c diff --git a/resources/localization/de_DE/Slic3rPE_de.po b/resources/localization/de_DE/Slic3rPE_de.po index 8360b622e8f..8d4d494607e 100644 --- a/resources/localization/de_DE/Slic3rPE_de.po +++ b/resources/localization/de_DE/Slic3rPE_de.po @@ -1,2180 +1,2123 @@ msgid "" msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-17 13:39+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: Oleksandra Iushchenko \n" +"Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.0.8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Oleksandra Iushchenko \n" -"Language-Team: \n" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"und hat die folgenden ungesicherten Änderungen:" +#: src/slic3r/GUI/AboutDialog.cpp:33 +msgid "About Slic3r" +msgstr "Über Slic3r" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1491 -msgid "" -"\n" -"\n" -"Discard changes and continue anyway?" -msgstr "" -"\n" -"\n" -"Änderungen verwerfen und fortfahren?" +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 +msgid "Version" +msgstr "Version" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1489 -msgid "" -"\n" -"\n" -"has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"hat die folgenden ungesicherten Änderungen:" +#: src/slic3r/GUI/BedShapeDialog.cpp:43 +msgid "Shape" +msgstr "Form" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" -msgstr "" -"\n" -"\n" -"ist mit dem Drucker nicht kompatibel\n" +#: src/slic3r/GUI/BedShapeDialog.cpp:50 +msgid "Rectangular" +msgstr "Rechteckig" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:34 -msgid "" -"\n" -"During the other layers, fan " -msgstr "" -"\n" -"Während der übrigen Schichten, Ventilator " +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 +msgid "Size" +msgstr "Grösse" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:30 -#, 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%%." -msgstr "" -"\n" -"Falls die erwartete Schichtdruckzeit größer, aber noch unterhalb von ~%d Sekunden ist, wird der Lüfter mit einer sich proportional verringernden Geschwindigkeit zwischen %d%% und %d%% laufen." +#: src/slic3r/GUI/BedShapeDialog.cpp:55 +msgid "Size in X and Y of the rectangular plate." +msgstr "Grösse der rechteckigen Platte in X und Y." + +#: src/slic3r/GUI/BedShapeDialog.cpp:61 +msgid "Origin" +msgstr "Nullpunkt" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:927 +#: src/slic3r/GUI/BedShapeDialog.cpp:62 msgid "" -"\n" -"Non-positive value." +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." msgstr "" -"\n" -"Nicht positiver Wert." +"Abstand der 0,0 G-Code-Koordinate von der linken vorderen Ecke des Rechtecks." + +#: src/slic3r/GUI/BedShapeDialog.cpp:66 +msgid "Circular" +msgstr "Kreisförmig" + +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 +msgid "mm" +msgstr "mm" + +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 +msgid "Diameter" +msgstr "Durchmesser" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:928 +#: src/slic3r/GUI/BedShapeDialog.cpp:71 msgid "" -"\n" -"Not a numeric value." +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." msgstr "" -"\n" -"Kein numerischer Wert." +"Durchmesser des Druckbettes. Es wird angenommen, dass der Ursprung (0,0) " +"sich im Mittelpunkt befindet." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid " - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr " - Denken Sie an die Überprüfung von Updates auf http://github.com/prusa3d/slic3r/releases" +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 +msgid "Custom" +msgstr "Benutzerdefiniert" -# Used in this context: _("Save ") + title + _(" as:") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -msgid " as:" -msgstr " als:" +#: src/slic3r/GUI/BedShapeDialog.cpp:79 +msgid "Load shape from STL..." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:226 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " mit einer Filamentgeschwindigkeit von %3.2f mm³/s." +#: src/slic3r/GUI/BedShapeDialog.cpp:125 +msgid "Settings" +msgstr "Einstellungen" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1035 -msgid " Browse " -msgstr " Suchen " +#: src/slic3r/GUI/BedShapeDialog.cpp:298 +msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Wählen Sie eine Datei als Druckbettkontur aus (STL/OBJ/AMF/3MF/PRUSA):" -# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid " file as:" -msgstr " Datei als:" +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 +msgid "Error! " +msgstr "Fehler! " -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:215 -msgid " flow rate is maximized " -msgstr " die Durchflussmenge ist am Maximum " +#: src/slic3r/GUI/BedShapeDialog.cpp:324 +msgid "The selected file contains no geometry." +msgstr "Die ausgewählte Datei enthält keine Geometrie." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -#, no-c-format +#: src/slic3r/GUI/BedShapeDialog.cpp:328 msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +"The selected file contains several disjoint areas. This is not supported." msgstr "" -" Infillmuster ist nicht empfohlen für 100% Füllvolumen.\n" -"\n" -"Soll auf das rechtlineare Füllmuster umgestellt werden?" +"Die ausgewählte Datei enthält mehrere nicht zusammenhängende Bereiche. Dies " +"wird nicht unterstützt." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1470 -msgid " preset\n" -msgstr " Voreinstellung\n" +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape" +msgstr "Druckbrettprofil" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid " preset" -msgstr " Voreinstellung" +#: src/slic3r/GUI/BonjourDialog.cpp:54 +msgid "Network lookup" +msgstr "Network Lookup" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1583 -msgid " Preset" -msgstr " Voreinstellung" +#: src/slic3r/GUI/BonjourDialog.cpp:67 +msgid "Address" +msgstr "Adresse" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:942 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1637 -msgid " Set " -msgstr " Setzen " +#: src/slic3r/GUI/BonjourDialog.cpp:68 +msgid "Hostname" +msgstr "Hostname" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid " the selected preset?" -msgstr " die ausgewählte Voreinstellung?" +#: src/slic3r/GUI/BonjourDialog.cpp:69 +msgid "Service name" +msgstr "Name des Dienstes" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:548 -msgid " was successfully sliced." -msgstr " wurde erfolgreich gesliced." +#: src/slic3r/GUI/BonjourDialog.cpp:70 +msgid "OctoPrint version" +msgstr "OctoPrint Version" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:220 -msgid " with a volumetric rate " -msgstr " mit einer Volumenrate von " +#: src/slic3r/GUI/BonjourDialog.cpp:188 +msgid "Searching for devices" +msgstr "Es wird nach Geräten gesucht" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:99 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:504 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:789 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:850 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1060 -msgid "%" -msgstr "%" +#: src/slic3r/GUI/BonjourDialog.cpp:195 +msgid "Finished" +msgstr "Fertig" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:224 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f mm³/s" +#: src/slic3r/GUI/ButtonsDescription.cpp:15 +msgid "Buttons And Text Colors Description" +msgstr "Schaltflächen und Textfarben Beschreibung" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1958 -#, perl-format -msgid "%d (%d shells)" -msgstr "%d (%d Konturhüllen)" +#: src/slic3r/GUI/ButtonsDescription.cpp:40 +msgid "Value is the same as the system value" +msgstr "Der Wert ist gleich wie die Systemeinstellung" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1965 -#, perl-format -msgid "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d facets reversed, %d backwards edges" -msgstr "%d degenerierte Flächen, %d Kanten korrigiert, %d Flächen entfernt, %d Flächen hinzugefügt, %d Flächen umgekehrt, %d rückwärtige Kanten" +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" +"Der Wert wurde geändert und ist nicht gleich wie die Systemeinstellung oder " +"die letzte abgespeicherte Voreinstellung" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:269 -#, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d Linien: %.2lf mm" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 +msgid "Upgrade" +msgstr "Aktualisieren" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:687 -#, perl-format -msgid "%d presets successfully imported." -msgstr "%d Voreinstellungen erfolgreich importiert." +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 +msgid "Downgrade" +msgstr "Downgrade" -#: xs/src/slic3r/GUI/Field.cpp:102 -#, c-format -msgid "%s doesn't support percentage" -msgstr "%s akzeptiert keine Prozentangaben" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 +msgid "Before roll back" +msgstr "Vor dem Zurückwechseln" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "&About Slic3r" -msgstr "&Über Slic3r" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 +msgid "User" +msgstr "Benutzer" -#: xs/src/slic3r/GUI/GUI.cpp:466 -msgid "&Configuration" -msgstr "&Konfiguration" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 +msgid "Unknown" +msgstr "Unbekannt" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "&Export Config Bundle…" -msgstr "Konfigurationssamlung &exportieren…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 +msgid "Active: " +msgstr "Aktiv: " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "&Export Config…\tCtrl+E" -msgstr "&Exportiere Konfiguration…\tCtrl+E" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +msgid "slic3r version" +msgstr "Slic3r Version" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:418 -msgid "&File" -msgstr "&Datei" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 +msgid "print" +msgstr "Druck" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:791 -msgid "&Finish" -msgstr "&Beenden" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +msgid "filaments" +msgstr "Filamente" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:426 -msgid "&Help" -msgstr "&Hilfe" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 +msgid "printer" +msgstr "Drucker" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "&Load Config Bundle…" -msgstr "&Lade Konfigurationssammlung …" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 +msgid "vendor" +msgstr "Hersteller" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "&Load Config…\tCtrl+L" -msgstr "&Lade Konfiguration …\tCtrl+L" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +msgid "version" +msgstr "Version" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:420 -msgid "&Object" -msgstr "&Objekt" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 +msgid "min slic3r version" +msgstr "Min. Slic3r Version" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:419 -msgid "&Plater" -msgstr "Druck&platte" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 +msgid "max slic3r version" +msgstr "Max. Slic3r Version" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "&Quit" -msgstr "&Beenden" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "model" +msgstr "Modell" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" -msgstr "letzten Quick Slice wiede&rholen\tCtrl+Shift+U" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "variants" +msgstr "Varianten" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:422 -msgid "&View" -msgstr "&Anzeige" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 +msgid "Incompatible with this Slic3r" +msgstr "Nicht kompatibel mit diesem Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:421 -msgid "&Window" -msgstr "&Fenster" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 +msgid "Activate" +msgstr "Aktivieren" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "(&Re)Slice Now\tCtrl+S" -msgstr "(&Re)Slice jetzt \tCtrl+S" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 +msgid "Configuration Snapshots" +msgstr "Konfigurations-Momentaufnahmen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:994 -msgid "(minimum)" -msgstr "(Minimum)" +#: src/slic3r/GUI/ConfigWizard.cpp:92 +msgid "nozzle" +msgstr "Düse" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid ") not found." -msgstr ") nicht gefunden." +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" +msgstr "Standard" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid ". Discard changes and continue anyway?" -msgstr ". Änderungen verwerfen und fortfahren?" +#: src/slic3r/GUI/ConfigWizard.cpp:116 +msgid "Select all" +msgstr "Alles auswählen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:63 -msgid "1 Layer" -msgstr "1 Schicht" +#: src/slic3r/GUI/ConfigWizard.cpp:117 +msgid "Select none" +msgstr "Auswahl aufheben" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:138 -msgid "2D" -msgstr "2D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +#, c-format +msgid "Welcome to the Slic3r %s" +msgstr "Willkommen in Slic3r %s" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:104 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2124 -msgid "3D" -msgstr "3D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +msgid "Welcome" +msgstr "Willkommen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1608 -msgid "3MF file exported to " -msgstr "3MF Datei exportiert nach " +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 +#, c-format +msgid "Run %s" +msgstr "%s ausführen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:185 -msgid "45° ccw" -msgstr "45° gUzs" +#: src/slic3r/GUI/ConfigWizard.cpp:234 +#, 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." +msgstr "" +"Hallo, willkommen bei Slic3r Prusa Edition! Dieses %s hilft Ihnen bei der " +"Erstkonfiguration; nur ein paar Einstellungen und Sie sind bereit zum " +"Drucken." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:186 -msgid "45° cw" -msgstr "45° mUzs" +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" +msgstr "" +"Benutzerprofile entfernen - von Grund auf neu installieren (eine " +"Momentaufnahme wird vorab erstellt)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:148 -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 "Ein boolescher Ausdruck, der die Konfigurationswerte eines aktiven Druckerprofils verwendet. Wenn dieser Ausdruck als wahr bewertet wird, wird dieses Profil als kompatibel mit dem aktiven Druckerprofil angesehen." +#: src/slic3r/GUI/ConfigWizard.cpp:263 +msgid "Other vendors" +msgstr "Andere Hersteller" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:480 -msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." -msgstr "Ein Daumenwert ist 160 bis 230 °C für PLA, und 215 bis 250 °C für ABS." +#: src/slic3r/GUI/ConfigWizard.cpp:265 +msgid "Custom setup" +msgstr "Benutzerdefiniertes Setup" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 -msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." -msgstr "Ein Daumenwert ist 60 °C für PLA und 110 °C für ABS. Auf 0 setzen, falls kein beheiztes Bett vorhanden ist." +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Automatic updates" +msgstr "Automatische Updates" -#: xs/src/slic3r/GUI/AboutDialog.cpp:32 -msgid "About Slic3r" -msgstr "Über Slic3r" +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Updates" +msgstr "Updates" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1099 -msgid "Above Z" -msgstr "Über Z" +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 +msgid "Check for application updates" +msgstr "Nach Updates suchen" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:417 -msgid "Acceleration control (advanced)" -msgstr "Beschleunigungskontrolle (fortgeschritten)" +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" +"Falls aktiviert, sucht Slic3r online nach neuen Versionen von Slic3r PE. " +"Falls eine neue Version verfügbar ist, wird eine Mitteilung beim nächsten " +"Programmstart angezeigt (aber nie während der Programmausführung). Dies " +"dient nur der Mitteilung; es findet keine automatische Installation statt." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 -msgid "Activate" -msgstr "Aktivieren" +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 +msgid "Update built-in Presets automatically" +msgstr "Eingebaute Voreinstellungen automatisch aktualisieren" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 -msgid "Active: " -msgstr "Aktiv: " +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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 "" +"Wenn aktiviert, lädt Slic3r Updates der eingebauten Systemvoreinstellungen " +"im Hintergrund herunter. Diese Updates werden in einen separaten temporären " +"Speicherort heruntergeladen. Wenn eine neue Voreinstellungsversion verfügbar " +"wird, wird sie beim Programmstart angeboten." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1566 -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 "Fügen Sie eine Sheath (eine einzelne Druckkontur) um die Basisschicht herum hinzu. Das macht das Stützmaterial zuverlässiger, aber auch schwieriger zu entfernen." +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" +"Updates werden niemals ohne das Einverständnis des Benutzers ausgeführt, und " +"werden niemals die vom Benutzer geänderten Einstellungen überschreiben." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:299 -#, no-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." -msgstr "Fügen Sie bei Bedarf weitere Perimeter hinzu, um Spalten in schrägen Wänden zu vermeiden. Slic3r fügt immer wieder Perimeter hinzu, bis mehr als 70% der unmittelbar darüber liegenden Schleife unterstützt werden." +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." +msgstr "" +"Zusätzlich wird ein Momentaufnahme der gesamten Konfiguration als Sicherung " +"erstellt, bevor ein Update durchgeführt wird." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:240 -msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)." -msgstr "Fügen Sie stabiles Infill in der Nähe von schrägen Flächen hinzu, um die vertikale Schalenstärke zu gewährleisten (obere und untere massive Schichten)." +#: src/slic3r/GUI/ConfigWizard.cpp:320 +msgid "Other Vendors" +msgstr "Andere Hersteller" -#: xs/src/slic3r/GUI/Tab.cpp:754 -msgid "Additional information:" -msgstr "Weitere Informationen:" +#: src/slic3r/GUI/ConfigWizard.cpp:322 +msgid "Pick another vendor supported by Slic3r PE:" +msgstr "Wählen Sie einen anderen von Slic3r PE unterstützten Hersteller:" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:288 -msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied." -msgstr "Zusätzlich wird ein Momentaufnahme der gesamten Konfiguration als Sicherung erstellt, bevor ein Update durchgeführt wird." +#: src/slic3r/GUI/ConfigWizard.cpp:381 +msgid "Firmware Type" +msgstr "Firmware Typ" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 -msgid "Address" -msgstr "Adresse" +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 +msgid "Firmware" +msgstr "Firmware" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:177 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:195 -msgid "Add…" -msgstr "Import…" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:342 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:356 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:449 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:452 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:831 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:107 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:208 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:736 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1733 -msgid "Advanced" -msgstr "Erweiterte Einstellungen" +#: src/slic3r/GUI/ConfigWizard.cpp:385 +msgid "Choose the type of firmware used by your printer." +msgstr "Wählen Sie den Typ der von Ihrem Drucker verwendeten Firmware." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:319 -msgid "Advanced: avrdude output log" -msgstr "Fortgeschritten: Avrdude Output Log" +#: src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape and Size" +msgstr "Bettform und -größe" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1138 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:766 -msgid "After layer change G-code" -msgstr "G-Code am Schichtende" +#: src/slic3r/GUI/ConfigWizard.cpp:422 +msgid "Set the shape of your printer's bed." +msgstr "Stellen Sie die Konturen Ihres Druckerbettes ein." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1636 -msgid "All" -msgstr "Alle" +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Filament and Nozzle Diameters" +msgstr "Filament- und Düsendurchmesser" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Along X axis…" -msgstr "Entlang der X Achse…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Along Y axis…" -msgstr "Entlang der Y Achse…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Along Z axis…" -msgstr "Entlang der Z Achse…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1592 -msgid "AMF file exported to " -msgstr "AMF Datei exportiert nach " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Another export job is currently running." -msgstr "Ein anderer Exportjob läuft zur Zeit." +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Print Diameters" +msgstr "Druckdurchmesser" -#: xs/src/slic3r/GUI/Tab.cpp:749 -msgid "Any modifications should be saved as a new preset inherited from this one. " -msgstr "Alle Änderungen sollten als neues Preset gespeichert werden, das von diesem vererbt wurde. " +#: src/slic3r/GUI/ConfigWizard.cpp:452 +msgid "Enter the diameter of your printer's hot end nozzle." +msgstr "Geben Sie den Durchmesser der Hotenddüse ein." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:901 -msgid "API Key" -msgstr "API Key" +#: src/slic3r/GUI/ConfigWizard.cpp:455 +msgid "Nozzle Diameter:" +msgstr "Düsendurchmesser:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:299 -msgid "Application preferences" -msgstr "Anwendungseinstellungen" +#: src/slic3r/GUI/ConfigWizard.cpp:465 +msgid "Enter the diameter of your filament." +msgstr "Geben Sie den Durchmesser des Filaments ein." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Application will be restarted" -msgstr "Anwendung wird neu gestartet" +#: src/slic3r/GUI/ConfigWizard.cpp:466 +msgid "" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." +msgstr "" +"Eine hohe Genauigkeit ist erforderlich, also verwenden Sie einen " +"Messschieber und führen Sie mehrere Messungen entlang des Filaments durch, " +"um dann den Mittelwert zu berechnen." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:397 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1242 -msgid "approximate seconds" -msgstr "ungefähre Sekunden" +#: src/slic3r/GUI/ConfigWizard.cpp:469 +msgid "Filament Diameter:" +msgstr "Filamentdurchmesser:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid "Are you sure you want to " -msgstr "Wollen Sie wirklich " +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Extruder and Bed Temperatures" +msgstr "Extruder- und Druckbetttemperatur" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:365 -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/ConfigWizard.cpp:487 +msgid "Temperatures" +msgstr "Temperaturen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Around X axis…" -msgstr "Entlang der X Achse…" +#: src/slic3r/GUI/ConfigWizard.cpp:503 +msgid "Enter the temperature needed for extruding your filament." +msgstr "" +"Geben Sie die Temperatur ein, die für die Extrusion Ihres Filaments benötigt " +"wird." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Around Y axis…" -msgstr "Entlang der Y Achse…" +#: src/slic3r/GUI/ConfigWizard.cpp:504 +msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." +msgstr "Ein Daumenwert ist 160 bis 230 °C für PLA, und 215 bis 250 °C für ABS." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Around Z axis…" -msgstr "Entlang der Z Achse…" +#: src/slic3r/GUI/ConfigWizard.cpp:507 +msgid "Extrusion Temperature:" +msgstr "Extrusionstemperatur:" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:180 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:198 -msgid "Arrange" -msgstr "Anordnen" +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 +msgid "°C" +msgstr "°C" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:224 -msgid "Array of language names and identifiers should have the same size." -msgstr "Felder mit Sprachnamen und Bezeichnern sollten die gleiche Größe haben." +#: src/slic3r/GUI/ConfigWizard.cpp:517 +msgid "" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." +msgstr "" +"Geben Sie die Betttemperatur ein, die erforderlich ist, damit Ihr Filament " +"an Ihrem beheizten Bett haftet." -#: xs/src/slic3r/GUI/GUI.cpp:688 -msgid "Attempt to free unreferenced scalar" -msgstr "Versuch, unreferenzierte Skalare freizugeben" +#: src/slic3r/GUI/ConfigWizard.cpp:518 +msgid "" +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " +"no heated bed." +msgstr "" +"Ein Daumenwert ist 60 °C für PLA und 110 °C für ABS. Auf 0 setzen, falls " +"kein beheiztes Bett vorhanden ist." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Attention!" -msgstr "Achtung!" +#: src/slic3r/GUI/ConfigWizard.cpp:521 +msgid "Bed Temperature:" +msgstr "Betttemperatur:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:35 -msgid "Auto-center parts" -msgstr "Teile automatisch zentrieren" +#: src/slic3r/GUI/ConfigWizard.cpp:833 +msgid "< &Back" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1960 -#, perl-format -msgid "Auto-repaired (%d errors)" -msgstr "Auto-Reparatur (%d Fehler)" +#: src/slic3r/GUI/ConfigWizard.cpp:834 +msgid "&Next >" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Automatic updates" -msgstr "Automatische Updates" +#: src/slic3r/GUI/ConfigWizard.cpp:835 +msgid "&Finish" +msgstr "&Beenden" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Automatically repair an STL file" -msgstr "Repariere automatisch die STL Datei" +#: src/slic3r/GUI/ConfigWizard.cpp:906 +msgid "Configuration Wizard" +msgstr "Konfigurations-Assistent" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:424 -msgid "Autospeed (advanced)" -msgstr "Automatische Geschindigkeit (fortgeschritten)" +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "Konfigurations-&Assistent" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:26 -msgid "Avoid crossing perimeters" -msgstr "Kreuzen der Kontur vermeiden" +#: src/slic3r/GUI/ConfigWizard.cpp:909 +msgid "Configuration Assistant" +msgstr "Konfigurations-Assistent" -#: xs/src/slic3r/GUI/Tab.cpp:2491 -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/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "Konfigurations-&Assistent" -#: xs/src/slic3r/GUI/Tab.cpp:2505 -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." +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" 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." -#: xs/src/slic3r/GUI/Tab.cpp:2455 +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "%s akzeptiert keine Prozentangaben" + +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 msgid "" -"BACK ARROW;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." +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" msgstr "" -"BACK ARROW; 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." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:43 -msgid "Background processing" -msgstr "Hintergrundberechnung" +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "Der Eingabewert ist nicht im gültigen Bereich" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:800 -msgid "Bed" -msgstr "Druckbett" +#: src/slic3r/GUI/Field.cpp:176 +#, 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." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:940 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:34 -msgid "Bed shape" -msgstr "Druckbettkontur" +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.hpp:42 -msgid "Bed Shape" -msgstr "Druckbrettprofil" +#: src/slic3r/GUI/FirmwareDialog.cpp:133 +msgid "Flash!" +msgstr "Flash!" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:395 -msgid "Bed Shape and Size" -msgstr "Bettform und -größe" +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 +msgid "Cancel" +msgstr "Abbrechen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:42 -msgid "Bed temperature" -msgstr "Druckbetttemperatur" +#: src/slic3r/GUI/FirmwareDialog.cpp:135 +msgid "Flashing in progress. Please do not disconnect the printer!" +msgstr "Es wird geflashed. Bitte nicht den Drucker abklemmen!" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:39 -msgid "Bed temperature for layers after the first one. Set this to zero to disable bed temperature control commands in the output." -msgstr "Druckbett-Temperatur für Schichten nach der ersten Schicht. Setzen Sie diesen Wert auf Null, um die Befehle zur Steuerung der Betttemperatur im Output zu deaktivieren." +#: src/slic3r/GUI/FirmwareDialog.cpp:245 +msgid "Flashing succeeded!" +msgstr "Flashen erfolgreich!" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 -msgid "Bed Temperature:" -msgstr "Betttemperatur:" +#: src/slic3r/GUI/FirmwareDialog.cpp:246 +msgid "Flashing failed. Please see the avrdude log below." +msgstr "Flashen misslungen. Bitte überprüfen Sie das Avrdude log unterhalb." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1132 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:48 -msgid "Before layer change G-code" -msgstr "G-Code vor dem Schichtwechsel" +#: src/slic3r/GUI/FirmwareDialog.cpp:247 +msgid "Flashing cancelled." +msgstr "Flashen abgebrochen." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 -msgid "Before roll back" -msgstr "Vor dem Zurückwechseln" +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1108 -msgid "Below Z" -msgstr "Unter Z" +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:59 -msgid "Between objects G-code" -msgstr "G-Code zwischen Objekten" +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1150 -msgid "Between objects G-code (for sequential printing)" -msgstr "G-Code zwischen Objekten (Sequentielles Drucken)" +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:68 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom" -msgstr "Unten" +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:72 -msgid "Bottom solid layers" -msgstr "Kompakte Basisschichten" +#: src/slic3r/GUI/FirmwareDialog.cpp:690 +msgid "Firmware flasher" +msgstr "Firmware Flasher" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom View" -msgstr "Ansicht von Unten" +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "Firmware Image:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:77 -msgid "Bridge" -msgstr "Überbrückung" +#: src/slic3r/GUI/FirmwareDialog.cpp:716 +msgid "Serial port:" +msgstr "Serieller Port:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:106 -msgid "Bridge flow ratio" -msgstr "Brückenflussverhältnis" +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:144 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:86 -msgid "Bridge infill" -msgstr "Überbrückungs-Infill" +#: src/slic3r/GUI/FirmwareDialog.cpp:719 +msgid "Rescan" +msgstr "Rescan" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:117 -msgid "Bridges" -msgstr "Überbrückungen" +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" +msgstr "Fortschritt:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:97 -msgid "Bridges fan speed" -msgstr "Brückenventilatorgeschwindigkeit" +#: src/slic3r/GUI/FirmwareDialog.cpp:729 +msgid "Status:" +msgstr "Status:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:86 -msgid "Bridging angle" -msgstr "Überbrückungswinkel" +#: src/slic3r/GUI/FirmwareDialog.cpp:730 +msgid "Ready" +msgstr "Fertig" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:88 -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." -msgstr "Überbrückungswinkel Übersteuerung. Wird der Wert auf Null gesetzt, wird der Überbrückungswinkel automatisch berechnet. Andernfalls wird der angegebene Winkel für alle Brücken verwendet. Verwenden Sie 180° für den Nullwinkel." +#: src/slic3r/GUI/FirmwareDialog.cpp:750 +msgid "Advanced: avrdude output log" +msgstr "Fortgeschritten: Avrdude Output Log" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Bridging volumetric" -msgstr "Überbrückungvolumen" +#: src/slic3r/GUI/FirmwareDialog.cpp:809 +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!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:371 -msgid "Brim" -msgstr "Rand" +#: src/slic3r/GUI/FirmwareDialog.cpp:810 +msgid "Confirmation" +msgstr "Bestätigung" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:127 -msgid "Brim width" -msgstr "Randbreite" +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 -msgid "Buttons And Text Colors Description" -msgstr "Schaltflächen und Textfarben Beschreibung" +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 +msgid "Detected object outside print volume" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:218 -msgid "by the print profile maximum" -msgstr "mit dem Maximum des Druckerprofils" +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:85 -msgid "Cancel" -msgstr "Abbrechen" +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "Drehen" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:213 -msgid "Cancelling..." -msgstr "Abbrechen..." +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2124 -msgid "Cannot overwrite a system profile." -msgstr "Systemprofil kann nicht überschrieben werden." +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "Skalieren" -#: xs/src/slic3r/GUI/Tab.cpp:2128 -msgid "Cannot overwrite an external profile." -msgstr "Ein externes Profil kann nicht überschrieben werden." +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:962 -msgid "Capabilities" -msgstr "Fähigkeiten" +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Capture a configuration snapshot" -msgstr "Erfassen einer Konfigurations-Momentaufnahme" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1597 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "Zertifikatsdatei (*.crt, *.pem)|*.crt;*.pem|alle Dateien|*.*" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:325 -msgid "Change Application Language" -msgstr "Wechsel der Anwendungssprache" +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Change the number of copies of the selected object" -msgstr "Ändere die Anzahl der Kopien der ausgewählten Objekte" +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:272 xs/src/slic3r/GUI/Preferences.cpp:59 -msgid "Check for application updates" -msgstr "Nach Updates suchen" +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:298 -msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Wählen Sie eine Datei als Druckbettkontur aus (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:457 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Wählen Sie eine Datei zum Slicen (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI.pm:286 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Wählen Sie eine oder mehrere Dateien (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:360 -msgid "Choose the type of firmware used by your printer." -msgstr "Wählen Sie den Typ der von Ihrem Drucker verwendeten Firmware." +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:62 -msgid "Circular" -msgstr "Kreisförmig" +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:135 -msgid "Clip multi-part objects" -msgstr "Beschneiden von Objekten aus mehreren Teilen" +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:405 -msgid "Color" -msgstr "Farbe" +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:690 -msgid "Combine infill every" -msgstr "Infill kombinieren alle" +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:696 -msgid "Combine infill every n layers" -msgstr "Kombiniere das Infill all n Schichten" +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:509 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:869 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1668 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:143 -msgid "Compatible printers" -msgstr "Kompatible Drucker" +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "Hinweis" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:147 -msgid "Compatible printers condition" -msgstr "Kompatible Druckerbedingung" +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "Versuch, unreferenzierte Skalare freizugeben" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:154 -msgid "Complete individual objects" -msgstr "Kompatible Einzelobjekte" +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "Warnung" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:846 -msgid "Configuration Assistant" -msgstr "Konfigurations-Assistent" +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:884 -msgid "Configuration notes" -msgstr "Konfigurationsnotizen" +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Wählen Sie eine oder mehrere Dateien (STL/OBJ/AMF/3MF/PRUSA):" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Configuration Snapshots" -msgstr "Konfigurations-Momentaufnahmen" +#: src/slic3r/GUI/GUI_App.cpp:451 +msgid "Array of language names and identifiers should have the same size." +msgstr "" +"Felder mit Sprachnamen und Bezeichnern sollten die gleiche Größe haben." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 -msgid "Configuration update" -msgstr "Konfigurationsupdate" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Select the language" +msgstr "Wählen Sie die Sprache aus" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -msgid "Configuration update is available" -msgstr "Konfigurationsupdate ist verfügbar" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Language" +msgstr "Spache" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:844 -msgid "Configuration Wizard" -msgstr "Konfigurations-Assistent" +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 +msgid "Default" +msgstr "Standard" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:366 -msgid "Confirmation" -msgstr "Bestätigung" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "&Konfigurations-Momentaufnahmen" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1020 -msgid "Connection failed." -msgstr "Verbindung ist fehlgeschlagen." +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "Inspect / activate configuration snapshots" +msgstr "Inspiziere / aktiviere Konfigurations-Momentaufnahmen" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:211 -msgid "Connection to OctoPrint works correctly." -msgstr "Verbindung zu Octoprint funktioniert einwandfrei." +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" +msgstr "Erfassen einer Konfigurations-Momentauf&nahme" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Connection to printer works correctly." -msgstr "Verbindung zum Drucker funktioniert einwandfrei." +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Capture a configuration snapshot" +msgstr "Erfassen einer Konfigurations-Momentaufnahme" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1416 -msgid "Contact Z distance" -msgstr "Kontakt Z-Abstand" +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" +msgstr "&Einstellungen" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:120 -msgid "Controller" -msgstr "Controller" +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "Application preferences" +msgstr "Anwendungseinstellungen" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:805 -msgid "Cooling" -msgstr "Kühlung" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:826 -msgid "Cooling thresholds" -msgstr "Kühlungsschwellwerte" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple View Mode" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:178 -msgid "Cooling tube length" -msgstr "Länge des Kühlschlauchs" +#: src/slic3r/GUI/GUI_App.cpp:617 src/slic3r/GUI/GUI_ObjectList.cpp:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "Erweiterte Einstellungen" -#: xs/src/libslic3r/PrintConfig.cpp:170 -msgid "Cooling tube position" -msgstr "Position des Kühlschlauchs" +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:221 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Copies" -msgstr "Kopien" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:476 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:450 -msgid "Cost" -msgstr "Preis" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Could not connect to OctoPrint" -msgstr "Ich konnte keine Verbindung zu OctoPrint herstellen" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1465 -msgid "Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "Decken Sie die obere Kontaktschicht der Stützen mit Schleifen ab. Standardmäßig deaktiviert." +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:743 -msgid "Current preset is inherited from " -msgstr "Aktuelle Voreinstellung ist abgeleitet von " +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" +msgstr "Wechsel der Anwendungs&sprache" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 -msgid "Current version:" -msgstr "Aktuelle Version:" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" +msgstr "Flashe Drucker &Firmware" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:71 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:92 -msgid "Custom" -msgstr "Benutzerdefiniert" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Upload a firmware image into an Arduino based printer" +msgstr "Lade ein Firmware Image zu einem Arduino basierten Drucker hoch" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:846 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1119 -msgid "Custom G-code" -msgstr "Benutzerdefinierter G-Code" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Taking configuration snapshot" +msgstr "Ich erfasse eine Momentaufnahme der Konfiguration" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:240 -msgid "Custom setup" -msgstr "Benutzerdefiniertes Setup" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Snapshot name" +msgstr "Name der Momentaufnahme" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:189 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:205 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Cut…" -msgstr "Schnitt…" +#: src/slic3r/GUI/GUI_App.cpp:674 +msgid "Application will be restarted" +msgstr "Anwendung wird neu gestartet" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Decrease copies" -msgstr "Verringere Anzahl" +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 +msgid "Attention!" +msgstr "Achtung!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:300 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:170 -msgid "Default" -msgstr "Standard" +#: src/slic3r/GUI/GUI_App.cpp:691 +msgid "&Configuration" +msgstr "&Konfiguration" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Field.cpp:42 -msgid "default" -msgstr "Standard" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "You have unsaved changes " +msgstr "Sie haben nicht gespeicherte Änderungen " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid "Default " -msgstr "Standard " +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid ". Discard changes and continue anyway?" +msgstr ". Änderungen verwerfen und fortfahren?" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:489 -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." -msgstr "Standard-Grundwinkel für die Ausrichtung der Füllung. Hierfür werden Kreuzschraffuren verwendet. Brücken werden mit der besten Richtung gefüllt, die Slic3r erkennen kann, so dass diese Einstellung sie nicht beeinflusst." +#: src/slic3r/GUI/GUI_App.cpp:712 +msgid "Unsaved Presets" +msgstr "Nicht abgespeicherte Voreinstellungen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:376 -msgid "Default extrusion width" -msgstr "Standardextrusionsbreite" +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "Schichten und Konturen" -#: xs/src/slic3r/GUI/Tab.cpp:767 -msgid "default filament profile" -msgstr "Standard-Filamentprofil" +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "Infill" -#: xs/src/libslic3r/PrintConfig.cpp:196 -msgid "Default filament profile" -msgstr "Standard-Filamentprofil" +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "Stützmaterial" -#: xs/src/libslic3r/PrintConfig.cpp:197 -msgid "Default filament profile associated with the current printer profile. On selection of the current printer profile, this filament profile will be activated." -msgstr "Standard-Filamentprofil, das dem aktuellen Druckerprofil zugeordnet ist. Bei Auswahl des aktuellen Druckerprofils wird dieses Filamentprofil aktiviert." +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "Geschwindigkeit" -#: xs/src/slic3r/GUI/Tab.cpp:2287 xs/src/slic3r/GUI/Tab.cpp:2373 -msgid "Default presets" -msgstr "Standard Voreinstellung" +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "Extruder" -#: xs/src/slic3r/GUI/Tab.cpp:764 -msgid "default print profile" -msgstr "Standard-Druckprofil" +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "Extrusionsbreite" -#: xs/src/libslic3r/PrintConfig.cpp:202 -msgid "Default print profile" -msgstr "Standard-Druckprofil" +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:203 -msgid "Default print profile associated with the current printer profile. On selection of the current printer profile, this print profile will be activated." -msgstr "Standarddruckprofil, das dem aktuellen Druckerprofil zugeordnet ist. Bei Auswahl des aktuellen Druckerprofils wird dieses Druckprofil aktiviert." +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1849 -msgid "degrees" -msgstr "Grad" +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "Name" -#: xs/src/libslic3r/PrintConfig.cpp:476 -msgid "Delay after unloading" -msgstr "Verzögerung nach dem Entladen" +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:178 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:196 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Delete" -msgstr "Löschen" +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "delete" -msgstr "löschen" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:179 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:197 -msgid "Delete All" -msgstr "Alle löschen" +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:51 -msgid "Delete this preset" -msgstr "Lösche diese Voreinstellung" +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:440 -msgid "Density" -msgstr "Dichte" +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:503 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." -msgstr "Infilldichte. Als Prozentwert von 0% - 100% ausgedrückt." +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:507 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:867 -msgid "Dependencies" -msgstr "Abhängigkeiten" +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1142 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1143 -msgid "Deretraction Speed" -msgstr "Wiedereinzugsgeschwindigkeit" +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:940 -msgid "Detect bridging perimeters" -msgstr "Umfangbrücken entdecken" +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "Extruder" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1584 -msgid "Detect single-width walls (parts where two extrusions don't fit and we need to collapse them into a single trace)." -msgstr "Erkennen von Wänden mit einfacher Breite (Teile, bei denen zwei Extrusionen nicht passen und wir sie in eine einzige Druckspur zusammenfassen müssen)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1582 -msgid "Detect thin walls" -msgstr "Dünne Wände erkennen" +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:66 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:431 -msgid "Diameter" -msgstr "Durchmesser" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:67 -msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." -msgstr "Durchmesser des Druckbettes. Es wird angenommen, dass der Ursprung (0,0) sich im Mittelpunkt befindet." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1169 -msgid "Direction" -msgstr "Richtung" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:53 -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 "Deaktivieren Sie die Kommunikation mit dem Drucker über ein serielles / USB-Kabel. Dies ist eine Vereinfachung der Benutzeroberfläche für den Fall, dass der Drucker nicht an den Computer angeschlossen ist." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:180 -msgid "Disable fan for the first" -msgstr "Ventilator für die Ersten" +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:51 -msgid "Disable USB/serial connection" -msgstr "USB/Serielle Verbindung ausschalten" +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:916 -msgid "Disables retraction when the travel path does not exceed the upper layer's perimeters (and thus any ooze will be probably invisible)." -msgstr "Deaktiviert den Einzug, wenn der Verfahrweg die Perimeter der oberen Schicht nicht überschreitet (und somit ist der Auslauf wahrscheinlich unsichtbar)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:198 -msgid "Distance between copies" -msgstr "Abstand zwischen Kopien" +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1213 -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 "Distanz zwischen Schürze und Objekt. Auf Null stellen um die Schürze an das Objekt zu verbinden und einen Rand für bessere Haftung zu generieren." +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1212 -msgid "Distance from object" -msgstr "Abstand vom Objekt" +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:58 -msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." -msgstr "Abstand der 0,0 G-Code-Koordinate von der linken vorderen Ecke des Rechtecks." +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:171 -msgid "Distance of the center-point of the cooling tube from the extruder tip " -msgstr "Abstand des Mittelpunktes des Kühlrohres von der Extruderspitze " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1032 -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 "Abstand der Extruderspitze von der Position, an der das Filament beim Entladen abgestellt wird. Dies sollte mit dem Wert in der Drucker-Firmware übereinstimmen. " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:199 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "Abstand für die automatische Druckplattenbelegung." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 +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." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 -msgid "Don't notify about new releases any more" -msgstr "Keine Benachrichtigung mehr über neue Releases" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:190 -msgid "Don't support bridges" -msgstr "Brücken nicht unterstützen" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 -msgid "Downgrade" -msgstr "Downgrade" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:132 -msgid "Drag your objects here" -msgstr "Ziehen Sie Ihr Objekte hier hin" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:207 -msgid "Elephant foot compensation" -msgstr "Elefantenfuss Kompensation" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:806 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:922 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1695 -msgid "Enable" -msgstr "Aktivieren" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:163 -msgid "Enable auto cooling" -msgstr "Automatische Kühlung aktivieren" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:394 -msgid "Enable fan if layer print time is below" -msgstr "Ventilator anschalten wenn die Schichtdruckzeit geringer ist als" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1381 -msgid "Enable support material generation." -msgstr "Aktiviert Generierung von Stützstrukturen." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:645 -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." -msgstr "Aktivieren Sie diese Option, um eine kommentierte G-Code-Datei zu erhalten, wobei jede Zeile durch einen beschreibenden Text erklärt wird. Wenn Sie von einer SD-Karte drucken, kann die zusätzliche Dateigröße dazu führen, dass Ihre Firmware langsamer wird." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1681 -msgid "Enable variable layer height feature" -msgstr "Variable Schichthöhen aktivieren" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:853 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1126 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:217 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:227 -msgid "End G-code" -msgstr "G-Code am Ende" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1431 -msgid "Enforce support for the first" -msgstr "Erzwinge Stützstrukturen bei den ersten" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1439 -msgid "Enforce support for the first n layers" -msgstr "Erzwinge Stützmaterial bei den ersten n Schichten" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:238 -msgid "Ensure vertical shell thickness" -msgstr "Stelle die vertikale Hüllenstärke sicher" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 -msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." -msgstr "Geben Sie die Betttemperatur ein, die erforderlich ist, damit Ihr Filament an Ihrem beheizten Bett haftet." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:441 -msgid "Enter the diameter of your filament." -msgstr "Geben Sie den Durchmesser des Filaments ein." +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "Ansicht" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:428 -msgid "Enter the diameter of your printer's hot end nozzle." -msgstr "Geben Sie den Durchmesser der Hotenddüse ein." +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "Merkmalstyp" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -msgid "Enter the new max size for the selected object:" -msgstr "Geben Sie die neue maximale Größe für das ausgewählte Objekt ein:" +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "Höhe" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1030 -#, perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" -msgstr "Geben Sie die neue Größe für das ausgewählte Objekt (Druckbett: %s mm)ein:" +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "Breite" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Enter the number of copies of the selected object:" -msgstr "Geben Sie die Anzahl der Kopien der ausgewählten Objekte ein:" +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "Volumetrische Flussrate" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#, no-perl-format -msgid "Enter the scale % for the selected object:" -msgstr "Geben Sie den Skalierungsfaktor in % für das ausgewählte Objekt ein:" +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "Werkzeug" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:479 -msgid "Enter the temperature needed for extruding your filament." -msgstr "Geben Sie die Temperatur ein, die für die Extrusion Ihres Filaments benötigt wird." +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:477 -msgid "Enter your filament cost per kg here. This is only for statistical information." -msgstr "Geben Sie hier Ihre Filamentkosten pro kg ein. Dies dient ausschließlich statistischen Zwecken." +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "Anzeigen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:441 -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." -msgstr "Geben Sie hier Ihre Filamentdichte ein. Dies dient ausschließlich statistischen Zwecken. Ein vernünftiger Weg ist es, eine bekannte Filamentlänge zu wiegen und das Verhältnis von Länge zu Volumen zu berechnen. Besser ist es, das Volumen direkt durch Verdrängung zu berechnen." +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "Merkmalstypen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:432 -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 "Geben Sie hier Ihren Filamentdurchmesser ein. Eine hohe Genauigkeit ist erforderlich, also verwenden Sie einen Messschieber und führen Sie mehrere Messungen entlang des Filaments durch, um dann den Mittelwert zu berechnen." +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "Aussenschicht" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:488 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:470 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Error" -msgstr "Fehler" +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "Aussenschicht" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1612 -msgid "Error exporting 3MF file " -msgstr "Fehler beim Exportieren der 3MF Datei " +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "Überhängende Aussenschicht" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1596 -msgid "Error exporting AMF file " -msgstr "Fehler beim Exportieren der AMF Datei " +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "Internes Infill" -#: xs/src/slic3r/Utils/OctoPrint.cpp:47 -msgid "Error while uploading to the OctoPrint server" -msgstr "Fehler beim Hochladen auf den OctoPrint Server" +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "Stabiles Infill" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:315 -msgid "Error! " -msgstr "Fehler! " +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "Oberes stabiles Infill" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:451 -msgid "Estimated printing time" -msgstr "Erwartete Druckzeit" +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "Überbrückungs-Infill" -#: xs/src/slic3r/GUI/GUI.cpp:885 -msgid "Everywhere" -msgstr "Überall" +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "Lückenfüllung" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:44 -#, c-format -msgid "except for the first %d layers" -msgstr "außer für die ersten %d Schichten" +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "Schürze" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:48 -msgid "except for the first layer" -msgstr "außer für die erste Schicht" +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "Schnittstelle zum Stützmaterial" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 -msgid "Exit Slic3r" -msgstr "Slic3r beenden" +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" +msgstr "Reinigungssäule" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:192 -msgid "Experimental option for preventing support material from being generated under bridged areas." -msgstr "Experimentelle Option zur Verhinderung der Bildung von Trägermaterial unter Überbrückungsflächen." +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "Eilgang" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:942 -msgid "Experimental option to adjust flow for overhangs (bridge flow will be used), to apply bridge speed to them and enable fan." -msgstr "Experimentelle Option zur Anpassung des Durchflusses für Überhänge (Brückenvolumenfluss wird verwendet), zur Anwendung der Brückengeschwindigkeit und zur Aktivierung des Lüfters." +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "Einzüge" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "Export all presets to file" -msgstr "Exportiere alle Voreinstellungen in eine Datei" +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "Wiedereinzüge" -#: lib/Slic3r/GUI/Plater.pm:1416 -msgid "Export cancelled" -msgstr "Export abgebrochen" +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "Konturhüllen" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "Export current configuration to file" -msgstr "Exportiere die aktuelle Konfiguration in eine Datei" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export current plate as 3MF" -msgstr "Exportiere die aktuelle Plattenbelegung als 3MF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export current plate as AMF" -msgstr "Exportiere die aktuelle Plattenbelegung als AMF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export current plate as G-code" -msgstr "Exportiere die aktuelle Plattenbelegung als G-Code" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export current plate as STL" -msgstr "Exportiere die aktuelle Plattenbelegung als STL" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1454 -msgid "Export failed" -msgstr "Export ist fehlgeschlagen" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "Export G-Code" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export G-code..." -msgstr "Export G-Code..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:236 -msgid "Export G-code…" -msgstr "Export G-Code…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export object as STL…" -msgstr "Exportiere das Objekt als STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export plate as 3MF..." -msgstr "Exportiere die Plattenbelegung als 3MF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export plate as AMF..." -msgstr "Exportiere die Plattenbelegung als AMF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "Letzten Quick Slice wiederholen" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export plate as STL..." -msgstr "Exportiere die Plattenbelegung als STL..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "Reiter \"Druckplatte\" auswählen" -#: xs/src/slic3r/GUI/GUI.cpp:950 -msgid "Export print config" -msgstr "Export Druckkonfiguration" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:240 -msgid "Export STL…" -msgstr "Exportiere STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "Reiter \"Druckeinstellungen\" auswählen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export this single object as STL file" -msgstr "Exportiere dieses einzelne Objekt als STL Datei" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "Reiter \"Filamenteinstellungen\" auswählen" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:139 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:81 -msgid "External perimeter" -msgstr "Aussenschicht" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "Reiter \"Druckereinstellungen\" auswählen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:267 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:277 -msgid "External perimeters" -msgstr "Aussenschichten" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:151 -msgid "external perimeters" -msgstr "Aussenschichten" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:289 -msgid "External perimeters first" -msgstr "Aussenkonturen zuerst drucken" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "Einstellungen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1126 -msgid "Extra length on restart" -msgstr "Extra Länge bei Neustart" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:297 -msgid "Extra perimeters if needed" -msgstr "Extra Konturen wenn notwendig" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:795 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1234 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:307 -msgid "Extruder" -msgstr "Extruder" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1187 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:400 -#, c-format -msgid "Extruder %d" -msgstr "Extruder %d" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Extruder and Bed Temperatures" -msgstr "Extruder- und Druckbetttemperatur" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:224 -msgid "Extruder changed to" -msgstr "Extruder geändert auf" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:479 -msgid "Extruder clearance (mm)" -msgstr "Extruder Abstand (mm)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:342 -msgid "Extruder Color" -msgstr "Extruder Farbe" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "Anordnen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:350 -msgid "Extruder offset" -msgstr "Extruder Offset" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:626 -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 "Extrudertemperatur für die erste Schicht. Wenn Sie die Temperatur während des Druckvorgangs manuell regeln möchten, setzen Sie diesen Wert auf Null, um die Temperatursteuerbefehle in der Ausgabedatei zu deaktivieren." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1573 -msgid "Extruder temperature for layers after the first one. Set this to zero to disable temperature control commands in the output." -msgstr "Extrudertemperatur für Schichten nach der ersten Schicht. Setzen Sie diesen Wert auf Null, um die Temperaturregelbefehle im Ausgabedatei zu deaktivieren." - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:431 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:308 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:702 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:958 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1445 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1471 -msgid "Extruders" -msgstr "Extruder" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:360 -msgid "Extrusion axis" -msgstr "Extrusionsachse" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "Alle löschen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:367 -msgid "Extrusion multiplier" -msgstr "Extrusionsfaktor" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:483 -msgid "Extrusion Temperature:" -msgstr "Extrusionstemperatur:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:268 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:377 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:592 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:710 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:967 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1292 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1454 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1614 -msgid "Extrusion Width" -msgstr "Extrusionsbreite" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:453 -msgid "Extrusion width" -msgstr "Extrusionbreite" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:410 -msgid "Facets" -msgstr "Flächen" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:36 -msgid "Fan " -msgstr "Ventilator " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:817 -msgid "Fan settings" -msgstr "Ventilator Einstellungen" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:818 -msgid "Fan speed" -msgstr "Ventilatorgeschwindigkeit" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:330 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:68 -msgid "Feature type" -msgstr "Merkmalstyp" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:78 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:79 -msgid "Feature types" -msgstr "Merkmalstypen" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:183 -msgid "Fewer" -msgstr "Weniger" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:786 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:787 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:368 -msgid "Filament" -msgstr "Filament" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Filament and Nozzle Diameters" -msgstr "Filament- und Düsendurchmesser" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 -msgid "Filament Diameter:" -msgstr "Filamentdurchmesser:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:412 -msgid "Filament notes" -msgstr "Filament Bemerkungen" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1031 -msgid "Filament parking position" -msgstr "Filament Parkposition" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:832 -msgid "Filament properties" -msgstr "Filament Eigenschaften" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:202 -msgid "Filament Settings" -msgstr "Filamenteinstellungen" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:450 -msgid "Filament type" -msgstr "Filament Typ" +#: src/slic3r/GUI/MainFrame.cpp:53 +msgid "" +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +msgstr "" +" - Denken Sie an die Überprüfung von Updates auf http://github.com/prusa3d/" +"slic3r/releases" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 -msgid "filaments" -msgstr "Filamente" +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" +msgstr "Druckplatte" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1445 -msgid "File added to print queue" -msgstr "Datei zur Druckwarteschlange hinzugefügt" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "Ö&ffne" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:475 -msgid "File Not Found" -msgstr "Datei nicht gefunden" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:487 -msgid "Fill angle" -msgstr "Füllwinkel" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:501 -msgid "Fill density" -msgstr "Fülldichte" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:539 -msgid "Fill pattern" -msgstr "Füllmuster" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:541 -msgid "Fill pattern for general low-density infill." -msgstr "Füllmuster für allgemeines Infill mit niedriger Dichte." +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:248 -msgid "Fill pattern for top/bottom infill. This only affects the external visible layer, and not its adjacent solid shells." -msgstr "Füllmuster für die obere und untere Füllung. Dies wirkt sich nur auf die äußere sichtbare Schicht aus, nicht aber auf die angrenzenden soliden Konturen." +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 -msgid "Finished" -msgstr "Fertig" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1110 -msgid "Firmware" -msgstr "Firmware" +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:266 -msgid "Firmware flasher" -msgstr "Firmware Flasher" +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "Laden einer exportierten Konfigurationsdatei" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:293 -msgid "Firmware image:" -msgstr "Firmware Image:" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1314 -msgid "Firmware Retraction" -msgstr "Firmware Einzug" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:356 -msgid "Firmware Type" -msgstr "Firmware Typ" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:573 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:582 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:591 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:625 -msgid "First layer" -msgstr "Erste Schicht" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "Lade Voreinstellungen aus einer Sammlung" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:603 -msgid "First layer height" -msgstr "Höhe der ersten Schicht" +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:615 -msgid "First layer speed" -msgstr "Druckgeschwindigkeit der ersten Schicht" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "Export &G-Code" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "First layer volumetric" -msgstr "Volumenparameter der ersten Schicht" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "Exportiere die aktuelle Plattenbelegung als G-Code" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Flash printer firmware" -msgstr "Flashe Drucker Firmware" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "Exportiere die Plattenbelegung als &STL" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:84 -msgid "Flash!" -msgstr "Flash!" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "Exportiere die aktuelle Plattenbelegung als STL" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:147 -msgid "Flashing cancelled." -msgstr "Flashen abgebrochen." +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "Exportiere die Plattenbelegung als &AMF" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:146 -msgid "Flashing failed. Please see the avrdude log below." -msgstr "Flashen misslungen. Bitte überprüfen Sie das Avrdude log unterhalb." +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "Exportiere die aktuelle Plattenbelegung als AMF" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:123 -msgid "Flashing in progress. Please do not disconnect the printer!" -msgstr "Es wird geflashed. Bitte nicht den Drucker abklemmen!" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" +msgstr "Exportiere &Konfiguration" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:145 -msgid "Flashing succeeded!" -msgstr "Flashen erfolgreich!" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "Exportiere die aktuelle Konfiguration in eine Datei" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:466 -msgid "Flow" -msgstr "Fluss" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" +msgstr "Konfigurations&samlung exportieren" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 -msgid "For more information please visit our wiki page:" -msgstr "Für weitere Informationen besuchen Sie bitte unsere Wiki-Seite:" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "Exportiere alle Voreinstellungen in eine Datei" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:599 -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 "Damit der Reinigungsturm mit den löslichen Trägermaterialien arbeiten kann, müssen die Stützschichten mit den Objektschichten synchronisiert werden. Soll ich Unterstützungsschichten synchronisieren, um den Reinigungsturm zu aktivieren?" +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1264 -msgid "Force solid infill for regions having a smaller area than the specified threshold." -msgstr "Feste Füllung für Bereiche, die eine kleinere Fläche als die angegebene Schwelle aufweisen." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:758 -msgid "Force the generation of solid shells between adjacent materials/volumes. Useful for multi-extruder prints with translucent materials or manual soluble support material." -msgstr "Erzwingt die Erzeugung von festen Schalen zwischen benachbarten Materialien/Volumina. Geeignet für Multiextruderdrucke mit transluzenten Materialien oder manuell löslichen Trägermaterialien." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "Datei zu G-Code slicen" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:260 -msgid "From" -msgstr "Von" +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front" -msgstr "Front" +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "Datei zu G-Code slicen, speichern als" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front View" -msgstr "Frontalansicht" +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "G-code" -msgstr "G-Code" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "(Re)Slice &jetzt" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1451 -msgid "G-code file exported to " -msgstr "G-Code Datei exportiert nach " +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "Neuen Slicing-Prozess starten" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:652 -msgid "G-code flavor" -msgstr "G-Code Typ" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "STL-Datei &reparieren" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:444 -msgid "g/cm³" -msgstr "g/cm³" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "Repariere automatisch die STL Datei" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:634 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:145 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:87 -msgid "Gap fill" -msgstr "Lückenfüllung" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "&Beenden" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:937 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:11 -msgid "General" -msgstr "Allgemein" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "Slic3r beenden" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:875 -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." -msgstr "Erzeugt nicht weniger als die Anzahl der Schürzenschleifen, die benötigt wird, um die angegebene Menge an Filament auf der unteren Schicht zu verbrauchen. Bei Multiextruder-Maschinen gilt dieses Minimum für jeden Extruder." +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1379 -msgid "Generate support material" -msgstr "Generiere Stützstrukturen" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1433 -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." -msgstr "Generiere Stützmaterial für die angegebene Anzahl von Schichten, die von unten gezählt werden, unabhängig davon, ob normales Stützmaterial aktiviert ist oder nicht und unabhängig von einer Winkelschwelle. Dies ist nützlich, um die Haftung von Objekten mit einem sehr dünnen oder schlechten Standfuß auf der Bauplatte zu erhöhen." +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 -msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." -msgstr "Eine hohe Genauigkeit ist erforderlich, also verwenden Sie einen Messschieber und führen Sie mehrere Messungen entlang des Filaments durch, um dann den Mittelwert zu berechnen." +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:583 -msgid "Heated build plate temperature for the first layer. Set this to zero to disable bed temperature control commands in the output." -msgstr "Druckbetttemperatur für die erste Schicht. Setzen Sie diesen Wert auf Null, um die Befehle zur Steuerung der Betttemperatur im Ausgang zu deaktivieren." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:320 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:69 -msgid "Height" -msgstr "Höhe" +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:332 -msgid "Height (mm)" -msgstr "Höhe (mm)" +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "\"Druck&platte\" auswählen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1222 -msgid "Height of skirt expressed in layers. Set this to a tall value to use skirt as a shield against drafts." -msgstr "Höhe der Schürze in Schichten. Eine hohe Schürze kann gegen Zugluft schützen." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "Druckplatte anzeigen" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:213 -#, 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." -msgstr "Hallo, willkommen bei Slic3r Prusa Edition! Dieses %s hilft Ihnen bei der Erstkonfiguration; nur ein paar Einstellungen und Sie sind bereit zum Drucken." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "\"D&ruckeinstellungen\" auswählen" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218 -msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." -msgstr "Hier können Sie das erforderliche Reinigungsvolumen (mm³) für ein beliebiges Werkzeugpaar einstellen." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "Druckeinstellungen anzeigen" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:329 -msgid "Horizontal shells" -msgstr "Horizontale Konturhüllen" +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" +msgstr "\"&Filamenteinstellungen\" auswählen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:128 -msgid "Horizontal width of the brim that will be printed around each object on the first layer." -msgstr "Horizontalbreite des Randes, der um jedes Objekt auf der Bodenschicht gedruckt wird." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "Filamenteinstellungen anzeigen" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 -msgid "Hostname" -msgstr "Hostname" +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" +msgstr "\"Druck&ereinstellungen\" auswählen" -#: xs/src/libslic3r/PrintConfig.cpp:991 -msgid "Hostname, IP or URL" -msgstr "Hostname, IP oder URL" +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "Druckereinstellungen anzeigen" -#: xs/src/slic3r/GUI/Tab.cpp:113 -msgid "" -"Hover the cursor over buttons to find more information \n" -"or click this button." +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" msgstr "" -"Bewegen Sie den Mauszeiger über die Schaltflächen, um weitere Informationen zu erhalten,\n" -"oder klicken Sie auf diese Schaltfläche." -#: xs/src/slic3r/GUI/Tab.cpp:1612 -msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." -msgstr "HTTPS-CA-Datei ist optional. Sie wird nur benötigt, wenn Sie HTTPS mit einem selbstsignierten Zertifikat verwenden." +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:275 xs/src/slic3r/GUI/Preferences.cpp:61 -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 application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done." -msgstr "Falls aktiviert, sucht Slic3r online nach neuen Versionen von Slic3r PE. Falls eine neue Version verfügbar ist, wird eine Mitteilung beim nächsten Programmstart angezeigt (aber nie während der Programmausführung). Dies dient nur der Mitteilung; es findet keine automatische Installation statt." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:282 xs/src/slic3r/GUI/Preferences.cpp:69 -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 "Wenn aktiviert, lädt Slic3r Updates der eingebauten Systemvoreinstellungen im Hintergrund herunter. Diese Updates werden in einen separaten temporären Speicherort heruntergeladen. Wenn eine neue Voreinstellungsversion verfügbar wird, wird sie beim Programmstart angeboten." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:26 -#, 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 "Wenn die geschätzte Schichtzeit unter ~%ds liegt, läuft der Lüfter mit %d%% und die Druckgeschwindigkeit wird reduziert, so dass nicht weniger als %ds für diese Schicht verwendet werden (die Geschwindigkeit wird jedoch nie unter %dmm/s reduziert)." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:616 -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." -msgstr "Wird diese Geschwindigkeit als Absolutwert in mm/s angegeben, so wird sie auf alle Druckbewegungen der ersten Lage angewendet, unabhängig von ihrem Typ. In Prozent ausgedrückt (z.B. 40%) skaliert es die voreingestellten Geschwindigkeiten." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:395 -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." -msgstr "Wenn die Druckzeit der Ebenen unter dieser Anzahl von Sekunden liegt, wird der Lüfter aktiviert und seine Geschwindigkeit durch Interpolation der minimalen und maximalen Geschwindigkeiten berechnet." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "&Iso" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1240 -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 "Wenn die Druckzeit der Ebene unter dieser Anzahl von Sekunden liegt, wird die Geschwindigkeit des Druckvorgangs verringert, um die Zeitdauer auf diesen Wert zu verlängern." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "Iso Ansicht" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:388 -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." -msgstr "Wenn diese Option aktiviert ist, wird der Lüfter niemals deaktiviert und läuft mindestens mit seiner Minimaldrehzahl weiter. Sinnvoll für PLA, ungeignet für ABS." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "Von &oben" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:37 -msgid "If this is enabled, Slic3r will auto-center objects around the print bed center." -msgstr "Wenn diese Option aktiviert ist, zentriert Slic3r Objekte automatisch um die Mitte des Druckbettes." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "Ansicht von oben" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:45 -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." -msgstr "Wenn diese Option aktiviert ist, wird Slic3r Objekte vorverarbeiten, sobald sie geladen werden, um Zeit beim Export von G-Code zu sparen." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "Von &Unten" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:29 -msgid "If this is enabled, Slic3r will prompt the last output directory instead of the one containing the input files." -msgstr "Wenn diese Option aktiviert ist, öffnet Slic3r das letzte Ausgabeverzeichnis anstelle des Verzeichnisses, in dem sich die Eingabedateien befinden." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "Ansicht von Unten" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:77 -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 "Wenn Sie Rendering-Probleme haben, die durch einen fehlerhaften OpenGL 2.0-Treiber verursacht wurden, können Sie versuchen, dieses Kontrollkästchen zu aktivieren. Dies deaktiviert die Bearbeitung der Ebenenhöhe und das Anti-Aliasing, so dass es wahrscheinlich sinnvoller ist, den Grafiktreiber zu aktualisieren." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "&Front" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1091 -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 "Wenn Sie diesen Wert auf einen positiven Wert setzen, wird Z bei jedem Auslösen eines Einzugs schnell angehoben. Bei Verwendung mehrerer Extruder wird nur die Einstellung für den ersten Extruder berücksichtigt." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "Frontalansicht" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1101 -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 "Wenn Sie diesen Wert auf einen positiven Wert setzen, erfolgt der Z-Hub nur oberhalb des angegebenen absoluten Z-Wertes. Sie können diese Einstellung für das Auslassen von Z-Hüben auf den ersten Ebenen einstellen." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "&Hinten" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1110 -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 "Wenn Sie diesen Wert auf einen positiven Wert setzen, erfolgt der Z-Hub nur unterhalb des angegebenen absoluten Z-Wertes. Sie können diese Einstellung so einstellen, dass der Z-Hub auf die ersten Lagen begrenzt wird." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "Ansicht von Hinten" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:451 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1002 -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." -msgstr "Wenn Sie den Ausgabe-G-Code durch eigene Skripte verarbeiten wollen, geben Sie hier einfach die absoluten Pfade an. Trennen Sie mehrere Skripte durch ein Semikolon. Skripten werden als erstes Argument die absoluten Pfad zur G-Code-Datei übergeben, und sie können auf die Slic3r-Konfigurationseinstellungen zugreifen, indem sie Umgebungsvariablen lesen." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "&Links" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:351 -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)." -msgstr "Wenn Ihre Firmware die Verschiebung des Extruders nicht beherrscht, benötigen Sie den G-Code, um sie zu berücksichtigen. Mit dieser Option können Sie die Verschiebung jedes Extruders in Bezug auf den ersten Extruder festlegen. Es erwartet positive Koordinaten (sie werden von der XY-Koordinate subtrahiert)." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "Anicht von Links" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1664 -msgid "If your firmware requires relative E values, check this, otherwise leave it unchecked. Most firmwares use absolute values." -msgstr "Wenn Ihre Firmware relative E-Werte benötigt, diese Option aktivieren, ansonsten lassen Sie sie unmarkiert. Die meisten Firmwares verwenden absolute Werte." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "&Rechts" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 -msgid "Incompatible bundles:" -msgstr "Inkompatible Konfigurationssammlungen:" +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "Ansicht von rechts" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 -msgid "Incompatible with this Slic3r" -msgstr "Nicht kompatibel mit diesem Slic3r" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "Prusa 3D &Treiber" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Increase copies" -msgstr "Erhöhe Anzahl" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "Download-Seite für die Prusa3D-Treiber in Ihrem Browser öffnen" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:346 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:347 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:664 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:87 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:247 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:488 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:502 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:540 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:681 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:691 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:709 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:746 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1263 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1280 -msgid "Infill" -msgstr "Infill" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "Prusa Edition &Release" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:169 -msgid "infill" -msgstr "Infill" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "Seite mit den Prusa Edition-Releases in Ihrem Browser öffnen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:720 -msgid "Infill before perimeters" -msgstr "Infill vor Kontur" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "Slic3r &Website" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:701 -msgid "Infill extruder" -msgstr "Infill Extruder" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "Slic3r-Website in Ihrem Browser öffnen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:735 -msgid "Infill/perimeters overlap" -msgstr "Infill/Kontur Überlappung" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "Slic3r &Handbuch" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:398 -msgid "Info" -msgstr "Info" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "Slic3r-Handbuch in Ihrem Browser öffnen" -#: xs/src/libslic3r/PrintConfig.cpp:819 -msgid "Inherits profile" -msgstr "Übernimmt Profil" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "System&informationen" -#: xs/src/slic3r/GUI/Field.cpp:111 -msgid "Input value is out of range" -msgstr "Der Eingabewert ist nicht im gültigen Bereich" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "Systeminformationen anzeigen" -#: xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Inspect / activate configuration snapshots" -msgstr "Inspiziere / aktiviere Konfigurations-Momentaufnahmen" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "Zeige Konfigurationsordner (&C)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1479 -msgid "Interface layers" -msgstr "Schnittstellen Schichten" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "Zeige User Konfiguration Ordner (datadir)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1463 -msgid "Interface loops" -msgstr "Kontaktschleifen" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "Einen F&ehler melden" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1488 -msgid "Interface pattern spacing" -msgstr "Schnittstellenmuster Abstand" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "Einen Fehler in der Slic3r Prusa Edition melden" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:757 -msgid "Interface shells" -msgstr "Schnittstellenshells" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "&Über Slic3r" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:141 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:83 -msgid "Internal infill" -msgstr "Internes Infill" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "\"Über\"-Dialog anzeigen" -#: xs/src/slic3r/Utils/OctoPrint.cpp:120 -msgid "Invalid API key" -msgstr "Ungültiger API-Schlüssel" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -msgid "Invalid scaling value entered" -msgstr "Ungültiger Skalierungsfaktor wurde eingegeben" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso" -msgstr "Iso" +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "&Datei" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso View" -msgstr "Iso Ansicht" +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:748 -msgid "It can't be deleted or modified. " -msgstr "Es ist keine Löschung oder Änderung möglich. " +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "&Fenster" -#: xs/src/slic3r/GUI/Tab.cpp:741 -msgid "It's a default preset." -msgstr "Dies ist eine Standard-Voreinstellung." +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "&Anzeige" -#: xs/src/slic3r/GUI/Tab.cpp:742 -msgid "It's a system preset." -msgstr "Dies ist eine Systemvoreinstellung." +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "&Hilfe" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1180 -msgid "Jitter" -msgstr "Jitter" +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Wählen Sie eine Datei zum Slicen (STL/OBJ/AMF/3MF/PRUSA):" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:387 -msgid "Keep fan always on" -msgstr "Ventilator ständig laufen lassen" +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "Keine vorher gesclicete Datei." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Language" -msgstr "Spache" +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "Fehler" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:192 -msgid "Layer Editing" -msgstr "Schichthöhen" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "Vorher geslicete Datei (" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:207 -msgid "Layer editing" -msgstr "Schichthöhen" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr ") nicht gefunden." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:314 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:777 -msgid "Layer height" -msgstr "Schichthöhe" +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "Datei nicht gefunden" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1194 -msgid "Layer height limits" -msgstr "Schichthöhen Grenzen" +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "Speichern " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:183 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:694 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1033 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1224 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1285 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1437 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1482 -msgid "layers" -msgstr "Schichten" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "SVG" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:157 -msgid "Layers" -msgstr "Schichten" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "G-Code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:69 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:239 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:290 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:298 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:604 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:762 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:778 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:941 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:989 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1152 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1583 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1639 -msgid "Layers and Perimeters" -msgstr "Schichten und Konturen" +# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" +msgstr " Datei als:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:313 -msgid "Layers and perimeters" -msgstr "Schichten und Umfänge" +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left" -msgstr "Links" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "Der Slice wird berechnet" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left View" -msgstr "Anicht von Links" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "Berechnung " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1071 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1080 -msgid "Length" -msgstr "Länge" +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr " wurde erfolgreich gesliced." -#: xs/src/libslic3r/PrintConfig.cpp:179 -msgid "Length of the cooling tube to limit space for cooling moves inside it " -msgstr "Länge des Kühlschlauchs, um den Raum für Kühlbewegungen im Inneren zu begrenzen " +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "Der Slice ist beendet!" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1090 -msgid "Lift Z" -msgstr "Z Hebung" +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "Geben Sie die STL-Datei an, die repariert werden soll:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "Load exported configuration file" -msgstr "Laden einer exportierten Konfigurationsdatei" +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "" +"Speichern als OBJ-Datei (weniger anfällig für Koordinatenfehler als STL):" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "Load presets from a bundle" -msgstr "Lade Voreinstellungen aus einer Sammlung" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "Ihre Datei wurde repariert." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:75 -msgid "Load shape from STL..." -msgstr "Lade Umriß von STL..." +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "Reparieren" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:692 -msgid "Loaded " -msgstr "Geladen " +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "Konfiguration speichern unter:" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 -msgid "loaded" -msgstr "geladen wird" +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "Konfiguration zum Laden auswählen:" -#: xs/src/libslic3r/PrintConfig.cpp:459 -msgid "Loading speed" -msgstr "Ladegeschwindigkeit" +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "Sichern der Voreinstellungssammlung unter:" + +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "%d Voreinstellungen erfolgreich importiert." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -msgid "Loading…" -msgstr "Laden…" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "Slic3r Fehler" -#: xs/src/slic3r/GUI/Tab.cpp:2481 -msgid "LOCKED LOCK icon indicates that the settings are the same as the system values for the current option group" -msgstr "GESCHLOSSENES SCHLOSS-Symbol zeigt an, dass die Einstellungen mit den Systemwerten der aktuellen Optionsgruppe übereinstimmen" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "Slic3r ist auf einen Fehler gestoßen" -#: xs/src/slic3r/GUI/Tab.cpp:2497 -msgid "LOCKED LOCK icon indicates that the value is the same as the system value." -msgstr "GESCHLOSSENES SCHLOSS-Symbol zeigt an, dass der Wert mit dem Systemwert übereinstimmt." +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2442 -msgid "LOCKED LOCK;indicates that the settings are the same as the system values for the current option group" -msgstr "GESCHLOSSENES SCHLOSS;zeigt an, dass die Einstellungen mit den Systemwerten der aktuellen Optionsgruppe übereinstimmen" +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1229 -msgid "Loops (minimum)" -msgstr "Schleifen (minimal)" +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "Volumen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:412 -msgid "Manifold" -msgstr "Hülle ok" +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "Flächen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:411 +#: src/slic3r/GUI/Plater.cpp:128 msgid "Materials" msgstr "Material" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:787 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:796 -msgid "Max" -msgstr "Max" - -#: xs/src/libslic3r/PrintConfig.cpp:876 -msgid "Max print height" -msgstr "Max. Druckhöhe" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:807 -msgid "Max print speed" -msgstr "Maximale Druckgeschwindigkeit" - -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 -msgid "max slic3r version" -msgstr "Max. Slic3r Version" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:837 -msgid "Max volumetric slope negative" -msgstr "Max. volumetrische Steigung negativ" +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "Hülle ok" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:826 -msgid "Max volumetric slope positive" -msgstr "Max. volumetrische Steigung positiv" +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "Slice-Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:817 -msgid "Max volumetric speed" -msgstr "Maximale Volumengeschwindigkeit" +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "Verbrauchtes Filament (m)" -#: xs/src/libslic3r/PrintConfig.cpp:1854 -msgid "Maximal bridging distance" -msgstr "Maximaler Überbrückungsabstand" +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "Verbrauchtes Filament (mm³)" -#: xs/src/libslic3r/PrintConfig.cpp:1855 -msgid "Maximal distance between supports on sparse infill sections. " -msgstr "Maximalabstand zwischen Stützen auf spärlichen Infill-Abschnitten. " +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "Verbrauchtes Filament (g)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:422 -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." -msgstr "Maximale volumetrische Geschwindigkeit, die für dieses Filament zulässig ist. Begrenzt die maximale volumetrische Geschwindigkeit eines Drucks auf das Minimum von Druck- und Filament-Volumengeschwindigkeit. Wird auf Null gesetzt, wenn es keine Begrenzung gibt." +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "Preis" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:848 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:857 -msgid "Min" -msgstr "Min" +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "Erwartete Druckzeit" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:866 -msgid "Min print speed" -msgstr "Minimale Druckgeschwindigkeit" +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 -msgid "min slic3r version" -msgstr "Min. Slic3r Version" +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "Stützen" -#: xs/src/libslic3r/PrintConfig.cpp:951 -msgid "Minimal filament extrusion length" -msgstr "Minimale Filament Extrusionlänge" +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "Wählen Sie aus, welche Art von Unterstützung Sie benötigen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1040 -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." -msgstr "Minimale Detailauflösung, die verwendet wird, um die Eingabedatei zu vereinfachen, um den Slicingjob zu beschleunigen und den Speicherverbrauch zu reduzieren. Hochauflösende Modelle weisen oft mehr Details auf, als der Drucker wiedergeben kann. Setzen Sie den Wert auf Null, um die Vereinfachung zu deaktivieren und die volle Auflösung des Eingangsdatei zu verwenden." +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "Kein" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1050 -msgid "Minimum travel after retraction" -msgstr "Minimalbewegung nach Einziehen" +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "Stützmaterial nur auf dem Druckbrett" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror" -msgstr "Spiegeln" +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "Überall" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror the selected object" -msgstr "Ausgewähltes Objekt spiegeln" +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "Rand" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -msgid "Mirror the selected object along the X axis" -msgstr "Ausgewähltes Objekt entlang der X-Achse spiegeln" +#: src/slic3r/GUI/Plater.cpp:381 +msgid "" +"This flag enables the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Dieses Kontrollkästchen aktiviert den Rand (Brim), der um jedes Objekt auf " +"der ersten Ebene gedruckt wird." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -msgid "Mirror the selected object along the Y axis" -msgstr "Ausgewähltes Objekt entlang der Y-Achse spiegeln" +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "Reinigungsvolumen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -msgid "Mirror the selected object along the Z axis" -msgstr "Ausgewähltes Objekt entlang der Z-Achse spiegeln" +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "Druckeinstellungen" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:151 -msgid "Mixed" -msgstr "Gemischt" +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "Filament" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:65 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:200 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:211 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:325 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:336 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:355 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:434 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:781 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:801 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:860 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:878 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:896 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1044 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1052 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1094 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1103 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1121 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1215 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1491 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1527 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1704 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1711 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1718 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1737 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1747 -msgid "mm" -msgstr "mm" +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1075 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1085 -msgid "mm (zero to disable)" -msgstr "mm (Null eingeben zum deaktivieren)" +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:609 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:740 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1390 -msgid "mm or %" -msgstr "mm oder %" +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "Drucker" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:382 -msgid "mm or % (leave 0 for auto)" -msgstr "mm oder % (für automatischen Wert auf Null belassen)" +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "Zum Drucker senden" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:597 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:715 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:972 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1296 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1458 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1619 -msgid "mm or % (leave 0 for default)" -msgstr "mm oder % (für Standardwert auf Null belassen)" +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "Jetzt slicen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:638 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:749 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:811 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:868 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:981 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1137 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1146 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1536 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1649 -msgid "mm/s" -msgstr "mm/s" +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "%d (%d Konturhüllen)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:282 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:619 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1255 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1306 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1501 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1631 -msgid "mm/s or %" -msgstr "mm/s oder %" +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "Auto-Reparatur (%d Fehler)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:80 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:174 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:576 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:684 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:952 -msgid "mm/s²" -msgstr "mm/s²" +#: src/slic3r/GUI/Plater.cpp:795 +#, c-format +msgid "" +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " +"facets reversed, %d backwards edges" +msgstr "" +"%d degenerierte Flächen, %d Kanten korrigiert, %d Flächen entfernt, %d " +"Flächen hinzugefügt, %d Flächen umgekehrt, %d rückwärtige Kanten" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1265 -msgid "mm²" -msgstr "mm²" +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" +msgstr "Ja" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:425 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:820 -msgid "mm³/s" -msgstr "mm³/s" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:831 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:842 -msgid "mm³/s²" -msgstr "mm³/s²" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "model" -msgstr "Modell" +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:414 -msgid "Modifiers" -msgstr "Veränderer" +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:478 -msgid "money/kg" -msgstr "Kosten/kg" +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "Laden" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:182 -msgid "More" -msgstr "Mehr" +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "Eingabe Datei wird verarbeitet %s\n" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1696 -msgid "Multi material printers may need to prime or purge extruders on tool changes. Extrude the excess material into the wipe tower." -msgstr "Multi-Material-Drucker müssen eventuell Extruder bei Werkzeugwechseln vor- oder nachspülen. Extrudieren Sie das überschüssige Material in den Reinigungsturm." +#: src/slic3r/GUI/Plater.cpp:1366 +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 "" +"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?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:666 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:683 +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 msgid "Multi-part object detected" msgstr "Objekt mit mehreren Teilen erkannt" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:430 -msgid "Multiple Extruders" -msgstr "Mehrere Extruder" +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:680 +#: src/slic3r/GUI/Plater.cpp:1408 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" @@ -2184,2287 +2127,4956 @@ msgstr "" "Soll ich, anstatt sie als mehrere Objekte zu betrachten, \n" "diese Dateien als ein einzelnes Objekt mit mehreren Teilen behandeln?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:220 -msgid "Name" -msgstr "Name" +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "Geladen" -#: xs/src/libslic3r/PrintConfig.cpp:1126 -msgid "Name of the printer variant. For example, the printer variants may be differentiated by a nozzle diameter." -msgstr "Name der Druckervariante. Beispielsweise können die Druckervarianten durch einen Düsendurchmesser unterschieden werden." +#: src/slic3r/GUI/Plater.cpp:1492 +msgid "" +"Your object appears to be too large, so it was automatically scaled down to " +"fit your print bed." +msgstr "" +"Ihr Objekt scheint zu gross zu sein. Es wurde deshalb automatisch " +"verkleinert, um auf Ihre Druckplatte zu passen." -#: xs/src/libslic3r/PrintConfig.cpp:1121 -msgid "Name of the printer vendor." -msgstr "Name des Druckerherstellers." +#: src/slic3r/GUI/Plater.cpp:1493 +msgid "Object too large?" +msgstr "Objekt zu groß?" -#: xs/src/libslic3r/PrintConfig.cpp:820 -msgid "Name of the profile, from which this profile inherits." -msgstr "Name des Profils, von dem dieses Profil abgeleitet wurde." +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "Export Druckkonfiguration" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 -msgid "Network lookup" -msgstr "Network Lookup" +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "New version of Slic3r PE is available" -msgstr "Eine neue Version von Slic3r PE ist verfügbar" +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 -msgid "New version:" -msgstr "Neue Version:" +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:469 -msgid "No previously sliced file." -msgstr "Keine vorher gesclicete Datei." +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:28 -msgid "NO RAMMING AT ALL" -msgstr "ÜBERHAUPT KEIN RAMMEN" +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:137 -msgid "None" -msgstr "Kein" +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "Hinweis: Es ist mindestens die OctoPrint-Version 1.1.0 erforderlich." +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:500 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:501 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:859 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:860 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1156 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1157 -msgid "Notes" -msgstr "Anmerkungen" +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:493 -msgid "Notice" -msgstr "Hinweis" +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "" +"The selected object can't be split because it contains more than one volume/" +"material." +msgstr "" +"Das ausgewählte Objekt konnte nicht getrennt werden, weil es aus mehr als " +"einem Volumen/Material besteht." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:85 -msgid "nozzle" -msgstr "Düse" +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "Abbrechen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:894 -msgid "Nozzle diameter" -msgstr "Düsendurchmesser" +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "Ein anderer Exportjob läuft zur Zeit." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:431 -msgid "Nozzle Diameter:" -msgstr "Düsendurchmesser:" +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "Export ist fehlgeschlagen" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:967 -msgid "Number of extruders of the printer." -msgstr "Anzahl der Extruder des Druckers." +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1481 -msgid "Number of interface layers to insert between the object(s) and support material." -msgstr "Anzahl der Schnittstellenschichten, die zwischen Objekt(en) und Trägermaterial eingefügt werden sollen." +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "Löschen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1231 -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 "Anzahl der Schleifen für die Schürze. Wenn die Option Minimale Extrusionslänge gesetzt ist, kann die Anzahl der Schleifen größer sein als die hier konfigurierte. Setzen Sie diesen Wert auf Null, um die Schürze komplett zu deaktivieren." +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "Ausgewähltes Objekt entfernen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:70 -msgid "Number of solid layers to generate on bottom surfaces." -msgstr "Anzahl der zu erzeugenden festen Schichten auf der Bodenfläche." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "Erhöhe Anzahl" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1315 -msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "Anzahl der zu erzeugenden festen Schichten auf der Ober- und Unterseite." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "Eine weitere Kopie des ausgewählten Objekts positionieren" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1640 -msgid "Number of solid layers to generate on top surfaces." -msgstr "Anzahl der zu erzeugenden festen Schichten auf der Oberseite." +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "Verringere Anzahl" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:745 -msgid "Object too large?" -msgstr "Objekt zu groß?" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "Eine Kopie des ausgewählten Objekts entfernen" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1032 -msgid "OctoPrint upload" -msgstr "Zu OctoPrint hochladen" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "Anzahl der Kopien angeben" -#: lib/Slic3r/GUI/Plater.pm:1511 -msgid "OctoPrint upload finished." -msgstr "Hochladen zu OctoPrint beendet." +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "Ändere die Anzahl der Kopien der ausgewählten Objekte" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 -msgid "OctoPrint version" -msgstr "OctoPrint Version" +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "Von Festplatte neu laden" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1410 -msgid "Only create support if it lies on a build plate. Don't create support on a print." -msgstr "Nur dann Stützen schaffen, wenn sie auf der Druckplattform aufbauen. Erstellt keine Stützstrukturen, die auf dem Ausdruck gründen würden." +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "Ausgewählte Datei von Festplatte neu laden" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:726 -msgid "Only infill where needed" -msgstr "Infill nur wo es notwendig ist drucken" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "Exportiere das Objekt als STL" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1205 -msgid "Only lift Z" -msgstr "Nur Z anheben" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "Exportiere dieses einzelne Objekt als STL Datei" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1100 -msgid "Only lift Z above" -msgstr "Z nur Anheben über" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "Ausgewähltes Objekt entlang der X-Achse spiegeln" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "Ausgewähltes Objekt entlang der Y-Achse spiegeln" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "Ausgewähltes Objekt entlang der Z-Achse spiegeln" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "Spiegeln" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "Ausgewähltes Objekt spiegeln" + +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "Trennen" + +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" +msgstr "Speichere G-Code Datei als:" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" +msgstr "Die STL-Datei wurde exportiert zu %s" + +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" +msgstr "AMF Datei exportiert nach %s" + +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" +msgstr "Fehler beim Exportieren der AMF Datei %s" + +#: src/slic3r/GUI/Plater.cpp:2891 +#, c-format +msgid "3MF file exported to %s" +msgstr "3MF Datei exportiert nach %s" + +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "Fehler beim Exportieren der 3MF Datei %s" + +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "Allgemein" + +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "Ausgabeverzeichnis merken" + +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "" +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." +msgstr "" +"Wenn diese Option aktiviert ist, öffnet Slic3r das letzte Ausgabeverzeichnis " +"anstelle des Verzeichnisses, in dem sich die Eingabedateien befinden." + +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "Teile automatisch zentrieren" + +#: src/slic3r/GUI/Preferences.cpp:44 +msgid "" +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." +msgstr "" +"Wenn diese Option aktiviert ist, zentriert Slic3r Objekte automatisch um die " +"Mitte des Druckbettes." + +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "Hintergrundberechnung" + +#: src/slic3r/GUI/Preferences.cpp:52 +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." +msgstr "" +"Wenn diese Option aktiviert ist, wird Slic3r Objekte vorverarbeiten, sobald " +"sie geladen werden, um Zeit beim Export von G-Code zu sparen." + +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "\"Standard\"-Einstellungen unterdrücken" + +#: src/slic3r/GUI/Preferences.cpp:76 +msgid "" +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." +msgstr "" +"\"Standard\"-Einstellungen in den Auswahlen für Druck / Filament / Drucker " +"unterdrücken, falls andere gültige Voreinstellungen vorhanden sind." + +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "Inkompatible Druck- und Filamenteinstellungen anzeigen" + +#: src/slic3r/GUI/Preferences.cpp:84 +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 "" +"Falls angekreuzt, werden Voreinstellungen für Druck und Filament im " +"Voreinstellungseditor auch dann angezeigt, wenn sie als inkompatibel zum " +"aktiven Drucker gekennzeichnet wurden" + +#: src/slic3r/GUI/Preferences.cpp:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "Älteres OpenGL 1.1-Rendering verwenden" + +#: src/slic3r/GUI/Preferences.cpp:92 +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 "" +"Wenn Sie Rendering-Probleme haben, die durch einen fehlerhaften OpenGL 2.0-" +"Treiber verursacht wurden, können Sie versuchen, dieses Kontrollkästchen zu " +"aktivieren. Dies deaktiviert die Bearbeitung der Ebenenhöhe und das Anti-" +"Aliasing, so dass es wahrscheinlich sinnvoller ist, den Grafiktreiber zu " +"aktualisieren." + +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "Sie müssen Slic3r neu starten, damit die Änderungen wirksam werden." + +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "" + +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "Systemvoreinstellungen" + +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "Benutzerdefinierte Voreinstellungen" + +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" +msgstr "" + +#: 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 "" +"Wenn die geschätzte Schichtzeit unter ~%ds liegt, läuft der Lüfter mit %d%% " +"und die Druckgeschwindigkeit wird reduziert, so dass nicht weniger als %ds " +"für diese Schicht verwendet werden (die Geschwindigkeit wird jedoch nie " +"unter %dmm/s reduziert)." + +#: 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%%." +msgstr "" +"\n" +"Falls die erwartete Schichtdruckzeit größer, aber noch unterhalb von ~%d " +"Sekunden ist, wird der Lüfter mit einer sich proportional verringernden " +"Geschwindigkeit zwischen %d%% und %d%% laufen." + +#: src/slic3r/GUI/PresetHints.cpp:36 +msgid "" +"\n" +"During the other layers, fan " +msgstr "" +"\n" +"Während der übrigen Schichten, Ventilator " + +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "Ventilator " + +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "wird immer mit %d%% laufen " + +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "außer für die ersten %d Schichten" + +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "außer für die erste Schicht" + +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "wird abgeschaltet." + +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "Aussenschichten" + +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" +msgstr "Aussenschichten" + +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "Infill" + +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "Stabiles Infill" + +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "Oberes stabiles Infill" + +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "Stützen" + +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "Schnittstelle zu den Stützen" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "Volumenparameter der ersten Schicht" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "Überbrückungvolumen" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "Volumetrisch" + +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr " die Durchflussmenge ist am Maximum " + +#: src/slic3r/GUI/PresetHints.cpp:220 +msgid "by the print profile maximum" +msgstr "mit dem Maximum des Druckerprofils" + +#: src/slic3r/GUI/PresetHints.cpp:221 +msgid "when printing " +msgstr "während dem Druck " + +#: src/slic3r/GUI/PresetHints.cpp:222 +msgid " with a volumetric rate " +msgstr " mit einer Volumenrate von " + +#: src/slic3r/GUI/PresetHints.cpp:226 +#, c-format +msgid "%3.2f mm³/s" +msgstr "%3.2f mm³/s" + +#: src/slic3r/GUI/PresetHints.cpp:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr " mit einer Filamentgeschwindigkeit von %3.2f mm³/s." + +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." +msgstr "" +"Empfohlene Stärke der dünnen Wände des Objekts: Nicht verfügbar wegen " +"unzulässiger Schichthöhe." + +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "" +"Empfohlene Stärke der dünnen Wände des Objekts für die Schichthöhe %.2f und " + +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "%d Linien: %.2lf mm" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" +msgstr "ÜBERHAUPT KEIN RAMMEN" + +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" +msgstr "Zeit" + +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "s" + +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "Volumengeschwindigkeit" + +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "Kompatible Drucker" + +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "Wählen Sie die Drucker aus, die mit diesem Profil kompatibel sind." + +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "Aktuell sichern " + +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "Lösche diese Voreinstellung" + +#: src/slic3r/GUI/Tab.cpp:131 +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/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "Dies ist eine Standard-Voreinstellung." + +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "Dies ist eine Systemvoreinstellung." + +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "Aktuelle Voreinstellung ist abgeleitet von " + +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " +msgstr "Es ist keine Löschung oder Änderung möglich. " + +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "" +"Alle Änderungen sollten als neues Preset gespeichert werden, das von diesem " +"vererbt wurde. " + +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "" +"Zur Ausführung geben Sie bitte einen neuen Namen für die Voreinstellung ein." + +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "Weitere Informationen:" + +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" +msgstr "Druckermodell" + +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" +msgstr "Standard-Druckprofil" + +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" +msgstr "Standard-Filamentprofil" + +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "Schichten und Umfänge" + +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "Schichthöhe" + +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "Vertikale Konturhüllen" + +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "Horizontale Konturhüllen" + +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "Kompakte Schichten" + +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "Qualität (langsameres Slicen)" + +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "Druckzeit wird verkürzt" + +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "Schürze und Rand" + +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "Raft" + +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "Optionen für Stützmaterial und Raft" + +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "Geschwindigkeit für Druckbewegungen" + +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "Geschwindigkeit für Bewegungen zwischen den Druckvorgängen" + +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "Veränderer" + +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "Beschleunigungskontrolle (fortgeschritten)" + +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "Automatische Geschindigkeit (fortgeschritten)" + +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "Mehrere Extruder" + +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "Vermeidung von Nachsickern (Ooze)" + +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "Extrusionbreite" + +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "Überlappung" + +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "Fluss" + +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "Sonstige" + +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "Ausgabeoptionen" + +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "Sequentielles Drucken" + +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "Extruder Abstand (mm)" + +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "Ausgabedatei" + +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "Nachbearbeitungs Script" + +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "Anmerkungen" + +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "Abhängigkeiten" + +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "Profil Abhängigkeiten" + +#: src/slic3r/GUI/Tab.cpp:1161 +#, 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 "" +"Der Spiralvasen-Modus erfordert:\n" +"- eine Aussenschicht\n" +"- keine stabilen Schichten oben\n" +"- 0% Fülldichte\n" +"- keine Stützen\n" +"- kein ensure_vertical_shell_thickness\n" +"\n" +"Soll ich diese Einstellungen anpassen, um den Spiralvasen-Modus zu " +"aktivieren?" + +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "Spiralvase" + +#: src/slic3r/GUI/Tab.cpp:1191 +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 "" +"Die Reinigungssäule unterstützt zur Zeit nichtlösliche Stützen nur, falls " +"sie mit dem aktuellen Extruder ohne einen Werkzeugwechsel gedruckt werden " +"(sowohl support_material_extruder wie auch " +"support_material_interface_extruder müssen auf Null gesetzt werden).\n" +"\n" +"Soll ich diese Einstellungen anpassen, um die Reinigungssäule zu aktivieren?" + +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "Reinigungssäule" + +#: src/slic3r/GUI/Tab.cpp:1209 +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 "" +"Damit der Reinigungsturm mit den löslichen Trägermaterialien arbeiten kann, " +"müssen die Stützschichten mit den Objektschichten synchronisiert werden. " +"Soll ich Unterstützungsschichten synchronisieren, um den Reinigungsturm zu " +"aktivieren?" + +#: src/slic3r/GUI/Tab.cpp:1227 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" +msgstr "" +"Stützen funktionieren besser, falls die folgende Option aktiviert ist:\n" +"- Aussenschichten von Überbrückungen erkennen\n" +"\n" +"Soll ich diese Einstellung für die Stützen anpassen?" + +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "Generator für die Stützen" + +# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "Der/Die " + +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format +msgid "" +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" +msgstr "" +" Infillmuster ist nicht empfohlen für 100% Füllvolumen.\n" +"\n" +"Soll auf das rechtlineare Füllmuster umgestellt werden?" + +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "Temperatur " + +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" +msgstr "Druckbett" + +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "Kühlung" + +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "Aktivieren" + +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "Ventilator Einstellungen" + +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "Ventilatorgeschwindigkeit" + +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "Kühlungsschwellwerte" + +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "Filament Eigenschaften" + +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "Korrektur der Druckgeschwindigkeit" + +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" +msgstr "Werkzeugwechsel-Parameter für MM-Drucker mit einem Extruder" + +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" +msgstr "Einstellungen für das Rammen" + +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "Benutzerdefinierter G-Code" + +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "Start G-Code" + +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "G-Code am Ende" + +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr " Suchen " + +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "Test" + +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "Erfolg!" + +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" +"HTTPS-CA-Datei ist optional. Sie wird nur benötigt, wenn Sie HTTPS mit einem " +"selbstsignierten Zertifikat verwenden." + +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "Zertifikatsdatei (*.crt, *.pem)|*.crt;*.pem|alle Dateien|*.*" + +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" +msgstr "Open CA Zertifikat Datei" + +#: src/slic3r/GUI/Tab.cpp:1676 +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:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "Grösse und Koordinaten" + +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr " Setzen " + +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "Fähigkeiten" + +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "Anzahl der Extruder des Druckers." + +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "USB/Serielle Verbindung" + +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "Serieller Port" + +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "Serielle Schnittstellen nochmals abfragen" + +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "Verbindung zum Drucker funktioniert einwandfrei." + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "Verbindung ist fehlgeschlagen." + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "G-Code vor dem Schichtwechsel" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "G-Code am Schichtende" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "G-Code für Werkzeugwechsel" + +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "G-Code zwischen Objekten (Sequentielles Drucken)" + +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" +msgstr "Einzelner Extruder MM Setup" + +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" +msgstr "Einzelner Extruder Multimaterial Parameter" + +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "Extruder %d" + +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "Schichthöhen Grenzen" + +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "Position (für Multi-Extruder-Drucker)" + +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "Einzug" + +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "Nur Z anheben" + +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" +msgstr "" +"Einzug, wenn das Werkzeug deaktiviert ist (weiterführende Einstellungen für " +"Multi-Extruder-Einrichtungen)" + +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "Vorschau" + +#: src/slic3r/GUI/Tab.cpp:2284 +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/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" +msgstr "Firmware Einzug" + +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" +msgstr "Standard Voreinstellung (%s)" + +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" +msgstr "hat die folgenden ungesicherten Änderungen:" + +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" +msgstr "ist mit dem Drucker nicht kompatibel" + +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" +msgstr "und hat die folgenden ungesicherten Änderungen:" + +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" +msgstr "Änderungen verwerfen und fortfahren?" + +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "Nicht abgespeicherte Änderungen" + +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "Der angegebene Name ist leer. Die Speicherung kann nicht erfolgen." + +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." +msgstr "Systemprofil kann nicht überschrieben werden." + +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." +msgstr "Ein externes Profil kann nicht überschrieben werden." + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "Entfernen" + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "löschen" + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "Wollen Sie wirklich " + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr " die ausgewählte Voreinstellung?" + +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "Entfernen" + +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr " Voreinstellung" + +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "Alle" + +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "" +"GESCHLOSSENES SCHLOSS;zeigt an, dass die Einstellungen mit den Systemwerten " +"der aktuellen Optionsgruppe übereinstimmen" + +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." +msgstr "" +"GEÖFFNETES SCHLOSS;Zeigt an, dass einige Einstellungen geändert wurden und " +"nicht mehr mit den Systemeinstellungen für die aktuelle Gruppe von Optionen " +"identisch sind.\n" +"Klicken Sie auf das Symbol mit dem GEÖFFNETEN SCHLOSS, um alle Einstellungen " +"für die aktuelle Optionsgruppe auf die Systemeinstellungen zurückzusetzen." + +#: src/slic3r/GUI/Tab.cpp:2878 +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." +msgstr "" +"WEISSER PUNKT;Beim linken Knopf: zeigt eine Nicht-Systemeinstellung an. Beim " +"rechten Knopf: zeigt an, dass die Einstellung nicht geändert wurde." + +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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 "" +"BACK ARROW; 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/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" +msgstr "" +"GESCHLOSSENES SCHLOSS-Symbol zeigt an, dass die Einstellungen mit den " +"Systemwerten der aktuellen Optionsgruppe übereinstimmen" + +#: src/slic3r/GUI/Tab.cpp:2910 +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." +msgstr "" +"Das Symbol GEÖFFNETES SCHLOSS zeigt an, dass einige Einstellungen geändert " +"wurden und nicht mehr mit den Systemeinstellungen für die aktuelle " +"Optionsgruppe identisch sind.\n" +"Klicken Sie, um alle Einstellungen für die aktuelle Optionsgruppe auf die " +"Systemeinstellungen zurückzusetzen." + +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "" +"Das Symbol mit dem WEISSEN PUNKT zeigt eine Nicht-Systemeinstellung an." + +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." +msgstr "" +"Das Symbol WEISSER PUNKT zeigt an, dass die Einstellungen dieselben sind wie " +"in der zuletzt gespeicherten Voreinstellung für die aktuelle Optionsgruppe." + +#: src/slic3r/GUI/Tab.cpp:2918 +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:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" +"GESCHLOSSENES SCHLOSS-Symbol zeigt an, dass der Wert mit dem Systemwert " +"übereinstimmt." + +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" +"Das Symbol GEÖFFNETES SCHLOSS zeigt an, dass der Wert geändert wurde und " +"nicht mit der Systemeinstellung identisch ist.\n" +"Klicken Sie, um den aktuellen Wert auf die Systemeinstellung zurückzusetzen." + +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" +"Das Symbol WEISSER PUNKT zeigt an, dass der Wert identisch ist mit " +"demjenigen in der zuletzt gespeicherten Voreinstellung." + +#: src/slic3r/GUI/Tab.cpp:2932 +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." + +# Used in this context: _("Save ") + title + _(" as:") +#: src/slic3r/GUI/Tab.cpp:3031 +msgid " as:" +msgstr " als:" + +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "Der angegebene Name ist nicht verfügbar." + +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "Schichten" + +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "Druckeinstellungen" + +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "Filamenteinstellungen" + +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "Druckereinstellungen" + +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "Sichern der Voreinstellung" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "Ein Update ist verfügbar" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "Eine neue Version von Slic3r PE ist verfügbar" + +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "Zum Herunterladen folgen Sie dem untenstehenden Link." + +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "Aktuelle Version:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "Neue Version:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "Keine Benachrichtigung mehr über neue Releases" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "Konfigurationsupdate" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "Konfigurationsupdate ist verfügbar" + +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "Slic3r-Inkompatibilität" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "Slic3r Konfiguration ist nicht kompatibel" + +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" +"Diese Version von Slic3r PE ist nicht kompatibel zu den aktuell " +"installierten Konfigurationssammlungen.\n" +"Dies wurde wahrscheinlich dadurch verursacht, dass Sie eine ältere Slic3r PE " +"Version benutzt haben, nachdem Sie eine neuere ausgeführt hatten.\n" +"\n" +"Sie können Slic3r 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 Slic3r-Version kompatiblen " +"Dateien installiert werden.\n" + +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" +msgstr "Diese Slic3r PE Version: %s" + +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "Inkompatible Konfigurationssammlungen:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "Slic3r beenden" + +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "Neu konfigurieren" + +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format +msgid "" +"Slic3r PE 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 "" +"Slic3r PE 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/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "Für weitere Informationen besuchen Sie bitte unsere Wiki-Seite:" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "Einstellungen für das Rammen" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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:78 +msgid "Total ramming time" +msgstr "Gesamte Rammdauer" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "Gesamtes Rammvolumen" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "Breite der Rammlinie" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "Abstand der Rammlinien" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "Reinigungsturm - Anpassung des Reinigungsvolumens" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "" +"Hier können Sie das erforderliche Reinigungsvolumen (mm³) für ein beliebiges " +"Werkzeugpaar einstellen." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "Extruder geändert auf" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "entladen wird" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "geladen wird" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "Werkzeug #" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" +"Das gesamte Reinigungsvolumen wird durch die Addition folgender zwei Werte " +"berechnet, je nachdem welche Werkzeuge geladen/entladen sind." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "Volumen zum Reinigen (mm³) wenn das Filament ist" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "Von" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +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/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "Vereinfachte Einstellungen anzeigen" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "Ausführliche Einstellungen anzeigen" + +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "Verbindung zu Octoprint funktioniert einwandfrei." + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "Ich konnte keine Verbindung zu OctoPrint herstellen" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "Hinweis: Es ist mindestens die OctoPrint-Version 1.1.0 erforderlich." + +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "benötigt min. %s und max. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +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 "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" +msgstr "" + +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "" + +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "" + +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" + +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" + +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" + +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" + +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" + +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" + +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" + +#: src/libslic3r/Print.cpp:1255 +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:1257 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" +msgstr "" + +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" + +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" + +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "" + +#: src/libslic3r/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "" + +#: src/libslic3r/Print.cpp:1316 +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 "" + +#: src/libslic3r/Print.cpp:1324 +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:1328 +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 "" + +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "" + +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "Druckbettkontur" + +#: src/libslic3r/PrintConfig.cpp:48 +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 "" +"Diese Einstellung bestimmt die Höhe (und damit die Gesamtanzahl) der " +"Scheiben/Schichten. Dünnere Schichten ergeben eine bessere Genauigkeit, " +"benötigen aber mehr Zeit zum drucken." + +#: src/libslic3r/PrintConfig.cpp:56 +msgid "Max print height" +msgstr "Max. Druckhöhe" + +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" +"Stellen Sie hier die maximale Höhe ein, die Ihr Extruder beim Drucken " +"erreichen kann." + +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "Kreuzen der Kontur vermeiden" + +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" +"Optimieren Sie die Verfahrbewegungen, um das Überschreiten von Konturen zu " +"minimieren. Dies ist vor allem bei Bowdenextrudern nützlich, die unter " +"sickerndem Material leiden. Diese Funktion verlangsamt sowohl den Druck als " +"auch die Generierung des G-Codes." + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "Andere Schichten" + +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" +"Druckbett-Temperatur für Schichten nach der ersten Schicht. Setzen Sie " +"diesen Wert auf Null, um die Befehle zur Steuerung der Betttemperatur im " +"Output zu deaktivieren." + +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "Druckbetttemperatur" + +#: src/libslic3r/PrintConfig.cpp:93 +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 "" +"Dieser benutzerdefinierte Code wird bei jedem Lagenwechsel, unmittelbar vor " +"der Z Bewegung, eingefügt. Beachten Sie, dass Sie Platzhaltervariablen für " +"alle Slic3r-Einstellungen sowie [layer_num] und [layer_z] verwenden können." + +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "G-Code zwischen Objekten" + +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" +"Dieser Code wird beim sequentiellen Drucken zwischen Objekten eingefügt. " +"Standardmäßig werden Extruder- und Betttemperatur mit dem Befehl, der nicht " +"auf die Änderung wartet, zurückgesetzt. Wenn jedoch M104, M109, M140 oder " +"M190 in diesem benutzerdefinierten Code erkannt werden, fügt Slic3r keine " +"Temperaturbefehle hinzu. Beachten Sie, dass Sie Platzhaltervariablen für " +"alle Slic3r-Einstellungen verwenden können, so dass Sie einen \"M109 " +"S[first_layer_temperature]\"-Befehl an beliebiger Stelle platzieren können." + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "Unten" + +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "Anzahl der zu erzeugenden festen Schichten auf der Bodenfläche." + +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "Kompakte Basisschichten" + +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "Überbrückung" + +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "" +"Die Beschleunigung, die Ihr Drucker für Brücken verwendet. Setzen Sie dies " +"auf Null, um die Beschleunigungskontrolle bei Brücken zu deaktivieren." + +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "mm/s²" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "Überbrückungswinkel" + +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" +"Überbrückungswinkel Übersteuerung. Wird der Wert auf Null gesetzt, wird der " +"Überbrückungswinkel automatisch berechnet. Andernfalls wird der angegebene " +"Winkel für alle Brücken verwendet. Verwenden Sie 180° für den Nullwinkel." + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "°" + +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "Brückenventilatorgeschwindigkeit" + +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "" +"Die Lüftergeschwindigkeit, die für Überbrückungen und Überhänge benutzt wird." + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "%" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "Brückenflussverhältnis" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" +"Diese Einstellung beeinflusst den Materialausstoss bei Brücken. Sie können " +"den Wert leicht verringern, um die Extrusionsfäden zu strecken und ein " +"Durchhängen zu vermeiden. Die Standardwerte sind aber normalerweise " +"ausreichend und Sie sollten zuerst mit der Lüftergeschwindigkeit " +"experimentieren, bevor Sie diesen Wert verändern." + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "Überbrückungen" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "Brückendruckgeschwindigkeit." + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "mm/s" + +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "Randbreite" + +#: src/libslic3r/PrintConfig.cpp:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Horizontalbreite des Randes, der um jedes Objekt auf der Bodenschicht " +"gedruckt wird." + +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "Beschneiden von Objekten aus mehreren Teilen" + +#: src/libslic3r/PrintConfig.cpp:188 +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 "" +"Wenn Multi-Material-Objekte gedruckt werden, wird Slic3r mit diesen " +"Einstellungen einen überlappenden Teil des Objekts durch den anderen " +"einschränken (zweiter Teil wird durch den ersten Teil eingeschränkt, dritter " +"Teil wird durch den ersten und zweiten eingeschränkt usw.)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1109 -msgid "Only lift Z below" -msgstr "Z anheben nur unter" +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:915 -msgid "Only retract when crossing perimeters" -msgstr "Nur bei Umfangsüberquerungen einziehen" +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:438 -msgid "Ooze prevention" -msgstr "Vermeidung von Nachsickern (Ooze)" +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "Kompatible Druckerbedingung" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:251 -msgid "Open a model" -msgstr "Modell öffnen" +#: src/libslic3r/PrintConfig.cpp:208 +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 "" +"Ein boolescher Ausdruck, der die Konfigurationswerte eines aktiven " +"Druckerprofils verwendet. Wenn dieser Ausdruck als wahr bewertet wird, wird " +"dieses Profil als kompatibel mit dem aktiven Druckerprofil angesehen." -#: xs/src/slic3r/GUI/Tab.cpp:1598 -msgid "Open CA certificate file" -msgstr "Open CA Zertifikat Datei" +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:194 -msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O" -msgstr "Öffne STL/OBJ/AMF/3MF…\tCtrl+O" +#: src/libslic3r/PrintConfig.cpp:221 +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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Open the 3D cutting tool" -msgstr "3D-Schneidewerkzeug öffnen" +#: src/libslic3r/PrintConfig.cpp:235 +msgid "Complete individual objects" +msgstr "Kompatible Einzelobjekte" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Open the object editor dialog" -msgstr "Objekteditor-Dialog öffnen" +#: src/libslic3r/PrintConfig.cpp:236 +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 "" +"Wenn mehrere Objekte oder Kopien gedruckt werden, wird bei dieser " +"Einstellung jedes Objekt vollständig gedruckt, bevor das nächste (angefangen " +"mit der Bodenschicht) begonnen wird. Diese Einstellung ist nützlich, um " +"Fehldrucke zu vermeiden. Slic3r sollte vor Extruderkollisionen warnen und " +"diese verhindern, aber seien Sie trotzdem aufmerksam." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "Seite mit den Prusa Edition-Releases in Ihrem Browser öffnen" +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "Automatische Kühlung aktivieren" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Open the Prusa3D drivers download page in your browser" -msgstr "Download-Seite für die Prusa3D-Treiber in Ihrem Browser öffnen" +#: src/libslic3r/PrintConfig.cpp:246 +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." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Open the Slic3r manual in your browser" -msgstr "Slic3r-Handbuch in Ihrem Browser öffnen" +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "Position des Kühlschlauchs" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Open the Slic3r website in your browser" -msgstr "Slic3r-Website in Ihrem Browser öffnen" +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "Abstand des Mittelpunktes des Kühlrohres von der Extruderspitze " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:27 -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." -msgstr "Optimieren Sie die Verfahrbewegungen, um das Überschreiten von Konturen zu minimieren. Dies ist vor allem bei Bowdenextrudern nützlich, die unter sickerndem Material leiden. Diese Funktion verlangsamt sowohl den Druck als auch die Generierung des G-Codes." +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "Länge des Kühlschlauchs" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:384 -msgid "Options for support material and raft" -msgstr "Optionen für Stützmaterial und Raft" +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "" +"Länge des Kühlschlauchs, um den Raum für Kühlbewegungen im Inneren zu " +"begrenzen " -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:57 -msgid "Origin" -msgstr "Nullpunkt" +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" +"Dies ist der Beschleunigungswert, auf den Ihr Drucker zurückgesetzt wird, " +"nachdem aufgabenspezifische Beschleunigungswerte (Aussenschichten/Infill) " +"verwendet wurden. Setzen Sie dies auf Null, um ein Zurückstellen der " +"Beschleunigungswerte zu deaktivieren." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:469 -msgid "Other" -msgstr "Sonstige" +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "Standard-Filamentprofil" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:38 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1572 -msgid "Other layers" -msgstr "Andere Schichten" +#: src/libslic3r/PrintConfig.cpp:282 +msgid "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." +msgstr "" +"Standard-Filamentprofil, das dem aktuellen Druckerprofil zugeordnet ist. Bei " +"Auswahl des aktuellen Druckerprofils wird dieses Filamentprofil aktiviert." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:295 -msgid "Other Vendors" -msgstr "Andere Hersteller" +#: src/libslic3r/PrintConfig.cpp:287 +msgid "Default print profile" +msgstr "Standard-Druckprofil" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:238 -msgid "Other vendors" -msgstr "Andere Hersteller" +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +msgid "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." +msgstr "" +"Standarddruckprofil, das dem aktuellen Druckerprofil zugeordnet ist. Bei " +"Auswahl des aktuellen Druckerprofils wird dieses Druckprofil aktiviert." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:488 -msgid "Output file" -msgstr "Ausgabedatei" +#: src/libslic3r/PrintConfig.cpp:293 +msgid "Disable fan for the first" +msgstr "Ventilator für die Ersten" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:930 -msgid "Output filename format" -msgstr "Ausgabe Dateinamen Format" +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" +"Sie können einen positiven Wert eingeben, um den Lüfter vollständig für die " +"ersten Schichten auszuschalten, damit er die Haftung nicht beeinträchtigt." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:476 -msgid "Output options" -msgstr "Ausgabeoptionen" +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "Schichten" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:140 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:82 -msgid "Overhang perimeter" -msgstr "Überhängende Aussenschicht" +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "Brücken nicht unterstützen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1550 -msgid "Overhang threshold" -msgstr "Überhangsschwellwert" +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "" +"Experimentelle Option zur Verhinderung der Bildung von Trägermaterial unter " +"Überbrückungsflächen." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:463 -msgid "Overlap" -msgstr "Überlappung" +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "Abstand zwischen Kopien" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1508 -msgid "Pattern" -msgstr "Muster" +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "Abstand für die automatische Druckplattenbelegung." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1398 -msgid "Pattern angle" -msgstr "Muster Winkel" +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "Elefantenfuss Kompensation" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1524 -msgid "Pattern spacing" -msgstr "Muster Abstand" +#: src/libslic3r/PrintConfig.cpp:324 +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 "" +"Die erste Schicht wird in der XY-Ebene um den vorgegebenen Wert verkleinert, " +"um das Ausquetschen in der ersten Schicht (\"Elephant Foot\"-Effekt) zu " +"kompensieren." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1510 -msgid "Pattern used to generate support material." -msgstr "Unterstützungsmaterialmuster." +#: src/libslic3r/PrintConfig.cpp:334 +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 "" +"Dieser G-Code wird am Ende der Ausgabedatei angehängt. Sie können " +"Platzhaltervariablen für alle Slic3r-Einstellungen verwenden." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:138 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:80 -msgid "Perimeter" -msgstr "Aussenschicht" +#: src/libslic3r/PrintConfig.cpp:345 +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 "" +"Diese Endprozedur wird am Ende der Ausgabedatei vor dem DruckerEnde G-Code " +"eingefügt. Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-" +"Einstellungen verwenden können. Wenn Sie über mehrere Extruder verfügen, " +"wird der G-Code in der Extruderreihenfolge verarbeitet." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:957 -msgid "Perimeter extruder" -msgstr "Umfang Extruder" +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "Stelle die vertikale Hüllenstärke sicher" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:948 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:978 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:988 -msgid "Perimeters" -msgstr "Konturen" +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" +"Fügen Sie stabiles Infill in der Nähe von schrägen Flächen hinzu, um die " +"vertikale Schalenstärke zu gewährleisten (obere und untere massive " +"Schichten)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:160 -msgid "perimeters" -msgstr "Aussenschichten" +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "Boden- und Deckenfüllmuster" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 -msgid "Pick another vendor supported by Slic3r PE:" -msgstr "Wählen Sie einen anderen von Slic3r PE unterstützten Hersteller:" +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "" +"Füllmuster für die obere und untere Füllung. Dies wirkt sich nur auf die " +"äußere sichtbare Schicht aus, nicht aber auf die angrenzenden soliden " +"Konturen." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Place one more copy of the selected object" -msgstr "Eine weitere Kopie des ausgewählten Objekts positionieren" +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:118 -msgid "Plater" -msgstr "Druckplatte" +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1897 -msgid "Please install the OpenGL modules to use this feature (see build instructions)." -msgstr "Bitte installieren Sie die OpenGL-Module, um diese Funktion nutzen zu können (siehe Build Anleitung)." +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1199 -msgid "Position (for multi-extruder printers)" -msgstr "Position (für Multi-Extruder-Drucker)" +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1153 -msgid "Position of perimeters starting points." -msgstr "Position des Startpunktes des Umfangs." +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1702 -msgid "Position X" -msgstr "X-Position" +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "Aussenschichten" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1709 -msgid "Position Y" -msgstr "Y-Position" +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" +"Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " +"für externe Aussenschichten anzugeben. Falls auf Null belassen, wird die " +"Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der " +"Durchmesser der Druckdüse x 1,125 verwendet. Falls als Prozentwert (z.B. " +"200%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "mm oder % (für Standardwert auf Null belassen)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:494 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1001 -msgid "Post-processing scripts" -msgstr "Nachbearbeitungs Script" +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" +"Diese separate Einstellung wirkt sich auf die Geschwindigkeit der äusseren " +"(sichtbaren) Aussenschichten aus. Als Prozentwert eingegeben (z.B. 80%), " +"wird sie ausgehend von der obigen Geschwindigkeitseinstellung für " +"Aussenschichten berechnet. Für die automatische Berechnung auf Null setzen." + +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "mm/s oder %" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.hpp:17 -msgid "Preferences" -msgstr "Einstellungen" +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "Aussenkonturen zuerst drucken" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1171 -msgid "Preferred direction of the seam" -msgstr "Bevorzugte Richtung für die Naht" +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "" +"Drucken Sie Konturumfänge von der äußersten zur innersten Kontur anstatt der " +"standardmäßigen umgekehrten Reihenfolge." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1183 -msgid "Preferred direction of the seam - jitter" -msgstr "Bevorzugte Zitterrichtung für die Naht" +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "Extra Konturen wenn notwendig" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2125 -msgid "Preview" -msgstr "Vorschau" +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" +"Fügen Sie bei Bedarf weitere Perimeter hinzu, um Spalten in schrägen Wänden " +"zu vermeiden. Slic3r fügt immer wieder Perimeter hinzu, bis mehr als 70% der " +"unmittelbar darüber liegenden Schleife unterstützt werden." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid "Previously sliced file (" -msgstr "Vorher geslicete Datei (" +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"The extruder to use (unless more specific extruder settings are specified). " +"This value overrides perimeter and infill extruders, but not the support " +"extruders." +msgstr "" +"Der Extruder, der verwendet werden soll, falls keine sonstigen " +"Extrudereinstellungen angegeben wurden. Dies übersteuert die Angaben für die " +"Aussenschicht- und Infill-Extruder, aber nicht die Angabe des Extruders für " +"die Stützen." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 -msgid "print" -msgstr "Druck" +#: src/libslic3r/PrintConfig.cpp:444 +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." +msgstr "" +"Stellen Sie dies auf den vertikalen Abstand zwischen Ihrer Düsenspitze und " +"(in der Regel) den X-Wagenstangen ein. Mit anderen Worten, das ist die Höhe " +"des Abstandszylinders um Ihren Extruder herum und stellt die maximale Tiefe " +"dar, die der Extruder vor der Kollision mit anderen Druckobjekten sehen kann." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:291 -msgid "Print contour perimeters from the outermost one to the innermost one instead of the default inverse order." -msgstr "Drucken Sie Konturumfänge von der äußersten zur innersten Kontur anstatt der standardmäßigen umgekehrten Reihenfolge." +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "Radius" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Print Diameters" -msgstr "Druckdurchmesser" +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" +"Stellen Sie dies auf den Freiraumradius um Ihren Extruder ein. Wenn der " +"Extruder nicht zentriert ist, wählen Sie zur Sicherheit den größten Wert. " +"Diese Einstellung wird verwendet, um Kollisionen zu prüfen und die grafische " +"Vorschau auf der Druckplatte anzuzeigen." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:182 -msgid "Print Settings" -msgstr "Druckeinstellungen" +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "Extruder Farbe" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:367 -msgid "Print settings" -msgstr "Druckeinstellungen" +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "" +"Dies wird nur als visuelles Hilfsmittel in der Slic3r-Benutzeroberfläche " +"verwendet." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:836 -msgid "Print speed override" -msgstr "Korrektur der Druckgeschwindigkeit" +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "Extruder Offset" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:369 -msgid "Printer" -msgstr "Drucker" +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" +"Wenn Ihre Firmware die Verschiebung des Extruders nicht beherrscht, " +"benötigen Sie den G-Code, um sie zu berücksichtigen. Mit dieser Option " +"können Sie die Verschiebung jedes Extruders in Bezug auf den ersten Extruder " +"festlegen. Es erwartet positive Koordinaten (sie werden von der XY-" +"Koordinate subtrahiert)." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 -msgid "printer" -msgstr "Drucker" +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "Extrusionsachse" -#: xs/src/slic3r/GUI/Tab.cpp:762 -msgid "printer model" -msgstr "Druckermodell" +#: src/libslic3r/PrintConfig.cpp:487 +msgid "" +"Use this option to set the axis letter associated to your printer's extruder " +"(usually E but some printers use A)." +msgstr "" +"Verwenden Sie diese Einstellung, um den Buchstaben der Achse anzugeben, die " +"mit Ihrem Extruder verknüpft ist (normalerweise E, aber bei manchen Druckern " +"ist dies A)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1014 -msgid "Printer notes" -msgstr "Drucker Anmerkungen" +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "Extrusionsfaktor" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:228 -msgid "Printer Settings" -msgstr "Druckereinstellungen" +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" +"Dieser Faktor ändert die Extrusionsmenge proportional. Sie müssen diese " +"Einstellung möglicherweise anpassen, um schöne Oberflächen und korrekte " +"Hüllendicken zu erhalten. Die üblichen Werte bewegen sich zwischen 0,9 und " +"1,1. Falls Sie grössere Anpassungen eingeben müssen, kontrollieren Sie auch " +"den Filamentdurchmesser und die E-Schritte in Ihrer Firmware." -#: xs/src/libslic3r/PrintConfig.cpp:1106 -msgid "Printer type" -msgstr "Druckertyp" +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "Standardextrusionsbreite" -#: xs/src/libslic3r/PrintConfig.cpp:1125 -msgid "Printer variant" -msgstr "Druckervariante" +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "" +"Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " +"zuzulassen. Falls auf Null belassen, wird Slic3r die Extrusionsbreiten vom " +"Durchmesser der Druckdüse ableiten (siehe die Hilfstexte für die " +"Extrusionsbreite für Aussenschichten, Infill usw.). Falls als Prozentwert (z." +"B. 230%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." -#: xs/src/libslic3r/PrintConfig.cpp:1120 -msgid "Printer vendor" -msgstr "Druckerhersteller" +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "mm oder % (für automatischen Wert auf Null belassen)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:238 -msgid "Print…" -msgstr "Drucken…" +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "Ventilator ständig laufen lassen" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Processing " -msgstr "Berechnung " +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" +"Wenn diese Option aktiviert ist, wird der Lüfter niemals deaktiviert und " +"läuft mindestens mit seiner Minimaldrehzahl weiter. Sinnvoll für PLA, " +"ungeignet für ABS." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:643 -msgid "Processing input file\n" -msgstr "Eingabe Datei wird verarbeitet\n" +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "Ventilator anschalten wenn die Schichtdruckzeit geringer ist als" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:508 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:868 -msgid "Profile dependencies" -msgstr "Profil Abhängigkeiten" +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "" +"Wenn die Druckzeit der Ebenen unter dieser Anzahl von Sekunden liegt, wird " +"der Lüfter aktiviert und seine Geschwindigkeit durch Interpolation der " +"minimalen und maximalen Geschwindigkeiten berechnet." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:300 -msgid "Progress:" -msgstr "Fortschritt:" +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "ungefähre Sekunden" + +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "Farbe" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Prusa 3D Drivers" -msgstr "Prusa 3D Treiber" +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "Filament Bemerkungen" + +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "Sie können Ihre Notizen zum Filament hier eingeben." + +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "Maximale Volumengeschwindigkeit" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Prusa Edition Releases" -msgstr "Prusa Edition Release" +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" +"Maximale volumetrische Geschwindigkeit, die für dieses Filament zulässig " +"ist. Begrenzt die maximale volumetrische Geschwindigkeit eines Drucks auf " +"das Minimum von Druck- und Filament-Volumengeschwindigkeit. Wird auf Null " +"gesetzt, wenn es keine Begrenzung gibt." -#: xs/src/slic3r/GUI/GUI.cpp:908 -msgid "Purging volumes" -msgstr "Reinigungsvolumen" +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "mm³/s" -#: xs/src/libslic3r/PrintConfig.cpp:1807 -msgid "Purging volumes - load/unload volumes" -msgstr "Reinigungsvolumen - Lade-/Entladevolumen" +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "Ladegeschwindigkeit" -#: xs/src/libslic3r/PrintConfig.cpp:1815 -msgid "Purging volumes - matrix" -msgstr "Reinigungsvolumen - Matrix" +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "" +"Geschwindigkeit, mit der Filament auf dem Reinigungsturm geladen wird. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Q&uick Slice…\tCtrl+U" -msgstr "Q&uick Slice…\tCtrl+U" +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:335 -msgid "Quality (slower slicing)" -msgstr "Qualität (langsameres Slicen)" +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" -msgstr "Quick Slice und Speichern &unter…\tCtrl+Alt+U" +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "Entladegeschwindigkeit" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "Quit Slic3r" -msgstr "Slic3r beenden" +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " +msgstr "" +"Geschwindigkeit, mit der Filament auf dem Reinigungsturm entladen wird " +"(betrifft nicht den ersten Teil des Entladens direkt nach dem Rammen). " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:331 -msgid "Radius" -msgstr "Radius" +#: src/libslic3r/PrintConfig.cpp:590 +msgid "Unloading speed at the start" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:380 -msgid "Raft" -msgstr "Raft" +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1029 -msgid "Raft layers" -msgstr "Raft Schichten" +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "Verzögerung nach dem Entladen" -#: xs/src/slic3r/GUI/Tab.cpp:1319 -msgid "Ramming" -msgstr "Rammen" +#: src/libslic3r/PrintConfig.cpp:600 +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. " +msgstr "" +"Wartezeit, nachdem das Filament entladen wurde. Dies kann zu zuverlässigeren " +"Werkzeugwechseln beitragen bei flexiblen Materialien, die mehr Zeit zum " +"Schrumpfen auf ihre ursprüngliche Grösse brauchen. " -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:14 -msgid "Ramming customization" -msgstr "Einstellungen für das Rammen" +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/libslic3r/PrintConfig.cpp:611 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." +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " 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." - -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:90 -msgid "Ramming line spacing" -msgstr "Abstand der Rammlinien" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:88 -msgid "Ramming line width" -msgstr "Breite der Rammlinie" +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:486 -msgid "Ramming parameters" -msgstr "Rammparameter" +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1321 -msgid "Ramming settings" -msgstr "Einstellungen für das Rammen" +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Re-configure" -msgstr "Neu konfigurieren" +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:297 -msgid "Ready" -msgstr "Fertig" +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear" -msgstr "Hinten" +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear View" -msgstr "Ansicht von Hinten" +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:262 -#, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "Empfohlene Stärke der dünnen Wände des Objekts für die Schichthöhe %.2f und " +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:245 -msgid "Recommended object thin wall thickness: Not available due to invalid layer height." -msgstr "Empfohlene Stärke der dünnen Wände des Objekts: Nicht verfügbar wegen unzulässiger Schichthöhe." +#: src/libslic3r/PrintConfig.cpp:651 +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:46 -msgid "Rectangular" -msgstr "Rechteckig" +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" +msgstr "Rammparameter" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:352 -msgid "Reducing printing time" -msgstr "Druckzeit wird verkürzt" +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" +"Diese Zeichenfolge wird vom RammDialog angepasst und enthält für das Rammen " +"spezifische Parameter " -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload from Disk" -msgstr "Von Festplatte neu laden" +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload the selected file from Disk" -msgstr "Ausgewählte Datei von Festplatte neu laden" +#: src/libslic3r/PrintConfig.cpp:668 +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:27 -msgid "Remember output directory" -msgstr "Ausgabeverzeichnis merken" +#: src/libslic3r/PrintConfig.cpp:677 +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 "" +"Geben Sie hier Ihren Filamentdurchmesser ein. Eine hohe Genauigkeit ist " +"erforderlich, also verwenden Sie einen Messschieber und führen Sie mehrere " +"Messungen entlang des Filaments durch, um dann den Mittelwert zu berechnen." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -msgid "Remove" -msgstr "Entfernen" +#: src/libslic3r/PrintConfig.cpp:685 +msgid "Density" +msgstr "Dichte" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "remove" -msgstr "Entfernen" +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "" +"Geben Sie hier Ihre Filamentdichte ein. Dies dient ausschließlich " +"statistischen Zwecken. Ein vernünftiger Weg ist es, eine bekannte " +"Filamentlänge zu wiegen und das Verhältnis von Länge zu Volumen zu " +"berechnen. Besser ist es, das Volumen direkt durch Verdrängung zu berechnen." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Remove one copy of the selected object" -msgstr "Eine Kopie des ausgewählten Objekts entfernen" +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "g/cm³" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Remove the selected object" -msgstr "Ausgewähltes Objekt entfernen" +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "Filament Typ" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:217 -msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)" -msgstr "Benutzerprofile entfernen - von Grund auf neu installieren (eine Momentaufnahme wird vorab erstellt)" +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Repair" -msgstr "Reparieren" +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "Lösliches Material" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Repair STL file…" -msgstr "STL-Datei reparieren…" +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "Lösliches Material wird meistens für lösliche Stützen verwendet." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "Repeat last quick slice" -msgstr "Letzten Quick Slice wiederholen" +#: src/libslic3r/PrintConfig.cpp:719 +msgid "" +"Enter your filament cost per kg here. This is only for statistical " +"information." +msgstr "" +"Geben Sie hier Ihre Filamentkosten pro kg ein. Dies dient ausschließlich " +"statistischen Zwecken." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an Issue" -msgstr "Einen Fehler melden" +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "Kosten/kg" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Einen Fehler in der Slic3r Prusa Edition melden" +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "Füllwinkel" -#: xs/src/slic3r/Utils/PresetUpdater.cpp:514 -#, c-format -msgid "requires min. %s and max. %s" -msgstr "benötigt min. %s und max. %s" +#: src/libslic3r/PrintConfig.cpp:731 +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." +msgstr "" +"Standard-Grundwinkel für die Ausrichtung der Füllung. Hierfür werden " +"Kreuzschraffuren verwendet. Brücken werden mit der besten Richtung gefüllt, " +"die Slic3r erkennen kann, so dass diese Einstellung sie nicht beeinflusst." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:288 -msgid "Rescan" -msgstr "Rescan" +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "Fülldichte" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:995 -msgid "Rescan serial ports" -msgstr "Serielle Schnittstellen nochmals abfragen" +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "Infilldichte. Als Prozentwert von 0% - 100% ausgedrückt." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1039 -msgid "Resolution" -msgstr "Auflösung" +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "Füllmuster" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1057 -msgid "Retract amount before wipe" -msgstr "Einzugslänge vor einer Reinigung" +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "Füllmuster für allgemeines Infill mit niedriger Dichte." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1065 -msgid "Retract on layer change" -msgstr "Bei Schichtwechsel Einziehen" +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1202 -msgid "Retraction" -msgstr "Einzug" +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1051 -msgid "Retraction is not triggered when travel moves are shorter than this length." -msgstr "Der Einzug wird nicht ausgelöst, wenn die Fahrbewegungen kürzer als diese Länge sind." +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1072 -msgid "Retraction Length" -msgstr "Einzugslänge" +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1081 -msgid "Retraction Length (Toolchange)" -msgstr "Einzugslänge (Werkzeugwechsel)" +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1134 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1135 -msgid "Retraction Speed" -msgstr "Einzugsgeschwindigkeit" +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1218 -msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" -msgstr "Einzug, wenn das Werkzeug deaktiviert ist (weiterführende Einstellungen für Multi-Extruder-Einrichtungen)" +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:96 -msgid "Retractions" -msgstr "Einzüge" +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right" -msgstr "Rechts" +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "Erste Schicht" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right View" -msgstr "Ansicht von rechts" +#: src/libslic3r/PrintConfig.cpp:817 +msgid "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." +msgstr "" +"Die Beschleunigung, die Ihr Drucker für die erste Schicht verwendet. Setzen " +"Sie dies auf Null, um die Beschleunigungskontrolle bei der ersten Schicht zu " +"deaktivieren." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate" -msgstr "Drehen" +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." +msgstr "" +"Druckbetttemperatur für die erste Schicht. Setzen Sie diesen Wert auf Null, " +"um die Befehle zur Steuerung der Betttemperatur im Ausgang zu deaktivieren." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate 45° clockwise" -msgstr "45° im Uhrzeigersinn drehen" +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "" +"Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " +"für die erste Druckschicht anzugeben. Sie können damit eine dickere " +"Extrusion für bessere Haftung erzwingen. Falls auf Null belassen, wird die " +"Standard-Extrusionsbreite verwendet. Falls als Prozentwert (z.B. 120%) " +"angegeben, wird dieser ausgehend von der Schichthöhe berechnet." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate 45° counter-clockwise" -msgstr "45° im Gegenuhrzeigersinn drehen" +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "Höhe der ersten Schicht" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate the selected object by 45° clockwise" -msgstr "Drehen Sie das ausgewählte Objekt um 45° mit dem Uhrzeiger" +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "" +"Wenn mit sehr kleinen Schichthöhen gedruckt wird, möchten Sie vielleicht " +"trotzdem eine dickere Bodenschicht drucken, um die Haftung sowie die " +"Toleranz bei nicht perfekt ebenen Druckplatten zu verbessern. Dieser Wert " +"kann als Absolutwert oder als Prozentwert (z.B. 150%) der " +"Standardschichthöhe angegeben werden." + +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "mm oder %" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate the selected object by 45° counter-clockwise" -msgstr "Drehen Sie das ausgewählte Objekt um 45° gegen den Uhrzeiger" +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" +msgstr "Druckgeschwindigkeit der ersten Schicht" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate the selected object by an arbitrary angle" -msgstr "Drehen Sie das ausgewählte Objekt um einen beliebigen Winkel" +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "" +"Wird diese Geschwindigkeit als Absolutwert in mm/s angegeben, so wird sie " +"auf alle Druckbewegungen der ersten Lage angewendet, unabhängig von ihrem " +"Typ. In Prozent ausgedrückt (z.B. 40%) skaliert es die voreingestellten " +"Geschwindigkeiten." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Rotate the selected object by an arbitrary angle around X axis" -msgstr "Drehen Sie das ausgewählte Objekt um einen beliebigen Winkel um die X-Achse" +#: src/libslic3r/PrintConfig.cpp:872 +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 "" +"Extrudertemperatur für die erste Schicht. Wenn Sie die Temperatur während " +"des Druckvorgangs manuell regeln möchten, setzen Sie diesen Wert auf Null, " +"um die Temperatursteuerbefehle in der Ausgabedatei zu deaktivieren." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Rotate the selected object by an arbitrary angle around Y axis" -msgstr "Drehen Sie das ausgewählte Objekt um einen beliebigen Winkel um die Y-Achse" +#: src/libslic3r/PrintConfig.cpp:882 +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." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Rotate the selected object by an arbitrary angle around Z axis" -msgstr "Drehen Sie das ausgewählte Objekt um einen beliebigen Winkel um die Z-Achse" +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "Ausführlicher G-Code" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:211 xs/src/slic3r/GUI/GUI.cpp:399 -#, c-format -msgid "Run %s" -msgstr "%s ausführen" +#: src/libslic3r/PrintConfig.cpp:891 +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." +msgstr "" +"Aktivieren Sie diese Option, um eine kommentierte G-Code-Datei zu erhalten, " +"wobei jede Zeile durch einen beschreibenden Text erklärt wird. Wenn Sie von " +"einer SD-Karte drucken, kann die zusätzliche Dateigröße dazu führen, dass " +"Ihre Firmware langsamer wird." -#: xs/src/slic3r/GUI/RammingChart.cpp:81 xs/src/slic3r/GUI/RammingChart.cpp:86 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -#: xs/src/libslic3r/PrintConfig.cpp:480 -msgid "s" -msgstr "s" +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "G-Code Typ" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid "Save " -msgstr "Speichern " +#: src/libslic3r/PrintConfig.cpp:900 +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 "" +"Einige G/M-Code-Befehle, einschließlich Temperatursteuerung und andere, sind " +"nicht universell. Stellen Sie diese Option auf die Firmware Ihres Druckers " +"ein, um eine kompatible Ausgabe zu erhalten. Die Eigenschaft \"Keine " +"Extrusion\" verhindert, dass Slic3r überhaupt einen Extrusionswert " +"exportiert." + +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:605 -msgid "Save configuration as:" -msgstr "Konfiguration speichern unter:" +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:50 -msgid "Save current " -msgstr "Aktuell sichern " +#: src/libslic3r/PrintConfig.cpp:930 +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 "" -#: lib/Slic3r/GUI/Plater.pm:1399 -msgid "Save G-code file as:" -msgstr "Speichere G-Code Datei als:" +#: src/libslic3r/PrintConfig.cpp:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "" +"Diese Stellung bestimmt die Beschleunigung des Druckers für Infill. Setzen " +"Sie dies auf Null, um die Beschleunigungskontrolle für Infill zu " +"deaktivieren." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:580 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "Speichern als OBJ-Datei (weniger anfällig für Koordinatenfehler als STL):" +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "Infill kombinieren alle" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:248 -msgid "Save preset" -msgstr "Sichern der Voreinstellung" +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" +"Diese Einstellung erlaubt es, Infill zu kombinieren und die Druckdauer zu " +"verringern, indem dickere Infill-Schichten gedruckt werden, während " +"gleichzeitig dünne Aussenschichten und damit die Genauigkeit erhalten " +"bleiben." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:646 -msgid "Save presets bundle as:" -msgstr "Sichern der Voreinstellungssammlung unter:" +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "Kombiniere das Infill all n Schichten" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -msgid "Scale" -msgstr "Skalieren" +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "Infill Extruder" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -msgid "Scale along " -msgstr "Skalieren entlang " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale the selected object along a single axis" -msgstr "Ausgewähltes Objekt entlang einer einzelnen Achse skalieren" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Scale the selected object along the X axis" -msgstr "Ausgewähltes Objekt entlang der X-Achse skalieren" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Scale the selected object along the XYZ axes" -msgstr "Ausgewähltes Objekt entlang der XYZ-Achsen skalieren" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Scale the selected object along the Y axis" -msgstr "Ausgewähltes Objekt entlang der Y-Achse skalieren" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Scale the selected object along the Z axis" -msgstr "Ausgewähltes Objekt entlang der Z-Achse skalieren" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale to size" -msgstr "Auf Größe skalieren" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:187 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:203 -msgid "Scale…" -msgstr "Skalieren…" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1151 -msgid "Seam position" -msgstr "Nahtposition" +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "Extruder der beim Infill benutzt wird." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1172 -msgid "Seam preferred direction" -msgstr "Bevorzugte Richtung für Nähte" +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" +"Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " +"für den Infill anzugeben. Falls auf Null belassen, wird die Standard-" +"Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser " +"der Druckdüse x 1,125 verwendet. Dickere Extrusionsbreiten sind vorteilhaft, " +"um den Infill zu beschleunigen und um die Teile stärker zu machen. Falls als " +"Prozentwert (z.B. 90%) angegeben, wird dieser ausgehend von der Schichthöhe " +"berechnet." + +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "Infill vor Kontur" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1182 -msgid "Seam preferred direction jitter" -msgstr "Bevorzugte Zitterrichtung für Nähte" +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "" +"Diese Einstellungen kehrt die Druckreihenfolge von Aussenschichten und " +"Infill um, sodass der Infill zuerst gedruckt wird." -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 -msgid "Searching for devices" -msgstr "Es wird nach Geräten gesucht" +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "Infill nur wo es notwendig ist drucken" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Select &Controller Tab\tCtrl+T" -msgstr "Reiter \"&Controller\" auswählen\tCtrl+T" +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "" +"Diese Einstellung beschränkt den Infill auf die Bereiche, die tatsächlich " +"für das Stützen von Decken benötigt werden (der Infill dient hier als " +"internes Stützmaterial). Falls aktiviert, kann dies die Erstellung des G-" +"Codes wegen zusätzlichen Kontrollschritten verlangsamen." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Select &Filament Settings Tab\tCtrl+3" -msgstr "Reiter \"&Filamenteinstellungen\" auswählen\tCtrl+3" +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "Infill/Kontur Überlappung" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Select &Plater Tab\tCtrl+1" -msgstr "Reiter \"Druck&platte\" auswählen\tCtrl+1" +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" +"Diese Einstellung fügt eine zusätzliche Überlappung zwischen Aussenschichten " +"und Infill ein, um die Haftung zu verbessern. Theoretisch sollte dies nicht " +"notwendig sein, doch vorhandenes Getriebespiel könnte Lücken erzeugen. Als " +"Prozentwert eingegeben (z.B. 15%) wird sie ausgehend von der " +"Extrusionsbreite für die Aussenschicht ausgerechnet." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:103 -msgid "Select all" -msgstr "Alles auswählen" +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "Druckgeschwindigkeit für den Infill. Für Automatik auf Null setzen." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:623 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:667 -msgid "Select configuration to load:" -msgstr "Konfiguration zum Laden auswählen:" +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "Übernimmt Profil" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:104 -msgid "Select none" -msgstr "Auswahl aufheben" +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "Name des Profils, von dem dieses Profil abgeleitet wurde." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Select P&rint Settings Tab\tCtrl+2" -msgstr "Reiter \"D&ruckeinstellungen\" auswählen\tCtrl+2" +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "Schnittstellenshells" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Select Print&er Settings Tab\tCtrl+4" -msgstr "Reiter \"Druck&ereinstellungen\" auswählen\tCtrl+4" +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material." +msgstr "" +"Erzwingt die Erzeugung von festen Schalen zwischen benachbarten Materialien/" +"Volumina. Geeignet für Multiextruderdrucke mit transluzenten Materialien " +"oder manuell löslichen Trägermaterialien." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Select the language" -msgstr "Wählen Sie die Sprache aus" +#: src/libslic3r/PrintConfig.cpp:1043 +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 "" +"Dieser benutzerdefinierte Code wird bei jedem Schichtwechsel eingefügt, " +"direkt nach der Z-Bewegung und bevor der Extruder zum ersten Lagenpunkt " +"fährt. Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-" +"Einstellungen sowie [layer_num] und [layer_z] verwenden können." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1667 -msgid "Select the printers this profile is compatible with." -msgstr "Wählen Sie die Drucker aus, die mit diesem Profil kompatibel sind." +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:566 -msgid "Select the STL file to repair:" -msgstr "Geben Sie die STL-Datei an, die repariert werden soll:" +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" -#: xs/src/slic3r/GUI/GUI.cpp:882 -msgid "Select what kind of support do you need" -msgstr "Wählen Sie aus, welche Art von Unterstützung Sie benötigen" +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:239 -msgid "Send to printer" -msgstr "Zum Drucker senden" +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1448 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "Datei mit G-Code zum OctoPrint-Server senden…" +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:477 -msgid "Sequential printing" -msgstr "Sequentielles Drucken" +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:990 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1193 -msgid "Serial port" -msgstr "Serieller Port" +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1202 -msgid "Serial port speed" -msgstr "Serielle Portgeschwindigkeit" +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:286 -msgid "Serial port:" -msgstr "Serieller Port:" +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 -msgid "Service name" -msgstr "Name des Dienstes" +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Set number of copies…" -msgstr "Anzahl der Kopien angeben…" +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:398 -msgid "Set the shape of your printer's bed." -msgstr "Stellen Sie die Konturen Ihres Druckerbettes ein." +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:378 -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." -msgstr "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite zuzulassen. Falls auf Null belassen, wird Slic3r die Extrusionsbreiten vom Durchmesser der Druckdüse ableiten (siehe die Hilfstexte für die Extrusionsbreite für Aussenschichten, Infill usw.). Falls als Prozentwert (z.B. 230%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:269 -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." -msgstr "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite für externe Aussenschichten anzugeben. Falls auf Null belassen, wird die Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser der Druckdüse x 1,125 verwendet. Falls als Prozentwert (z.B. 200%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:593 -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." -msgstr "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite für die erste Druckschicht anzugeben. Sie können damit eine dickere Extrusion für bessere Haftung erzwingen. Falls auf Null belassen, wird die Standard-Extrusionsbreite verwendet. Falls als Prozentwert (z.B. 120%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "Max" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1293 -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." -msgstr "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite für den Infill bei stabilen Flächen anzugeben. Falls auf Null belassen, wird die Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser der Druckdüse x 1,125 verwendet. Falls als Prozentwert (z.B. 90%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "Diese Einstellung bestimmt die maximale Geschwindigkeit Ihres Lüfters." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1615 -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." -msgstr "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite für die oberen Aussenflächen anzugeben. Dünnere Extrusionsbreiten sind vorteilhaft, um Engstellen auszufüllen und um eine schönere Oberfläche zu erhalten. Falls auf Null belassen, wird die Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser der Druckdüse verwendet. Falls als Prozentwert (z.B. 90%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "" +"Dies ist die höchste druckbare Schichthöhe für diesen Extruder, mit der die " +"variable Schichthöhe und Stützschichthöhe abgedeckt wird. Die maximale " +"empfohlene Schichthöhe beträgt 75% der Extrusionsbreite, um eine angemessene " +"Zwischenlagenhaftung zu erreichen. Bei Einstellung auf 0 ist die Lagenhöhe " +"auf 75% des Düsendurchmessers begrenzt." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:711 -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." -msgstr "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite für den Infill anzugeben. Falls auf Null belassen, wird die Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser der Druckdüse x 1,125 verwendet. Dickere Extrusionsbreiten sind vorteilhaft, um den Infill zu beschleunigen und um die Teile stärker zu machen. Falls als Prozentwert (z.B. 90%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "Maximale Druckgeschwindigkeit" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:968 -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." -msgstr "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite für Aussenschichten anzugeben. Dünnere Extrusionsbreiten sind vorteilhaft, um genauere Oberflächen zu erhalten. Falls auf Null belassen, wird die Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser der Druckdüse x 1,125 verwendet. Falls als Prozentwert (z.B. 200%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "" +"Wenn andere Geschwindigkeitseinstellungen auf Null gesetzt wurden, wird " +"Slic3r die optimale Geschwindigkeit automatisch berechnen, um den " +"Extruderdruck konstant zu halten. Diese experimentelle Einstellung erlaubt " +"Ihnen, die höchste zulässige Druckgeschwindigkeit anzugeben." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1455 -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." -msgstr "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite für das Stützmaterial anzugeben. Falls auf Null belassen, wird die Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser der Druckdüse verwendet. Als Prozentwert (z.B. 90%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." +msgstr "" +"Diese experimentelle Einstellung gibt die maximale volumetrische " +"Geschwindigkeit an, die von Ihrem Extruder unterstützt wird." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:332 -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." -msgstr "Stellen Sie dies auf den Freiraumradius um Ihren Extruder ein. Wenn der Extruder nicht zentriert ist, wählen Sie zur Sicherheit den größten Wert. Diese Einstellung wird verwendet, um Kollisionen zu prüfen und die grafische Vorschau auf der Druckplatte anzuzeigen." +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "Max. volumetrische Steigung positiv" -#: xs/src/libslic3r/PrintConfig.cpp:877 -msgid "Set this to the maximum height that can be reached by your extruder while printing." -msgstr "Stellen Sie hier die maximale Höhe ein, die Ihr Extruder beim Drucken erreichen kann." +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "" +"Diese experimentelle Einstellung beschränkt die Änderungsgeschwindigkeit der " +"Extrusionsmenge. Ein Wert von 1.8 mm³/s² gewährleistet, dass eine Änderung " +"der Extrusionsmenge von 1.8 mm³/s (0.45mm Extrusionsbreite, 0.2mm " +"Extrusionshöhe, Vorschub 20 mm/s) zu 5.4 mm³/s (Vorschub 60 mm/s) mindestens " +"2 Sekunden dauern wird." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:321 -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." -msgstr "Stellen Sie dies auf den vertikalen Abstand zwischen Ihrer Düsenspitze und (in der Regel) den X-Wagenstangen ein. Mit anderen Worten, das ist die Höhe des Abstandszylinders um Ihren Extruder herum und stellt die maximale Tiefe dar, die der Extruder vor der Kollision mit anderen Druckobjekten sehen kann." +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "mm³/s²" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:120 -msgid "Settings" -msgstr "Einstellungen" +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" +msgstr "Max. volumetrische Steigung negativ" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:206 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Settings…" -msgstr "Einstellungen…" +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "Min" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:39 -msgid "Shape" -msgstr "Form" +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "" +"Diese Einstellung gibt den minimalen PWM-Wert an, den Ihr Lüfter für den " +"Betrieb benötigt." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:98 -msgid "Shells" -msgstr "Konturhüllen" +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "" +"Dies ist die niedrigste druckbare Schichthöhe für diesen Extruder und " +"begrenzt die Auflösung bei variabler Schichthöhe. Typische Werte liegen " +"zwischen 0,05 mm und 0,1 mm." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:75 -msgid "Show" -msgstr "Anzeigen" +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" +msgstr "Minimale Druckgeschwindigkeit" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show &Configuration Folder" -msgstr "Zeige Konfigurationsordner (&C)" +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "" +"Slic3r wird die Geschwindigkeit nicht unterhalb dieser Geschwindigkeit " +"skalieren." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "Show about dialog" -msgstr "\"Über\"-Dialog anzeigen" +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" +msgstr "Minimale Filament Extrusionlänge" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show advanced settings" -msgstr "Ausführliche Einstellungen anzeigen" +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "" +"Erzeugt nicht weniger als die Anzahl der Schürzenschleifen, die benötigt " +"wird, um die angegebene Menge an Filament auf der unteren Schicht zu " +"verbrauchen. Bei Multiextruder-Maschinen gilt dieses Minimum für jeden " +"Extruder." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:67 -msgid "Show incompatible print and filament presets" -msgstr "Inkompatible Druck- und Filamenteinstellungen anzeigen" +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "Konfigurationsnotizen" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show simplified settings" -msgstr "Vereinfachte Einstellungen anzeigen" +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"Sie können hier Ihre persönlichen Notizen eingeben. Der Text wird dem " +"Header vom G-Code hinzugefügt." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "Show system information" -msgstr "Systeminformationen anzeigen" +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "Düsendurchmesser" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Show the filament settings" -msgstr "Filamenteinstellungen anzeigen" +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgstr "Durchmesser der Extruderdüse (z.B.: 0.5, 0.35 usw.)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Show the plater" -msgstr "Druckplatte anzeigen" +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Show the print settings" -msgstr "Druckeinstellungen anzeigen" +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Show the printer controller" -msgstr "Drucker-Controller anzeigen" +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Show the printer settings" -msgstr "Druckereinstellungen anzeigen" +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show user configuration folder (datadir)" -msgstr "Zeige User Konfiguration Ordner (datadir)" +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "Hostname, IP oder URL" -#: xs/src/slic3r/GUI/Tab.cpp:1716 xs/src/slic3r/GUI/Tab.cpp:1722 -msgid "Single extruder MM setup" -msgstr "Einzelner Extruder MM Setup" +#: src/libslic3r/PrintConfig.cpp:1318 +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." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1373 -msgid "Single Extruder Multi Material" -msgstr "Einzelner Extruder mit Multi-Material" +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "Nur bei Umfangsüberquerungen einziehen" -#: xs/src/slic3r/GUI/Tab.cpp:1723 -msgid "Single extruder multimaterial parameters" -msgstr "Einzelner Extruder Multimaterial Parameter" +#: src/libslic3r/PrintConfig.cpp:1326 +msgid "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." +msgstr "" +"Deaktiviert den Einzug, wenn der Verfahrweg die Perimeter der oberen Schicht " +"nicht überschreitet (und somit ist der Auslauf wahrscheinlich unsichtbar)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:50 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:408 -msgid "Size" -msgstr "Grösse" +#: src/libslic3r/PrintConfig.cpp:1334 +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 "" +"Mit dieser Option wird die Temperatur der inaktiven Extruder gesenkt, um ein " +"Materialnachsickern zu verhindern. Es aktiviert automatisch eine hohe " +"Schürze und bewegt die Extruder bei Temperaturänderungen ausserhalb dieser " +"Schürze." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:938 -msgid "Size and coordinates" -msgstr "Grösse und Koordinaten" +#: src/libslic3r/PrintConfig.cpp:1342 +msgid "Output filename format" +msgstr "Ausgabe Dateinamen Format" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:51 -msgid "Size in X and Y of the rectangular plate." -msgstr "Grösse der rechteckigen Platte in X und Y." +#: src/libslic3r/PrintConfig.cpp:1343 +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 "" +"Sie können alle Konfigurationsoptionen als Variablen in dieser Vorlage " +"benutzen. Zum Beispiel: [layer_height], [fill_density] usw. Sie können " +"auch [timestamp], [year], [month], [day], [hour], [minute], [second], " +"[version], [input_filename], und [input_filename_base] benutzen." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:365 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:146 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:88 -msgid "Skirt" -msgstr "Schürze" +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "Umfangbrücken entdecken" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:364 -msgid "Skirt and brim" -msgstr "Schürze und Rand" +#: src/libslic3r/PrintConfig.cpp:1355 +msgid "" +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." +msgstr "" +"Experimentelle Option zur Anpassung des Durchflusses für Überhänge " +"(Brückenvolumenfluss wird verwendet), zur Anwendung der " +"Brückengeschwindigkeit und zur Aktivierung des Lüfters." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1221 -msgid "Skirt height" -msgstr "Schürzenhöhe" +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" +msgstr "Filament Parkposition" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1230 -msgid "Skirt Loops" -msgstr "Schleifen für die Schürze" +#: src/libslic3r/PrintConfig.cpp:1363 +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 "" +"Abstand der Extruderspitze von der Position, an der das Filament beim " +"Entladen abgestellt wird. Dies sollte mit dem Wert in der Drucker-Firmware " +"übereinstimmen. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Slic3r &Manual" -msgstr "Slic3r &Handbuch" +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Slic3r &Website" -msgstr "Slic3r &Website" +#: src/libslic3r/PrintConfig.cpp:1373 +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. " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:902 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the API Key required for authentication." -msgstr "Slic3r kann G-Code Dateien zu OctoPrint hochladen. Dieses Feld sollte den API-Schlüssel enthalten, der für die Authentifizierung erforderlich ist." +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "Konturen" -#: xs/src/libslic3r/PrintConfig.cpp:992 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the hostname, IP address or URL of the OctoPrint instance." -msgstr "Slic3r kann G-Code Dateien zu OctoPrint hochladen. Dieses Feld sollte den Hostnamen, die IP-Adresse oder die URL des OctoPrint-Servers enthalten." +#: src/libslic3r/PrintConfig.cpp:1383 +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 "" +"Dies ist die Beschleunigung, die der Drucker für Aussenschichten benutzen " +"wird. Ein hoher Wert wie 9000 ergibt üblicherweise gute Resultate falls Ihre " +"Hardware mithalten kann. Setzen Sie dies auf Null, um die " +"Beschleunigungskontrolle bei Aussenschichten zu deaktivieren." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r configuration is incompatible" -msgstr "Slic3r Konfiguration ist nicht kompatibel" +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "Umfang Extruder" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:929 -msgid "Slic3r Error" -msgstr "Slic3r Fehler" +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "" +"The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "" +"Extruder der beim Umfang und Rand Drucken benutzt werden soll. Der erste " +"Extruder ist 1." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r error" -msgstr "Slic3r Fehler" +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "" +"Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " +"für Aussenschichten anzugeben. Dünnere Extrusionsbreiten sind vorteilhaft, " +"um genauere Oberflächen zu erhalten. Falls auf Null belassen, wird die " +"Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der " +"Durchmesser der Druckdüse x 1,125 verwendet. Falls als Prozentwert (z.B. " +"200%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." + +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "" +"Geschwindigkeit für Aussenschichten (Konturen, bzw. vertikale Hüllen). Für " +"Automatik auf Null setzen." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r has encountered an error" -msgstr "Slic3r ist auf einen Fehler gestoßen" +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "" +"Diese Stellung bestimmt die Anzahl der Aussenschichten, die für jede Schicht " +"erzeugt werden. Slic3r kann diese Zahl automatisch vergrössern, wenn es " +"schräge Oberflächen erkennt, die sich mit einer höheren Zahl von " +"Aussenschichten besser drucken lassen, wenn die \"Zusätzliche " +"Aussenschichten falls notwendig\" Option aktiviert ist." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r incompatibility" -msgstr "Slic3r-Inkompatibilität" +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "(Minimum)" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 -#, c-format +#: src/libslic3r/PrintConfig.cpp:1439 msgid "" -"Slic3r PE 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." +"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 "" -"Slic3r PE 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." +"Wenn Sie den Ausgabe-G-Code durch eigene Skripte verarbeiten wollen, geben " +"Sie hier einfach die absoluten Pfade an. Trennen Sie mehrere Skripte durch " +"ein Semikolon. Skripten werden als erstes Argument die absoluten Pfad zur G-" +"Code-Datei übergeben, und sie können auf die Slic3r-" +"Konfigurationseinstellungen zugreifen, indem sie Umgebungsvariablen lesen." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 -msgid "slic3r version" -msgstr "Slic3r Version" +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "Druckertyp" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:867 -msgid "Slic3r will not scale speed down below this speed." -msgstr "Slic3r wird die Geschwindigkeit nicht unterhalb dieser Geschwindigkeit skalieren." +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." +msgstr "Druckertyp." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Slice a file into a G-code" -msgstr "Datei zu G-Code slicen" +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "Drucker Anmerkungen" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Slice a file into a G-code, save as" -msgstr "Datei zu G-Code slicen, speichern als" +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "Sie können Ihre Bemerkungen zum Drucker hier eingeben." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice file to a multi-layer SVG" -msgstr "Datei zu einem Mehrebenen-SVG slicen" +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" +msgstr "Druckerhersteller" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:237 -msgid "Slice now" -msgstr "Jetzt slicen" +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." +msgstr "Name des Druckerherstellers." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice to SV&G…\tCtrl+G" -msgstr "Slice zu SV&G…\tCtrl+G" +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" +msgstr "Druckervariante" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:438 -msgid "Sliced Info" -msgstr "Slice-Info" +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "" +"Name der Druckervariante. Beispielsweise können die Druckervarianten durch " +"einen Düsendurchmesser unterschieden werden." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1286 -msgid "Slicing cancelled" -msgstr "Der Slice wurde abgebrochen" +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" +msgstr "Raft Schichten" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:550 -msgid "Slicing Done!" -msgstr "Der Slice ist beendet!" +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." +msgstr "" +"Das Objekt wird um diese Anzahl von Schichten angehoben, und darunter wird " +"Trägermaterial erzeugt." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Slicing…" -msgstr "Der Slice wird berechnet…" +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" +msgstr "Auflösung" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1239 -msgid "Slow down if layer print time is below" -msgstr "Langsamer drucken wenn die Schichtdruckzeit geringer ist als" +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "" +"Minimale Detailauflösung, die verwendet wird, um die Eingabedatei zu " +"vereinfachen, um den Slicingjob zu beschleunigen und den Speicherverbrauch " +"zu reduzieren. Hochauflösende Modelle weisen oft mehr Details auf, als der " +"Drucker wiedergeben kann. Setzen Sie den Wert auf Null, um die Vereinfachung " +"zu deaktivieren und die volle Auflösung des Eingangsdatei zu verwenden." + +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" +msgstr "Minimalbewegung nach Einziehen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1250 -msgid "Small perimeters" -msgstr "Dünne Aussenschichten" +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "" +"Retraction is not triggered when travel moves are shorter than this length." +msgstr "" +"Der Einzug wird nicht ausgelöst, wenn die Fahrbewegungen kürzer als diese " +"Länge sind." -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Snapshot name" -msgstr "Name der Momentaufnahme" +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" +msgstr "Einzugslänge vor einer Reinigung" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:179 -msgid "solid infill" -msgstr "Stabiles Infill" +#: src/libslic3r/PrintConfig.cpp:1515 +msgid "" +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." +msgstr "" +"Bei Bowden-Extrudern kann es ratsam sein, vor der Reinigungsbewegung einen " +"kurzen Einzug auszuführen." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1291 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1301 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:142 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:84 -msgid "Solid infill" -msgstr "Stabiles Infill" +#: src/libslic3r/PrintConfig.cpp:1523 +msgid "Retract on layer change" +msgstr "Bei Schichtwechsel Einziehen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1279 -msgid "Solid infill every" -msgstr "Massives Infill alle" +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "Diese Stellung erzwingt einen Einzug bei jeder Z-Bewegung." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1271 -msgid "Solid infill extruder" -msgstr "Massives Infill Extruder" +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "Länge" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1262 -msgid "Solid infill threshold area" -msgstr "Massives Infill Flächen Schwellwert" +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "Einzugslänge" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:330 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1314 -msgid "Solid layers" -msgstr "Kompakte Schichten" +#: src/libslic3r/PrintConfig.cpp:1532 +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 "" +"Wenn der Einzug ausgelöst wird, wird das Filament um diese Länge " +"eingezogen. (Die Länge wird am unverarbeiteten Filament vor dem Extruder " +"gemessen)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:470 -msgid "Soluble material" -msgstr "Lösliches Material" +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "mm (Null eingeben zum deaktivieren)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:471 -msgid "Soluble material is most likely used for a soluble support." -msgstr "Lösliches Material wird meistens für lösliche Stützen verwendet." +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "Einzugslänge (Werkzeugwechsel)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:653 -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 "Einige G/M-Code-Befehle, einschließlich Temperatursteuerung und andere, sind nicht universell. Stellen Sie diese Option auf die Firmware Ihres Druckers ein, um eine kompatible Ausgabe zu erhalten. Die Eigenschaft \"Keine Extrusion\" verhindert, dass Slic3r überhaupt einen Extrusionswert exportiert." +#: src/libslic3r/PrintConfig.cpp:1541 +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 "" +"Wenn der Einzug vor dem Werkzeugwechsel ausgelöst wird, wird das Filament um " +"diese Länge eingezogen. (Die Länge wird am unverarbeiteten Filament vor dem " +"Extruder gemessen)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1682 -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." +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" +msgstr "Z Hebung" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1490 -msgid "Spacing between interface lines. Set zero to get a solid interface." -msgstr "Abstand zwischen den Schnittstellenlinien. Auf Null stellen, um ein solides Interface zu erhalten." +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" +"Wenn Sie diesen Wert auf einen positiven Wert setzen, wird Z bei jedem " +"Auslösen eines Einzugs schnell angehoben. Bei Verwendung mehrerer Extruder " +"wird nur die Einstellung für den ersten Extruder berücksichtigt." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1526 -msgid "Spacing between support material lines." -msgstr "Abstand zwischen Stützmateriallinien." +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "Über Z" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:398 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:278 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:635 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:747 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:979 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1201 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1251 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1302 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1625 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:71 -msgid "Speed" -msgstr "Geschwindigkeit" +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" +msgstr "Z nur Anheben über" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1203 -msgid "Speed (baud) of USB/serial port for printer connection." -msgstr "Geschwindigkeit (baud) des USB/seriellen Ports für den Drucker Anschluß." +#: src/libslic3r/PrintConfig.cpp:1561 +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 "" +"Wenn Sie diesen Wert auf einen positiven Wert setzen, erfolgt der Z-Hub nur " +"oberhalb des angegebenen absoluten Z-Wertes. Sie können diese Einstellung " +"für das Auslassen von Z-Hüben auf den ersten Ebenen einstellen." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:336 -msgid "Speed (mm/s)" -msgstr "Geschwindigkeit (mm/s)" +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" +msgstr "Unter Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:636 -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." +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "Z anheben nur unter" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:411 -msgid "Speed for non-print moves" -msgstr "Geschwindigkeit für Bewegungen zwischen den Druckvorgängen" +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" +"Wenn Sie diesen Wert auf einen positiven Wert setzen, erfolgt der Z-Hub nur " +"unterhalb des angegebenen absoluten Z-Wertes. Sie können diese Einstellung " +"so einstellen, dass der Z-Hub auf die ersten Lagen begrenzt wird." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:980 -msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." -msgstr "Geschwindigkeit für Aussenschichten (Konturen, bzw. vertikale Hüllen). Für Automatik auf Null setzen." +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "Extra Länge bei Neustart" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:399 -msgid "Speed for print moves" -msgstr "Geschwindigkeit für Druckbewegungen" +#: src/libslic3r/PrintConfig.cpp:1581 +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 "" +"Wenn der Einzug nach der Zwischenbewegung kompensiert wurde, wird der " +"Extruder diese zusätzliche Menge an Filament ausgeben. Diese Einstellung " +"wird selten benötigt." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:119 -msgid "Speed for printing bridges." -msgstr "Brückendruckgeschwindigkeit." +#: src/libslic3r/PrintConfig.cpp:1590 +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "" +"Wenn der Einzug nach dem Werkzeugwechsel kompensiert wurde, wird der " +"Extruder diese zusätzliche Menge an Filament ausgeben." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1303 -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 stabile 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." +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "Einzugsgeschwindigkeit" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1499 -msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." -msgstr "Geschwindigkeit für den Druck von Trägermaterial-Schnittstellenschichten. Wenn es als Prozentsatz (z.B. 50%) ausgedrückt wird, wird es über die Geschwindigkeit des Trägermaterials berechnet." +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "Die Einzugsgeschwindigkeit (sie betrifft nur den Extruderantrieb)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1535 -msgid "Speed for printing support material." -msgstr "Druckgeschwindigkeit des Stützmaterials." +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "Wiedereinzugsgeschwindigkeit" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:748 -msgid "Speed for printing the internal fill. Set to zero for auto." -msgstr "Druckgeschwindigkeit für den Infill. Für Automatik auf Null setzen." +#: src/libslic3r/PrintConfig.cpp:1609 +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 "" +"Die Geschwindigkeit, mit der ein Filament nach dem Einzug wieder in den " +"Extruder vorgeschoben wird. Falls Null, wird die Einzugsgeschwindigkeit " +"verwendet." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1626 -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." -msgstr "Druckgeschwindigkeit für die oberen stabilen Schichten (betrifft nur die obersten Aussenschichten und nicht deren innenliegende stabilen Schichten). Wir empfehlen, diesen Wert zu reduzieren, um eine schönere Oberfläche zu erhalten. Dies kann als Prozentwert (z.B. 80%) der oben eingegebenen Geschwindigkeit für stabiles Infill angegeben werden. Für Automatik auf Null setzen." +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" +msgstr "Nahtposition" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1648 -msgid "Speed for travel moves (jumps between distant extrusion points)." -msgstr "Bewegungsgeschwindigkeit (zwischen weit entfernten Extrusionsorten)." +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "Position des Startpunktes des Umfangs." -#: xs/src/libslic3r/PrintConfig.cpp:460 -msgid "Speed used for loading the filament on the wipe tower. " -msgstr "Geschwindigkeit, mit der Filament auf dem Reinigungsturm geladen wird. " +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:468 -msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming). " -msgstr "Geschwindigkeit, mit der Filament auf dem Reinigungsturm entladen wird (betrifft nicht den ersten Teil des Entladens direkt nach dem Rammen). " +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1322 -msgid "Spiral vase" -msgstr "Spiralvasenmodus" +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:540 -msgid "Spiral Vase" -msgstr "Spiralvase" +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:188 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:204 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split" -msgstr "Trennen" +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "Richtung" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split the selected object into individual parts" -msgstr "Ausgewähltes Objekt in Einzelteile trennen" +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "Bevorzugte Richtung für die Naht" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:847 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1342 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1357 -msgid "Start G-code" -msgstr "Start G-Code" +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "Bevorzugte Richtung für Nähte" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "Start new slicing process" -msgstr "Neuen Slicing-Prozess starten" +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "Jitter" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:296 -msgid "Status:" -msgstr "Status:" +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "Bevorzugte Zitterrichtung für Nähte" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1539 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1581 -msgid "STL file exported to " -msgstr "Die STL-Datei wurde exportiert zu " +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "Bevorzugte Zitterrichtung für die Naht" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Success!" -msgstr "Erfolg!" +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "USB-/serielle Schnittstelle für den Druckeranschluss." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:198 -msgid "support" -msgstr "Stützen" +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "Serielle Portgeschwindigkeit" -#: xs/src/slic3r/GUI/GUI.cpp:879 -msgid "Support" -msgstr "Stützen" +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." +msgstr "" +"Geschwindigkeit (baud) des USB/seriellen Ports für den Drucker Anschluß." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:620 -msgid "Support Generator" -msgstr "Generator für die Stützen" +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "Abstand vom Objekt" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:208 -msgid "support interface" -msgstr "Schnittstelle zu den Stützen" +#: src/libslic3r/PrintConfig.cpp:1680 +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 "" +"Distanz zwischen Schürze und Objekt. Auf Null stellen um die Schürze an das " +"Objekt zu verbinden und einen Rand für bessere Haftung zu generieren." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:374 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:375 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:191 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1030 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1380 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1387 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1399 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1409 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1417 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1432 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1453 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1464 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1480 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1489 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1498 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1509 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1525 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1533 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1534 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1543 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1551 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1565 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:147 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:89 -msgid "Support material" -msgstr "Stützmaterial" +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "Schürzenhöhe" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1497 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:148 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:90 -msgid "Support material interface" -msgstr "Schnittstelle zum Stützmaterial" +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." +msgstr "" +"Höhe der Schürze in Schichten. Eine hohe Schürze kann gegen Zugluft " +"schützen." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1552 -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)." -msgstr "Für Überhänge, deren Neigungswinkel (90° = vertikal) oberhalb der vorgegebenen Schwelle liegt, wird kein Stützmaterial erzeugt. Mit anderen Worten, dieser Wert stellt die größte horizontale Steigung (gemessen von der horizontalen Ebene) dar, die Sie ohne Trägermaterial drucken können. Für die automatische Erkennung auf Null setzen (empfohlen)." +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" +msgstr "Schleifen (minimal)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1470 -msgid "Support material/raft interface extruder" -msgstr "Stützmaterial/Raft Schnittstellen Extruder" +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "Schleifen für die Schürze" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1444 -msgid "Support material/raft/skirt extruder" -msgstr "Stützmaterial/Raft/Schürzen Extruder" +#: src/libslic3r/PrintConfig.cpp:1699 +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 "" +"Anzahl der Schleifen für die Schürze. Wenn die Option Minimale " +"Extrusionslänge gesetzt ist, kann die Anzahl der Schleifen größer sein als " +"die hier konfigurierte. Setzen Sie diesen Wert auf Null, um die Schürze " +"komplett zu deaktivieren." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1408 -msgid "Support on build plate only" -msgstr "Stützmaterial nur auf dem Druckbrett" +#: src/libslic3r/PrintConfig.cpp:1708 +msgid "Slow down if layer print time is below" +msgstr "Langsamer drucken wenn die Schichtdruckzeit geringer ist als" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:617 +#: src/libslic3r/PrintConfig.cpp:1709 msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +"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 "" -"Stützen funktionieren besser, falls die folgende Option aktiviert ist:\n" -"- Aussenschichten von Überbrückungen erkennen\n" -"\n" -"Soll ich diese Einstellung für die Stützen anpassen?" +"Wenn die Druckzeit der Ebene unter dieser Anzahl von Sekunden liegt, wird " +"die Geschwindigkeit des Druckvorgangs verringert, um die Zeitdauer auf " +"diesen Wert zu verlängern." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:59 -msgid "Suppress \" - default - \" presets" -msgstr "\"Standard\"-Einstellungen unterdrücken" +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" +msgstr "Dünne Aussenschichten" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:61 -msgid "Suppress \" - default - \" presets in the Print / Filament / Printer selections once there are any other valid presets available." -msgstr "\"Standard\"-Einstellungen in den Auswahlen für Druck / Filament / Drucker unterdrücken, falls andere gültige Voreinstellungen vorhanden sind." +#: src/libslic3r/PrintConfig.cpp:1722 +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 "" +"Diese separate Einstellung wirkt sich auf die Geschwindigkeit von " +"Aussenschichten mit einem Radius <= 6,5 mm (üblicherweise Bohrungen) aus. " +"Als Prozentwert eingegeben (z.B. 80%), wird sie ausgehend von der obigen " +"Geschwindigkeitseinstellung für Aussenschichten berechnet. Für eine " +"automatische Berechnung setzen Sie dies auf Null." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "SVG" -msgstr "SVG" +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" +msgstr "Massives Infill Flächen Schwellwert" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:325 +#: src/libslic3r/PrintConfig.cpp:1734 msgid "" -"Switching to simple settings will discard changes done in the advanced mode!\n" -"\n" -"Do you want to proceed?" +"Force solid infill for regions having a smaller area than the specified " +"threshold." msgstr "" -"Das Umschalten auf einfache Einstellungen verwirft die im erweiterten Modus vorgenommenen Änderungen!\n" -"\n" -"Wollen Sie fortfahren?" +"Feste Füllung für Bereiche, die eine kleinere Fläche als die angegebene " +"Schwelle aufweisen." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1544 -msgid "Synchronize support layers with the object print layers. This is useful with multi-material printers, where the extruder switch is expensive." -msgstr "Stützschichten mit den Druckschichten des Objekts synchronisieren. Dies ist nützlich bei Multi-Material-Druckern, bei denen der Wechsel des Extruders kostenaufwendig ist." +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" +msgstr "mm²" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1542 -msgid "Synchronize with object layers" -msgstr "Mit Objektschichten synchronisieren" +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "Massives Infill Extruder" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "System Info" -msgstr "Systeminformationen" +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "Der Extruder der beim Drucken von solidem Infill benutzt werden soll." -#: xs/src/slic3r/GUI/Tab.cpp:2286 xs/src/slic3r/GUI/Tab.cpp:2372 -#: xs/src/slic3r/GUI/Preset.cpp:605 xs/src/slic3r/GUI/Preset.cpp:645 -#: xs/src/slic3r/GUI/Preset.cpp:670 xs/src/slic3r/GUI/Preset.cpp:702 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1069 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1122 lib/Slic3r/GUI/Plater.pm:552 -msgid "System presets" -msgstr "Systemvoreinstellungen" +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "Massives Infill alle" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Take Configuration Snapshot" -msgstr "Erfassen einer Konfigurations-Momentaufnahme" +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "" +"Diese Einstellung erzwingt eine stabile Schicht nach einer vorgegebenen " +"Anzahl von Schichten. Null deaktiviert diese Einstellung. Sie können jeden " +"Wert eingeben (z.B. 9999); Slic3r wird automatisch die grösstmögliche Anzahl " +"von Schichten wählen, die in Abhängigkeit von Düsendurchmesser und " +"Schichthöhe kombiniert werden können." -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Taking configuration snapshot" -msgstr "Ich erfasse eine Momentaufnahme der Konfiguration" +#: src/libslic3r/PrintConfig.cpp:1766 +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." +msgstr "" +"Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " +"für den Infill bei stabilen Flächen anzugeben. Falls auf Null belassen, wird " +"die Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der " +"Durchmesser der Druckdüse x 1,125 verwendet. Falls als Prozentwert (z.B. " +"90%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:794 -msgid "Temperature " -msgstr "Temperatur " +#: src/libslic3r/PrintConfig.cpp:1777 +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 stabile 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." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1576 -msgid "Temperature" -msgstr "Temperatur" +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "" +"Anzahl der zu erzeugenden festen Schichten auf der Ober- und Unterseite." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1333 -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 "Der anzuwendende Temperaturunterschied, wenn kein Extruder aktiv ist. Dies aktiviert eine \"Wegwerf-\"Schürze über die ganze Druckhöhe, auf der die Düsen periodisch gereinigt werden." +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "Spiralvasenmodus" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1332 +#: src/libslic3r/PrintConfig.cpp:1797 +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 "" +"Dieses Verfahren erhöht die Z-Position allmählich, während eine einfache " +"Hülle gedruckt wird, um jeglichen sichtbaren Saum zu vermeiden. Diese Option " +"setzt eine einzige Aussenschicht, keinen Infill, keine stabilen " +"Deckenschichten und keine Stützen voraus. Sie können immer noch eine " +"beliebige Anzahl von Bodenschichten sowie Schleifen für Schürzen und Rand " +"einstellen. Die Methode funktioniert nicht, wenn mehr als ein Objekt " +"gedruckt wird." + +#: src/libslic3r/PrintConfig.cpp:1806 msgid "Temperature variation" msgstr "Temperaturen" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Temperatures" -msgstr "Temperaturen" +#: src/libslic3r/PrintConfig.cpp:1807 +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 "" +"Der anzuwendende Temperaturunterschied, wenn kein Extruder aktiv ist. Dies " +"aktiviert eine \"Wegwerf-\"Schürze über die ganze Druckhöhe, auf der die " +"Düsen periodisch gereinigt werden." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1004 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1072 -msgid "Test" -msgstr "Test" +#: src/libslic3r/PrintConfig.cpp:1818 +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 "" +"Dieser Startvorgang wird am Anfang eingefügt, nachdem das Heizbett die " +"Zieltemperatur erreicht hat und der Extruder gerade erst mit dem Aufheizen " +"begonnen hat, und bevor der Extruder fertig aufgeheizt ist. Falls Slic3r " +"M104 oder M190 in Ihren benutzerdefinierten Codes erkennt, werden solche " +"Befehle nicht automatisch vorangestellt, sodass Sie die Reihenfolge der " +"Heizbefehle und anderer benutzerdefinierter Aktionen anpassen können. " +"Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-Einstellungen " +"verwenden können, sodass Sie einen \"M109 S[first_layer_temperature]\"-" +"Befehl an beliebiger Stelle platzieren können." + +#: src/libslic3r/PrintConfig.cpp:1834 +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 "" +"Dieser Startvorgang wird am Anfang nach dem G-Code für den Druckerstart " +"eingefügt. Damit können Einstellungen für ein bestimmtes Filament " +"übersteuert werden. Falls Slic3r M104, M109, M140 oder M190 in Ihren " +"benutzerdefinierten Codes erkennt, werden solche Befehle nicht automatisch " +"vorangestellt, sodass Sie die Reihenfolge der Heizbefehle und anderer " +"benutzerdefinierter Aktionen anpassen können. Beachten Sie, dass Sie " +"Platzhaltervariablen für alle Slic3r-Einstellungen verwenden können, sodass " +"Sie einen \"M109 S[first_layer_temperature]\"-Befehl an beliebiger Stelle " +"platzieren können. Falls Sie mehrere Extruder haben, wird der G-Code in der " +"Reihenfolge der Extruder ausgeführt." + +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "Einzelner Extruder mit Multi-Material" -# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -msgid "The " -msgstr "Der/Die " +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "Der Drucker multiplext mehrere Filamente in einem Hotend." + +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:309 -msgid "The extruder to use (unless more specific extruder settings are specified). This value overrides perimeter and infill extruders, but not the support extruders." -msgstr "Der Extruder, der verwendet werden soll, falls keine sonstigen Extrudereinstellungen angegeben wurden. Dies übersteuert die Angaben für die Aussenschicht- und Infill-Extruder, aber nicht die Angabe des Extruders für die Stützen." +#: src/libslic3r/PrintConfig.cpp:1858 +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:703 -msgid "The extruder to use when printing infill." -msgstr "Extruder der beim Infill benutzt wird." +#: src/libslic3r/PrintConfig.cpp:1864 +msgid "Generate support material" +msgstr "Generiere Stützstrukturen" + +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "Aktiviert Generierung von Stützstrukturen." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:959 -msgid "The extruder to use when printing perimeters and brim. First extruder is 1." -msgstr "Extruder der beim Umfang und Rand Drucken benutzt werden soll. Der erste Extruder ist 1." +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1273 -msgid "The extruder to use when printing solid infill." -msgstr "Der Extruder der beim Drucken von solidem Infill benutzt werden soll." +#: src/libslic3r/PrintConfig.cpp:1873 +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:1880 +msgid "XY separation between an object and its support" +msgstr "XY-Abstand zwischen einem Objekt und seinen Stützen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1472 -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 "Der Extruder, der für den Druck von Schnittstellen zum Stützmaterial verwendet wird (1+, oder Null um den aktuellen Extruder für die Minimierung von Werkzeugwechseln zu verwenden). Dies betrifft auch den Raft." +#: src/libslic3r/PrintConfig.cpp:1882 +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 "" +"XY-Abstand zwischen einem Objekt und seinen Stützen. Falls in Prozenten " +"angegeben (z.B. 50%), wird der Abstand von der Breite der Aussenschicht " +"ausgehend berechnet." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1446 -msgid "The extruder to use when printing support material, raft and skirt (1+, 0 to use the current extruder to minimize tool changes)." -msgstr "Der Extruder, der für den Druck von Stützmaterial, Raft und Schürze verwendet wird (1+, oder Null um den aktuellen Extruder für die Minimierung von Werkzeugwechseln zu verwenden)." +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" +msgstr "Muster Winkel" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:209 -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 "Die erste Schicht wird in der XY-Ebene um den vorgegebenen Wert verkleinert, um das Ausquetschen in der ersten Schicht (\"Elephant Foot\"-Effekt) zu kompensieren." +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." +msgstr "" +"Verwenden Sie diese Einstellung, um das Muster für das Stützmaterial auf der " +"horizontalen Ebene zu drehen." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1734 -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 "Das Objekt wird in der XY-Ebene um den konfigurierten Wert (negativ = einwärts, positiv = auswärts) vergrößert/verkleinert. Dies kann bei der Feinabstimmung von Lochgrößen hilfreich sein." +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"Only create support if it lies on a build plate. Don't create support on a " +"print." +msgstr "" +"Nur dann Stützen schaffen, wenn sie auf der Druckplattform aufbauen. " +"Erstellt keine Stützstrukturen, die auf dem Ausdruck gründen würden." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1031 -msgid "The object will be raised by this number of layers, and support material will be generated under it." -msgstr "Das Objekt wird um diese Anzahl von Schichten angehoben, und darunter wird Trägermaterial erzeugt." +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "Kontakt Z-Abstand" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1374 -msgid "The printer multiplexes filaments into a single hot end." -msgstr "Der Drucker multiplext mehrere Filamente in einem Hotend." +#: src/libslic3r/PrintConfig.cpp:1915 +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 "" +"Der vertikale Abstand zwischen Objekt und Trägermaterialschnittstelle. Wenn " +"Sie diesen Wert auf 0 setzen, wird Slic3r auch verhindern, dass Bridge-Flow " +"und -Geschwindigkeit für die erste Objektschicht verwendet werden." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:324 -msgid "The selected file contains no geometry." -msgstr "Die ausgewählte Datei enthält keine Geometrie." +#: src/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:328 -msgid "The selected file contains several disjoint areas. This is not supported." -msgstr "Die ausgewählte Datei enthält mehrere nicht zusammenhängende Bereiche. Dies wird nicht unterstützt." +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1112 -msgid "The selected object can't be split because it contains more than one volume/material." -msgstr "Das ausgewählte Objekt konnte nicht getrennt werden, weil es aus mehr als einem Volumen/Material besteht." +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "Erzwinge Stützstrukturen bei den ersten" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1121 -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/libslic3r/PrintConfig.cpp:1931 +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." +msgstr "" +"Generiere Stützmaterial für die angegebene Anzahl von Schichten, die von " +"unten gezählt werden, unabhängig davon, ob normales Stützmaterial aktiviert " +"ist oder nicht und unabhängig von einer Winkelschwelle. Dies ist nützlich, " +"um die Haftung von Objekten mit einem sehr dünnen oder schlechten Standfuß " +"auf der Bauplatte zu erhöhen." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1144 -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 "Die Geschwindigkeit, mit der ein Filament nach dem Einzug wieder in den Extruder vorgeschoben wird. Falls Null, wird die Einzugsgeschwindigkeit verwendet." +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "Erzwinge Stützmaterial bei den ersten n Schichten" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1136 -msgid "The speed for retractions (it only applies to the extruder motor)." -msgstr "Die Einzugsgeschwindigkeit (sie betrifft nur den Extruderantrieb)." +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "Stützmaterial/Raft/Schürzen Extruder" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:533 -#, no-c-format +#: src/libslic3r/PrintConfig.cpp:1945 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?" +"The extruder to use when printing support material, raft and skirt (1+, 0 to " +"use the current extruder to minimize tool changes)." msgstr "" -"Der Spiralvasen-Modus erfordert:\n" -"- eine Aussenschicht\n" -"- keine stabilen Schichten oben\n" -"- 0% Fülldichte\n" -"- keine Stützen\n" -"- kein ensure_vertical_shell_thickness\n" -"\n" -"Soll ich diese Einstellungen anpassen, um den Spiralvasen-Modus zu aktivieren?" +"Der Extruder, der für den Druck von Stützmaterial, Raft und Schürze " +"verwendet wird (1+, oder Null um den aktuellen Extruder für die Minimierung " +"von Werkzeugwechseln zu verwenden)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1560 -msgid "The supplied name is empty. It can't be saved." -msgstr "Der angegebene Name ist leer. Die Speicherung kann nicht erfolgen." +#: src/libslic3r/PrintConfig.cpp:1955 +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." +msgstr "" +"Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " +"für das Stützmaterial anzugeben. Falls auf Null belassen, wird die Standard-" +"Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser " +"der Druckdüse verwendet. Als Prozentwert (z.B. 90%) angegeben, wird dieser " +"ausgehend von der Schichthöhe berechnet." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1788 -msgid "The supplied name is not available." -msgstr "Der angegebene Name ist nicht verfügbar." +#: src/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "Kontaktschleifen" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1785 -msgid "The supplied name is not valid; the following characters are not allowed:" -msgstr "Der angegebene Name ist ungültig; die folgenden Zeichen sind nicht erlaubt:" +#: src/libslic3r/PrintConfig.cpp:1966 +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "" +"Decken Sie die obere Kontaktschicht der Stützen mit Schleifen ab. " +"Standardmäßig deaktiviert." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1418 -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 "Der vertikale Abstand zwischen Objekt und Trägermaterialschnittstelle. Wenn Sie diesen Wert auf 0 setzen, wird Slic3r auch verhindern, dass Bridge-Flow und -Geschwindigkeit für die erste Objektschicht verwendet werden." +#: src/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "Stützmaterial/Raft Schnittstellen Extruder" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1312 +#: src/libslic3r/PrintConfig.cpp:1974 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?" +"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 "" -"Die Reinigungsoption ist nicht verfügbar, wenn der Firmware-Einzug verwendet wird.\n" -"\n" -"Soll ich sie ausschalten, um den Firmware-Einzug zu aktivieren?" +"Der Extruder, der für den Druck von Schnittstellen zum Stützmaterial " +"verwendet wird (1+, oder Null um den aktuellen Extruder für die Minimierung " +"von Werkzeugwechseln zu verwenden). Dies betrifft auch den Raft." + +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" +msgstr "Schnittstellen Schichten" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:581 +#: src/libslic3r/PrintConfig.cpp:1984 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?" +"Number of interface layers to insert between the object(s) and support " +"material." msgstr "" -"Die Reinigungssäule unterstützt zur Zeit nichtlösliche Stützen nur, falls sie mit dem aktuellen Extruder ohne einen Werkzeugwechsel gedruckt werden (sowohl support_material_extruder wie auch support_material_interface_extruder müssen auf Null gesetzt werden).\n" -"\n" -"Soll ich diese Einstellungen anpassen, um die Reinigungssäule zu aktivieren?" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:60 -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." -msgstr "Dieser Code wird beim sequentiellen Drucken zwischen Objekten eingefügt. Standardmäßig werden Extruder- und Betttemperatur mit dem Befehl, der nicht auf die Änderung wartet, zurückgesetzt. Wenn jedoch M104, M109, M140 oder M190 in diesem benutzerdefinierten Code erkannt werden, fügt Slic3r keine Temperaturbefehle hinzu. Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-Einstellungen verwenden können, so dass Sie einen \"M109 S[first_layer_temperature]\"-Befehl an beliebiger Stelle platzieren können." +"Anzahl der Schnittstellenschichten, die zwischen Objekt(en) und " +"Trägermaterial eingefügt werden sollen." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:767 -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 "Dieser benutzerdefinierte Code wird bei jedem Schichtwechsel eingefügt, direkt nach der Z-Bewegung und bevor der Extruder zum ersten Lagenpunkt fährt. Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-Einstellungen sowie [layer_num] und [layer_z] verwenden können." +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "Schnittstellenmuster Abstand" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:49 -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 "Dieser benutzerdefinierte Code wird bei jedem Lagenwechsel, unmittelbar vor der Z Bewegung, eingefügt. Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-Einstellungen sowie [layer_num] und [layer_z] verwenden können." +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." +msgstr "" +"Abstand zwischen den Schnittstellenlinien. Auf Null stellen, um ein solides " +"Interface zu erhalten." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1603 -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 "Dieser Code wird unmittelbar vor jedem Extruderwechsel eingefügt. Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-Einstellungen sowie für [previous_extruder] und [next_extruder] verwenden können." +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." +msgstr "" +"Geschwindigkeit für den Druck von Trägermaterial-Schnittstellenschichten. " +"Wenn es als Prozentsatz (z.B. 50%) ausgedrückt wird, wird es über die " +"Geschwindigkeit des Trägermaterials berechnet." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:228 -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 "Diese Endprozedur wird am Ende der Ausgabedatei vor dem DruckerEnde G-Code eingefügt. Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-Einstellungen verwenden können. Wenn Sie über mehrere Extruder verfügen, wird der G-Code in der Extruderreihenfolge verarbeitet." +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "Muster" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:218 -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 "Dieser G-Code wird am Ende der Ausgabedatei angehängt. Sie können Platzhaltervariablen für alle Slic3r-Einstellungen verwenden." +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "Unterstützungsmaterialmuster." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:827 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:838 -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." -msgstr "Diese experimentelle Einstellung beschränkt die Änderungsgeschwindigkeit der Extrusionsmenge. Ein Wert von 1.8 mm³/s² gewährleistet, dass eine Änderung der Extrusionsmenge von 1.8 mm³/s (0.45mm Extrusionsbreite, 0.2mm Extrusionshöhe, Vorschub 20 mm/s) zu 5.4 mm³/s (Vorschub 60 mm/s) mindestens 2 Sekunden dauern wird." +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:818 -msgid "This experimental setting is used to set the maximum volumetric speed your extruder supports." -msgstr "Diese experimentelle Einstellung gibt die maximale volumetrische Geschwindigkeit an, die von Ihrem Extruder unterstützt wird." +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "Muster Abstand" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1657 -msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." -msgstr "Diese experimentelle Einstellung benutzt G10 und G11 Befehle, damit die Druckerfirmware den Einzug übernimmt. Dies wird nur von neueren Marlin-Versionen unterstützt." +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "Abstand zwischen Stützmateriallinien." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1671 -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 "Diese experimentelle Einstellung generiert E-Koordinaten in Kubikmillimetern stat in linearen Millimetern. Wenn die Firmware den Filamentdurchmesser noch nicht kennt, können Sie Befehle wie 'M200 D[filament_diameter_0] T0' in den Start-G-Code eingeben, um den volumetrischen Modus zu aktivieren und den in Slic3r angegebenen Filamentdurchmesser zu benutzen. Dies wird nur von neueren Marlin-Versionen unterstützt." +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "Druckgeschwindigkeit des Stützmaterials." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:108 -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." -msgstr "Diese Einstellung beeinflusst den Materialausstoss bei Brücken. Sie können den Wert leicht verringern, um die Extrusionsfäden zu strecken und ein Durchhängen zu vermeiden. Die Standardwerte sind aber normalerweise ausreichend und Sie sollten zuerst mit der Lüftergeschwindigkeit experimentieren, bevor Sie diesen Wert verändern." +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "Mit Objektschichten synchronisieren" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:368 -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." -msgstr "Dieser Faktor ändert die Extrusionsmenge proportional. Sie müssen diese Einstellung möglicherweise anpassen, um schöne Oberflächen und korrekte Hüllendicken zu erhalten. Die üblichen Werte bewegen sich zwischen 0,9 und 1,1. Falls Sie grössere Anpassungen eingeben müssen, kontrollieren Sie auch den Filamentdurchmesser und die E-Schritte in Ihrer Firmware." +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." +msgstr "" +"Stützschichten mit den Druckschichten des Objekts synchronisieren. Dies ist " +"nützlich bei Multi-Material-Druckern, bei denen der Wechsel des Extruders " +"kostenaufwendig ist." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:98 -msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "Die Lüftergeschwindigkeit, die für Überbrückungen und Überhänge benutzt wird." +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" +msgstr "Überhangsschwellwert" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:692 -msgid "This feature allows to combine infill and speed up your print by extruding thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "Diese Einstellung erlaubt es, Infill zu kombinieren und die Druckdauer zu verringern, indem dickere Infill-Schichten gedruckt werden, während gleichzeitig dünne Aussenschichten und damit die Genauigkeit erhalten bleiben." +#: src/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "" +"Für Überhänge, deren Neigungswinkel (90° = vertikal) oberhalb der " +"vorgegebenen Schwelle liegt, wird kein Stützmaterial erzeugt. Mit anderen " +"Worten, dieser Wert stellt die größte horizontale Steigung (gemessen von der " +"horizontalen Ebene) dar, die Sie ohne Trägermaterial drucken können. Für die " +"automatische Erkennung auf Null setzen (empfohlen)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1281 -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." -msgstr "Diese Einstellung erzwingt eine stabile Schicht nach einer vorgegebenen Anzahl von Schichten. Null deaktiviert diese Einstellung. Sie können jeden Wert eingeben (z.B. 9999); Slic3r wird automatisch die grösstmögliche Anzahl von Schichten wählen, die in Abhängigkeit von Düsendurchmesser und Schichthöhe kombiniert werden können." +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "Mit Umhüllung der Stützen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1323 -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 "Dieses Verfahren erhöht die Z-Position allmählich, während eine einfache Hülle gedruckt wird, um jeglichen sichtbaren Saum zu vermeiden. Diese Option setzt eine einzige Aussenschicht, keinen Infill, keine stabilen Deckenschichten und keine Stützen voraus. Sie können immer noch eine beliebige Anzahl von Bodenschichten sowie Schleifen für Schürzen und Rand einstellen. Die Methode funktioniert nicht, wenn mehr als ein Objekt gedruckt wird." +#: src/libslic3r/PrintConfig.cpp:2073 +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 "" +"Fügen Sie eine Sheath (eine einzelne Druckkontur) um die Basisschicht herum " +"hinzu. Das macht das Stützmaterial zuverlässiger, aber auch schwieriger zu " +"entfernen." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:663 +#: src/libslic3r/PrintConfig.cpp:2081 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 "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?\n" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." +msgstr "" +"Extrudertemperatur für Schichten nach der ersten Schicht. Setzen Sie diesen " +"Wert auf Null, um die Temperaturregelbefehle im Ausgabedatei zu deaktivieren." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:164 -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." +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "Temperatur" -#: xs/src/slic3r/GUI/GUI.cpp:899 -msgid "This flag enables the brim that will be printed around each object on the first layer." -msgstr "Dieses Kontrollkästchen aktiviert den Rand (Brim), der um jedes Objekt auf der ersten Ebene gedruckt wird." +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "Dünne Wände erkennen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1066 -msgid "This flag enforces a retraction whenever a Z move is done." -msgstr "Diese Stellung erzwingt einen Einzug bei jeder Z-Bewegung." +#: src/libslic3r/PrintConfig.cpp:2092 +msgid "" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." +msgstr "" +"Erkennen von Wänden mit einfacher Breite (Teile, bei denen zwei Extrusionen " +"nicht passen und wir sie in eine einzige Druckspur zusammenfassen müssen)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1689 -msgid "This flag will move the nozzle while retracting to minimize the possible blob on leaky extruders." -msgstr "Diese Einstellung wird die Düse während dem Einzug bewegen, um mögliche Tropfen bei einem undichten Extruder zu minimieren." +#: src/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" +msgstr "Threads" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:343 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:406 -msgid "This is only used in the Slic3r interface as a visual help." -msgstr "Dies wird nur als visuelles Hilfsmittel in der Slic3r-Benutzeroberfläche verwendet." +#: src/libslic3r/PrintConfig.cpp:2100 +msgid "" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." +msgstr "" +"Threads werden benutzt, um mehrere zeitaufwendige Berechnungen gleichzeitig " +"auszuführen. Die optimale Anzahl beträgt etwas mehr als die Anzahl der " +"verfügbaren Kerne/Prozessoren." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:171 -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." -msgstr "Dies ist der Beschleunigungswert, auf den Ihr Drucker zurückgesetzt wird, nachdem aufgabenspezifische Beschleunigungswerte (Aussenschichten/Infill) verwendet wurden. Setzen Sie dies auf Null, um ein Zurückstellen der Beschleunigungswerte zu deaktivieren." +#: src/libslic3r/PrintConfig.cpp:2112 +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 "" +"Dieser Code wird unmittelbar vor jedem Extruderwechsel eingefügt. Beachten " +"Sie, dass Sie Platzhaltervariablen für alle Slic3r-Einstellungen sowie für " +"[previous_extruder] und [next_extruder] verwenden können." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:78 -msgid "This is the acceleration your printer will use for bridges. Set zero to disable acceleration control for bridges." -msgstr "Die Beschleunigung, die Ihr Drucker für Brücken verwendet. Setzen Sie dies auf Null, um die Beschleunigungskontrolle bei Brücken zu deaktivieren." +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "" +"Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " +"für die oberen Aussenflächen anzugeben. Dünnere Extrusionsbreiten sind " +"vorteilhaft, um Engstellen auszufüllen und um eine schönere Oberfläche zu " +"erhalten. Falls auf Null belassen, wird die Standard-Extrusionsbreite " +"verwendet (falls angeben), ansonsten wird der Durchmesser der Druckdüse " +"verwendet. Falls als Prozentwert (z.B. 90%) angegeben, wird dieser ausgehend " +"von der Schichthöhe berechnet." + +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "" +"Druckgeschwindigkeit für die oberen stabilen Schichten (betrifft nur die " +"obersten Aussenschichten und nicht deren innenliegende stabilen Schichten). " +"Wir empfehlen, diesen Wert zu reduzieren, um eine schönere Oberfläche zu " +"erhalten. Dies kann als Prozentwert (z.B. 80%) der oben eingegebenen " +"Geschwindigkeit für stabiles Infill angegeben werden. Für Automatik auf Null " +"setzen." + +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "Decke" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:574 -msgid "This is the acceleration your printer will use for first layer. Set zero to disable acceleration control for first layer." -msgstr "Die Beschleunigung, die Ihr Drucker für die erste Schicht verwendet. Setzen Sie dies auf Null, um die Beschleunigungskontrolle bei der ersten Schicht zu deaktivieren." +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "Anzahl der zu erzeugenden festen Schichten auf der Oberseite." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:682 -msgid "This is the acceleration your printer will use for infill. Set zero to disable acceleration control for infill." -msgstr "Diese Stellung bestimmt die Beschleunigung des Druckers für Infill. Setzen Sie dies auf Null, um die Beschleunigungskontrolle für Infill zu deaktivieren." +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "Obere stabile Schichten" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:949 -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 "Dies ist die Beschleunigung, die der Drucker für Aussenschichten benutzen wird. Ein hoher Wert wie 9000 ergibt üblicherweise gute Resultate falls Ihre Hardware mithalten kann. Setzen Sie dies auf Null, um die Beschleunigungskontrolle bei Aussenschichten zu deaktivieren." +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "Bewegungsgeschwindigkeit (zwischen weit entfernten Extrusionsorten)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:895 -msgid "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" -msgstr "Durchmesser der Extruderdüse (z.B.: 0.5, 0.35 usw.)" +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "Firmware-Einzug aktivieren" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:797 -#, no-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." -msgstr "Dies ist die höchste druckbare Schichthöhe für diesen Extruder, mit der die variable Schichthöhe und Stützschichthöhe abgedeckt wird. Die maximale empfohlene Schichthöhe beträgt 75% der Extrusionsbreite, um eine angemessene Zwischenlagenhaftung zu erreichen. Bei Einstellung auf 0 ist die Lagenhöhe auf 75% des Düsendurchmessers begrenzt." +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." +msgstr "" +"Diese experimentelle Einstellung benutzt G10 und G11 Befehle, damit die " +"Druckerfirmware den Einzug übernimmt. Dies wird nur von neueren Marlin-" +"Versionen unterstützt." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:858 -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." -msgstr "Dies ist die niedrigste druckbare Schichthöhe für diesen Extruder und begrenzt die Auflösung bei variabler Schichthöhe. Typische Werte liegen zwischen 0,05 mm und 0,1 mm." +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "Relative Abstände für Extrusion benutzen" -#: xs/src/libslic3r/PrintConfig.cpp:1816 -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 "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/libslic3r/PrintConfig.cpp:2177 +msgid "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." +msgstr "" +"Wenn Ihre Firmware relative E-Werte benötigt, diese Option aktivieren, " +"ansonsten lassen Sie sie unmarkiert. Die meisten Firmwares verwenden " +"absolute Werte." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:990 -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." -msgstr "Diese Stellung bestimmt die Anzahl der Aussenschichten, die für jede Schicht erzeugt werden. Slic3r kann diese Zahl automatisch vergrössern, wenn es schräge Oberflächen erkennt, die sich mit einer höheren Zahl von Aussenschichten besser drucken lassen, wenn die \"Zusätzliche Aussenschichten falls notwendig\" Option aktiviert ist." +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" +msgstr "Volumetrisches E benutzen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:923 -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 "Mit dieser Option wird die Temperatur der inaktiven Extruder gesenkt, um ein Materialnachsickern zu verhindern. Es aktiviert automatisch eine hohe Schürze und bewegt die Extruder bei Temperaturänderungen ausserhalb dieser Schürze." +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" +"Diese experimentelle Einstellung generiert E-Koordinaten in Kubikmillimetern " +"stat in linearen Millimetern. Wenn die Firmware den Filamentdurchmesser " +"noch nicht kennt, können Sie Befehle wie 'M200 D[filament_diameter_0] T0' in " +"den Start-G-Code eingeben, um den volumetrischen Modus zu aktivieren und den " +"in Slic3r angegebenen Filamentdurchmesser zu benutzen. Dies wird nur von " +"neueren Marlin-Versionen unterstützt." + +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "Variable Schichthöhen aktivieren" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:728 -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." -msgstr "Diese Einstellung beschränkt den Infill auf die Bereiche, die tatsächlich für das Stützen von Decken benötigt werden (der Infill dient hier als internes Stützmaterial). Falls aktiviert, kann dies die Erstellung des G-Codes wegen zusätzlichen Kontrollschritten verlangsamen." +#: src/libslic3r/PrintConfig.cpp:2197 +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." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:721 -msgid "This option will switch the print order of perimeters and infill, making the latter first." -msgstr "Diese Einstellungen kehrt die Druckreihenfolge von Aussenschichten und Infill um, sodass der Infill zuerst gedruckt wird." +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "Während Einzug reinigen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:279 -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." -msgstr "Diese separate Einstellung wirkt sich auf die Geschwindigkeit der äusseren (sichtbaren) Aussenschichten aus. Als Prozentwert eingegeben (z.B. 80%), wird sie ausgehend von der obigen Geschwindigkeitseinstellung für Aussenschichten berechnet. Für die automatische Berechnung auf Null setzen." +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." +msgstr "" +"Diese Einstellung wird die Düse während dem Einzug bewegen, um mögliche " +"Tropfen bei einem undichten Extruder zu minimieren." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1252 -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 "Diese separate Einstellung wirkt sich auf die Geschwindigkeit von Aussenschichten mit einem Radius <= 6,5 mm (üblicherweise Bohrungen) aus. Als Prozentwert eingegeben (z.B. 80%), wird sie ausgehend von der obigen Geschwindigkeitseinstellung für Aussenschichten berechnet. Für eine automatische Berechnung setzen Sie dies auf Null." +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." +msgstr "" +"Multi-Material-Drucker müssen eventuell Extruder bei Werkzeugwechseln vor- " +"oder nachspülen. Extrudieren Sie das überschüssige Material in den " +"Reinigungsturm." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:737 -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." -msgstr "Diese Einstellung fügt eine zusätzliche Überlappung zwischen Aussenschichten und Infill ein, um die Haftung zu verbessern. Theoretisch sollte dies nicht notwendig sein, doch vorhandenes Getriebespiel könnte Lücken erzeugen. Als Prozentwert eingegeben (z.B. 15%) wird sie ausgehend von der Extrusionsbreite für die Aussenschicht ausgerechnet." +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" +msgstr "Reinigungsvolumen - Lade-/Entladevolumen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:779 -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 "Diese Einstellung bestimmt die Höhe (und damit die Gesamtanzahl) der Scheiben/Schichten. Dünnere Schichten ergeben eine bessere Genauigkeit, benötigen aber mehr Zeit zum drucken." +#: src/libslic3r/PrintConfig.cpp:2221 +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 "" +"Dieser Vektor speichert die erforderlichen Volumina für den Wechsel von/zu " +"jedem am Reinigungsturm verwendeten Werkzeug. Diese Werte werden verwendet, " +"um die Erstellung des vollen Reinigungsvolumens zu vereinfachen. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:788 -msgid "This setting represents the maximum speed of your fan." -msgstr "Diese Einstellung bestimmt die maximale Geschwindigkeit Ihres Lüfters." +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" +msgstr "Reinigungsvolumen - Matrix" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:849 -msgid "This setting represents the minimum PWM your fan needs to work." -msgstr "Diese Einstellung gibt den minimalen PWM-Wert an, den Ihr Lüfter für den Betrieb benötigt." +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" +"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. " -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 -#, c-format -msgid "This Slic3r PE version: %s" -msgstr "Diese Slic3r PE Version: %s" +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" +msgstr "X-Position" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1358 -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 "Dieser Startvorgang wird am Anfang nach dem G-Code für den Druckerstart eingefügt. Damit können Einstellungen für ein bestimmtes Filament übersteuert werden. Falls Slic3r M104, M109, M140 oder M190 in Ihren benutzerdefinierten Codes erkennt, werden solche Befehle nicht automatisch vorangestellt, sodass Sie die Reihenfolge der Heizbefehle und anderer benutzerdefinierter Aktionen anpassen können. Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-Einstellungen verwenden können, sodass Sie einen \"M109 S[first_layer_temperature]\"-Befehl an beliebiger Stelle platzieren können. Falls Sie mehrere Extruder haben, wird der G-Code in der Reihenfolge der Extruder ausgeführt." +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "X-Koordinate der linken vorderen Ecke der Reinigungssäule" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1343 -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 "Dieser Startvorgang wird am Anfang eingefügt, nachdem das Heizbett die Zieltemperatur erreicht hat und der Extruder gerade erst mit dem Aufheizen begonnen hat, und bevor der Extruder fertig aufgeheizt ist. Falls Slic3r M104 oder M190 in Ihren benutzerdefinierten Codes erkennt, werden solche Befehle nicht automatisch vorangestellt, sodass Sie die Reihenfolge der Heizbefehle und anderer benutzerdefinierter Aktionen anpassen können. Beachten Sie, dass Sie Platzhaltervariablen für alle Slic3r-Einstellungen verwenden können, sodass Sie einen \"M109 S[first_layer_temperature]\"-Befehl an beliebiger Stelle platzieren können." +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "Y-Position" -#: xs/src/libslic3r/PrintConfig.cpp:487 -msgid "This string is edited by RammingDialog and contains ramming specific parameters " -msgstr "Diese Zeichenfolge wird vom RammDialog angepasst und enthält für das Rammen spezifische Parameter " +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "Y-Koordinate der linken vorderen Ecke der Reinigungssäule" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1743 -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 "Dieser Wert wird zu allen Z-Koordinaten im ausgegebenen G-Code hinzuaddiert oder davon abgezogen. Damit kann eine fehlerhafte Z-Endanschlagsposition kompensiert werden: wenn z.B. bei Ihrem Nullwert die Druckdüse sich beim Endanschlag 0.3mm über der Druckplatte befindet, setzen Sie diesen Wert auf -0.3 (oder stellen Sie Ihren Endanschlag neu ein)." +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "Breite der Reinigungssäule" -#: xs/src/libslic3r/PrintConfig.cpp:1808 -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 "Dieser Vektor speichert die erforderlichen Volumina für den Wechsel von/zu jedem am Reinigungsturm verwendeten Werkzeug. Diese Werte werden verwendet, um die Erstellung des vollen Reinigungsvolumens zu vereinfachen. " +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "Rotationswinkel des Reinigungsturms" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 -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" -"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 "" -"Diese Version von Slic3r PE ist nicht kompatibel zu den aktuell installierten Konfigurationssammlungen.\n" -"Dies wurde wahrscheinlich dadurch verursacht, dass Sie eine ältere Slic3r PE Version benutzt haben, nachdem Sie eine neuere ausgeführt hatten.\n" -"\n" -"Sie können Slic3r 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 Slic3r-Version kompatiblen Dateien installiert werden.\n" +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "Rotationswinkel des Reinigungsturms bezogen auf die X-Achse " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1590 -msgid "Threads" -msgstr "Threads" +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "Grad" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1591 -msgid "Threads are used to parallelize long-running tasks. Optimal threads number is slightly above the number of available cores/processors." -msgstr "Threads werden benutzt, um mehrere zeitaufwendige Berechnungen gleichzeitig auszuführen. Die optimale Anzahl beträgt etwas mehr als die Anzahl der verfügbaren Kerne/Prozessoren." +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -msgid "Time" -msgstr "Zeit" +#: src/libslic3r/PrintConfig.cpp:2273 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:477 -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. " -msgstr "Wartezeit, nachdem das Filament entladen wurde. Dies kann zu zuverlässigeren Werkzeugwechseln beitragen bei flexiblen Materialien, die mehr Zeit zum Schrumpfen auf ihre ursprüngliche Grösse brauchen. " +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:750 -msgid "To do that please specify a new name for the preset." -msgstr "Zur Ausführung geben Sie bitte einen neuen Namen für die Voreinstellung ein." +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 -msgid "To download, follow the link below." -msgstr "Zum Herunterladen folgen Sie dem untenstehenden Link." +#: src/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" +msgstr "Maximaler Überbrückungsabstand" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:338 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:72 -msgid "Tool" -msgstr "Werkzeug" +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "Maximalabstand zwischen Stützen auf spärlichen Infill-Abschnitten. " -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:238 -msgid "Tool #" -msgstr "Werkzeug #" +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "XY-Grössenausgleich" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1144 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1602 -msgid "Tool change G-code" -msgstr "G-Code für Werkzeugwechsel" +#: src/libslic3r/PrintConfig.cpp:2299 +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 "" +"Das Objekt wird in der XY-Ebene um den konfigurierten Wert (negativ = " +"einwärts, positiv = auswärts) vergrößert/verkleinert. Dies kann bei der " +"Feinabstimmung von Lochgrößen hilfreich sein." -#: xs/src/slic3r/GUI/Tab.cpp:1315 -msgid "Toolchange parameters with single extruder MM printers" -msgstr "Werkzeugwechsel-Parameter für MM-Drucker mit einem Extruder" +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" +msgstr "Z-Abstand" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1638 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top" -msgstr "Decke" +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" +"Dieser Wert wird zu allen Z-Koordinaten im ausgegebenen G-Code hinzuaddiert " +"oder davon abgezogen. Damit kann eine fehlerhafte Z-Endanschlagsposition " +"kompensiert werden: wenn z.B. bei Ihrem Nullwert die Druckdüse sich beim " +"Endanschlag 0.3mm über der Druckplatte befindet, setzen Sie diesen Wert auf " +"-0.3 (oder stellen Sie Ihren Endanschlag neu ein)." + +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:187 -msgid "top solid infill" -msgstr "Oberes stabiles Infill" +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1613 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1624 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:143 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:85 -msgid "Top solid infill" -msgstr "Oberes stabiles Infill" +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1642 -msgid "Top solid layers" -msgstr "Obere stabile Schichten" +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top View" -msgstr "Ansicht von oben" +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:246 -msgid "Top/bottom fill pattern" -msgstr "Boden- und Deckenfüllmuster" +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:245 -msgid "Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded." -msgstr "Das gesamte Reinigungsvolumen wird durch die Addition folgender zwei Werte berechnet, je nachdem welche Werkzeuge geladen/entladen sind." +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:84 -msgid "Total rammed volume" -msgstr "Gesamtes Rammvolumen" +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -msgid "Total ramming time" -msgstr "Gesamte Rammdauer" +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1647 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:95 -msgid "Travel" -msgstr "Eilgang" +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1107 -msgid "Type of the printer." -msgstr "Druckertyp." +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Uniformly…" -msgstr "Gleichmässig…" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 -msgid "Unknown" -msgstr "Unbekannt" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:232 -msgid "unloaded" -msgstr "entladen wird" +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:467 -msgid "Unloading speed" -msgstr "Entladegeschwindigkeit" +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2483 -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." +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" msgstr "" -"Das Symbol GEÖFFNETES SCHLOSS zeigt an, dass einige Einstellungen geändert wurden und nicht mehr mit den Systemeinstellungen für die aktuelle Optionsgruppe identisch sind.\n" -"Klicken Sie, um alle Einstellungen für die aktuelle Optionsgruppe auf die Systemeinstellungen zurückzusetzen." -#: xs/src/slic3r/GUI/Tab.cpp:2498 +#: src/libslic3r/PrintConfig.cpp:2403 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." +"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 "" -"Das Symbol GEÖFFNETES SCHLOSS zeigt an, dass der Wert geändert wurde und nicht mit der Systemeinstellung identisch ist.\n" -"Klicken Sie, um den aktuellen Wert auf die Systemeinstellung zurückzusetzen." -#: xs/src/slic3r/GUI/Tab.cpp:2445 -msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to the system values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system values." +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" msgstr "" -"GEÖFFNETES SCHLOSS;Zeigt an, dass einige Einstellungen geändert wurden und nicht mehr mit den Systemeinstellungen für die aktuelle Gruppe von Optionen identisch sind.\n" -"Klicken Sie auf das Symbol mit dem GEÖFFNETEN SCHLOSS, um alle Einstellungen für die aktuelle Optionsgruppe auf die Systemeinstellungen zurückzusetzen." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:97 -msgid "Unretractions" -msgstr "Wiedereinzüge" +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1492 -msgid "Unsaved Changes" -msgstr "Nicht abgespeicherte Änderungen" +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:750 -msgid "Unsaved Presets" -msgstr "Nicht abgespeicherte Voreinstellungen" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "Update available" -msgstr "Ein Update ist verfügbar" +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:279 xs/src/slic3r/GUI/Preferences.cpp:67 -msgid "Update built-in Presets automatically" -msgstr "Eingebaute Voreinstellungen automatisch aktualisieren" +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Updates" -msgstr "Updates" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:283 -msgid "Updates are never applied without user's consent and never overwrite user's customized settings." -msgstr "Updates werden niemals ohne das Einverständnis des Benutzers ausgeführt, und werden niemals die vom Benutzer geänderten Einstellungen überschreiben." +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 -msgid "Upgrade" -msgstr "Aktualisieren" +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Upload a firmware image into an Arduino based printer" -msgstr "Lade ein Firmware Image zu einem Arduino basierten Drucker hoch" +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:989 -msgid "USB/Serial connection" -msgstr "USB/Serielle Verbindung" +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1194 -msgid "USB/serial port for printer connection." -msgstr "USB-/serielle Schnittstelle für den Druckeranschluss." +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1656 -msgid "Use firmware retraction" -msgstr "Firmware-Einzug aktivieren" +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:75 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "Älteres OpenGL 1.1-Rendering verwenden" +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1663 -msgid "Use relative E distances" -msgstr "Relative Abstände für Extrusion benutzen" +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:361 -msgid "Use this option to set the axis letter associated to your printer's extruder (usually E but some printers use A)." -msgstr "Verwenden Sie diese Einstellung, um den Buchstaben der Achse anzugeben, die mit Ihrem Extruder verknüpft ist (normalerweise E, aber bei manchen Druckern ist dies A)." +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1400 -msgid "Use this setting to rotate the support material pattern on the horizontal plane." -msgstr "Verwenden Sie diese Einstellung, um das Muster für das Stützmaterial auf der horizontalen Ebene zu drehen." +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1670 -msgid "Use volumetric E" -msgstr "Volumetrisches E benutzen" +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:449 -msgid "Used Filament (g)" -msgstr "Verbrauchtes Filament (g)" +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:447 -msgid "Used Filament (m)" -msgstr "Verbrauchtes Filament (m)" +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:448 -msgid "Used Filament (mm³)" -msgstr "Verbrauchtes Filament (mm³)" +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 -msgid "User" -msgstr "Benutzer" +#: src/libslic3r/PrintConfig.cpp:2531 +msgid "" +"Controls the bridge type between two neigboring 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 "" -#: xs/src/slic3r/GUI/Preset.cpp:649 xs/src/slic3r/GUI/Preset.cpp:706 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1127 lib/Slic3r/GUI/Plater.pm:553 -msgid "User presets" -msgstr "Benutzerdefinierte Voreinstellungen" +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 -msgid "Value is the same as the system value" -msgstr "Der Wert ist gleich wie die Systemeinstellung" +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 -msgid "Value was changed and is not equal to the system value or the last saved preset" -msgstr "Der Wert wurde geändert und ist nicht gleich wie die Systemeinstellung oder die letzte abgespeicherte Voreinstellung" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "variants" -msgstr "Varianten" +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:755 -msgid "vendor" -msgstr "Hersteller" +#: src/libslic3r/PrintConfig.cpp:2548 +msgid "" +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:644 -msgid "Verbose G-code" -msgstr "Ausführlicher G-Code" +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid "Version " -msgstr "Version " +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 -msgid "version" -msgstr "Version" +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "" -#: xs/src/slic3r/GUI/AboutDialog.cpp:60 -msgid "Version" -msgstr "Version" +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:318 -msgid "Vertical shells" -msgstr "Vertikale Konturhüllen" +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:65 -msgid "View" -msgstr "Ansicht" +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:409 -msgid "Volume" -msgstr "Volumen" +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241 -msgid "Volume to purge (mm³) when the filament is being" -msgstr "Volumen zum Reinigen (mm³) wenn das Filament ist" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Volumetric" -msgstr "Volumetrisch" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 -msgid "Volumetric flow rate" -msgstr "Volumetrische Flussrate" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." +msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:370 -msgid "Volumetric flow rate (mm3/s)" -msgstr "Volumetrische Flussrate (mm3/s)" +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:86 -msgid "Volumetric speed" -msgstr "Volumengeschwindigkeit" +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "" +"How many support points (approximately) should be placed on horizontal " +"surface." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:500 -msgid "Warning" -msgstr "Warnung" +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -msgid "Welcome" -msgstr "Willkommen" +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -#, c-format -msgid "Welcome to the Slic3r %s" -msgstr "Willkommen in Slic3r %s" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:131 -msgid "What do you want to print today? ™" -msgstr "Was möchten Sie heute drucken? ™" +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:69 -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 "Falls angekreuzt, werden Voreinstellungen für Druck und Filament im Voreinstellungseditor auch dann angezeigt, wenn sie als inkompatibel zum aktiven Drucker gekennzeichnet wurden" +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:219 -msgid "when printing " -msgstr "während dem Druck " +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:136 -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 "Wenn Multi-Material-Objekte gedruckt werden, wird Slic3r mit diesen Einstellungen einen überlappenden Teil des Objekts durch den anderen einschränken (zweiter Teil wird durch den ersten Teil eingeschränkt, dritter Teil wird durch den ersten und zweiten eingeschränkt usw.)." +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:155 -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 "Wenn mehrere Objekte oder Kopien gedruckt werden, wird bei dieser Einstellung jedes Objekt vollständig gedruckt, bevor das nächste (angefangen mit der Bodenschicht) begonnen wird. Diese Einstellung ist nützlich, um Fehldrucke zu vermeiden. Slic3r sollte vor Extruderkollisionen warnen und diese verhindern, aber seien Sie trotzdem aufmerksam." +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:605 -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." -msgstr "Wenn mit sehr kleinen Schichthöhen gedruckt wird, möchten Sie vielleicht trotzdem eine dickere Bodenschicht drucken, um die Haftung sowie die Toleranz bei nicht perfekt ebenen Druckplatten zu verbessern. Dieser Wert kann als Absolutwert oder als Prozentwert (z.B. 150%) der Standardschichthöhe angegeben werden." +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1082 -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 "Wenn der Einzug vor dem Werkzeugwechsel ausgelöst wird, wird das Filament um diese Länge eingezogen. (Die Länge wird am unverarbeiteten Filament vor dem Extruder gemessen)." +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1073 -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 "Wenn der Einzug ausgelöst wird, wird das Filament um diese Länge eingezogen. (Die Länge wird am unverarbeiteten Filament vor dem Extruder gemessen)." +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:808 -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." -msgstr "Wenn andere Geschwindigkeitseinstellungen auf Null gesetzt wurden, wird Slic3r die optimale Geschwindigkeit automatisch berechnen, um den Extruderdruck konstant zu halten. Diese experimentelle Einstellung erlaubt Ihnen, die höchste zulässige Druckgeschwindigkeit anzugeben." +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1127 -msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." -msgstr "Wenn der Einzug nach dem Werkzeugwechsel kompensiert wurde, wird der Extruder diese zusätzliche Menge an Filament ausgeben." +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1119 -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 "Wenn der Einzug nach der Zwischenbewegung kompensiert wurde, wird der Extruder diese zusätzliche Menge an Filament ausgeben. Diese Einstellung wird selten benötigt." +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2486 -msgid "WHITE BULLET icon indicates a non system preset." -msgstr "Das Symbol mit dem WEISSEN PUNKT zeigt eine Nicht-Systemeinstellung an." +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2489 -msgid "WHITE BULLET icon indicates that the settings are the same as in the last saved preset for the current option group." -msgstr "Das Symbol WEISSER PUNKT zeigt an, dass die Einstellungen dieselben sind wie in der zuletzt gespeicherten Voreinstellung für die aktuelle Optionsgruppe." +#: src/libslic3r/PrintConfig.cpp:3031 +msgid "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2504 -msgid "WHITE BULLET icon indicates that the value is the same as in the last saved preset." -msgstr "Das Symbol WEISSER PUNKT zeigt an, dass der Wert identisch ist mit demjenigen in der zuletzt gespeicherten Voreinstellung." +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2451 -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." -msgstr "WEISSER PUNKT;Beim linken Knopf: zeigt eine Nicht-Systemeinstellung an. Beim rechten Knopf: zeigt an, dass die Einstellung nicht geändert wurde." +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1716 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:70 -msgid "Width" -msgstr "Breite" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:334 -msgid "Width (mm)" -msgstr "Breite (mm)" +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1717 -msgid "Width of a wipe tower" -msgstr "Breite der Reinigungssäule" +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:41 -#, c-format -msgid "will always run at %d%% " -msgstr "wird immer mit %d%% laufen " +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:50 -msgid "will be turned off." -msgstr "wird abgeschaltet." +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:442 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:149 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:91 -msgid "Wipe tower" -msgstr "Reinigungssäule" +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:564 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:585 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:602 -msgid "Wipe Tower" -msgstr "Reinigungssäule" +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:142 -msgid "Wipe tower - Purging volume adjustment" -msgstr "Reinigungsturm - Anpassung des Reinigungsvolumens" +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1847 -msgid "Wipe tower rotation angle" -msgstr "Rotationswinkel des Reinigungsturms" +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1848 -msgid "Wipe tower rotation angle with respect to x-axis " -msgstr "Rotationswinkel des Reinigungsturms bezogen auf die X-Achse " +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1688 -msgid "Wipe while retracting" -msgstr "Während Einzug reinigen" +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1058 -msgid "With bowden extruders, it may be wise to do some amount of quick retract before doing the wipe movement." -msgstr "Bei Bowden-Extrudern kann es ratsam sein, vor der Reinigungsbewegung einen kurzen Einzug auszuführen." +#: src/libslic3r/PrintConfig.cpp:3076 +msgid "" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1564 -msgid "With sheath around the support" -msgstr "Mit Umhüllung der Stützen" +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 +#: src/libslic3r/PrintConfig.cpp:3082 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:" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." 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:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1703 -msgid "X coordinate of the left front corner of a wipe tower" -msgstr "X-Koordinate der linken vorderen Ecke der Reinigungssäule" +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1386 -msgid "XY separation between an object and its support" -msgstr "XY-Abstand zwischen einem Objekt und seinen Stützen" +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1388 -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 "XY-Abstand zwischen einem Objekt und seinen Stützen. Falls in Prozenten angegeben (z.B. 50%), wird der Abstand von der Breite der Aussenschicht ausgehend berechnet." +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1732 -msgid "XY Size Compensation" -msgstr "XY-Grössenausgleich" +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1710 -msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "Y-Koordinate der linken vorderen Ecke der Reinigungssäule" +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1970 -msgid "Yes" -msgstr "Ja" +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:885 -msgid "You can put here your personal notes. This text will be added to the G-code header comments." -msgstr "Sie können hier Ihre persönlichen Notizen eingeben. Der Text wird dem Header vom G-Code hinzugefügt." +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:413 -msgid "You can put your notes regarding the filament here." -msgstr "Sie können Ihre Notizen zum Filament hier eingeben." +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1015 -msgid "You can put your notes regarding the printer here." -msgstr "Sie können Ihre Bemerkungen zum Drucker hier eingeben." +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:181 -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." -msgstr "Sie können einen positiven Wert eingeben, um den Lüfter vollständig für die ersten Schichten auszuschalten, damit er die Haftung nicht beeinträchtigt." +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:931 -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 "Sie können alle Konfigurationsoptionen als Variablen in dieser Vorlage benutzen. Zum Beispiel: [layer_height], [fill_density] usw. Sie können auch [timestamp], [year], [month], [day], [hour], [minute], [second], [version], [input_filename], und [input_filename_base] benutzen." +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" +msgstr "Gemischt" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid "You have unsaved changes " -msgstr "Sie haben nicht gespeicherte Änderungen " +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "Höhe (mm)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:101 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "Sie müssen Slic3r neu starten, damit die Änderungen wirksam werden." +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" +msgstr "Breite (mm)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Your file was repaired." -msgstr "Ihre Datei wurde repariert." +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "Geschwindigkeit (mm/s)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:744 -msgid "Your object appears to be too large, so it was automatically scaled down to fit your print bed." -msgstr "Ihr Objekt scheint zu gross zu sein. Es wurde deshalb automatisch verkleinert, um auf Ihre Druckplatte zu passen." +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "Volumetrische Flussrate (mm3/s)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1742 -msgid "Z offset" -msgstr "Z-Abstand" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:91 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:492 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1170 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1181 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1401 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1557 -msgid "°" -msgstr "°" +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:484 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 -msgid "°C" -msgstr "°C" +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "" diff --git a/resources/localization/en_US/Slic3rPE.mo b/resources/localization/en_US/Slic3rPE.mo index 122d36cfb6873a1462f404b15b1fa23deb679c1b..6295b97d2682c8e0b32c14f0942b9a7a54be85d3 100644 GIT binary patch literal 160779 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 K6cyUN&H5kqaC{vA diff --git a/resources/localization/en_US/Slic3rPE_en.po b/resources/localization/en_US/Slic3rPE_en.po index 7d4ee05d4ec..ddf8ebe4c66 100644 --- a/resources/localization/en_US/Slic3rPE_en.po +++ b/resources/localization/en_US/Slic3rPE_en.po @@ -1,41 +1,53 @@ +# 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. +# msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-02-28 13:53+0100\n" -"PO-Revision-Date: 2018-02-28 14:13+0100\n" -"Last-Translator: Oleksandra Iushchenko \n" -"Language-Team: \n" +"POT-Creation-Date: 2019-01-17 13:39+0100\n" +"PO-Revision-Date: 2019-01-17 15:05+0100\n" +"Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: en\n" +"Last-Translator: Oleksandra Iushchenko \n" +"Language-Team: \n" +"X-Generator: Poedit 2.0.8\n" + +#: src/slic3r/GUI/AboutDialog.cpp:33 +msgid "About Slic3r" +msgstr "About Slic3r" + +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 +msgid "Version" +msgstr "Version" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:39 +#: src/slic3r/GUI/BedShapeDialog.cpp:43 msgid "Shape" msgstr "Shape" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:46 +#: src/slic3r/GUI/BedShapeDialog.cpp:50 msgid "Rectangular" msgstr "Rectangular" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:50 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:408 +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 msgid "Size" msgstr "Size" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:51 +#: src/slic3r/GUI/BedShapeDialog.cpp:55 msgid "Size in X and Y of the rectangular plate." msgstr "Size in X and Y of the rectangular plate." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:57 +#: src/slic3r/GUI/BedShapeDialog.cpp:61 msgid "Origin" msgstr "Origin" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:58 +#: src/slic3r/GUI/BedShapeDialog.cpp:62 msgid "" "Distance of the 0,0 G-code coordinate from the front left corner of the " "rectangle." @@ -43,49 +55,47 @@ msgstr "" "Distance of the 0,0 G-code coordinate from the front left corner of the " "rectangle." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:62 +#: src/slic3r/GUI/BedShapeDialog.cpp:66 msgid "Circular" msgstr "Circular" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:65 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:200 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:211 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:325 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:336 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:355 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:434 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:781 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:801 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:860 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:878 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:896 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1044 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1052 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1094 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1103 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1121 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1215 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1491 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1527 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1704 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1711 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1718 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1737 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1747 +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 msgid "mm" msgstr "mm" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:66 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:431 +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 msgid "Diameter" msgstr "Diameter" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:67 +#: src/slic3r/GUI/BedShapeDialog.cpp:71 msgid "" "Diameter of the print bed. It is assumed that origin (0,0) is located in the " "center." @@ -93,4276 +103,6981 @@ msgstr "" "Diameter of the print bed. It is assumed that origin (0,0) is located in the " "center." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:71 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:92 +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 msgid "Custom" msgstr "Custom" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:75 +#: src/slic3r/GUI/BedShapeDialog.cpp:79 msgid "Load shape from STL..." msgstr "Load shape from STL..." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:120 +#: src/slic3r/GUI/BedShapeDialog.cpp:125 msgid "Settings" msgstr "Settings" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:298 +#: src/slic3r/GUI/BedShapeDialog.cpp:298 msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" msgstr "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:315 +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 msgid "Error! " msgstr "Error! " -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:324 +#: src/slic3r/GUI/BedShapeDialog.cpp:324 msgid "The selected file contains no geometry." msgstr "The selected file contains no geometry." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:328 +#: src/slic3r/GUI/BedShapeDialog.cpp:328 msgid "" "The selected file contains several disjoint areas. This is not supported." msgstr "" "The selected file contains several disjoint areas. This is not supported." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.hpp:42 +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 msgid "Bed Shape" msgstr "Bed Shape" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:224 -msgid "Array of language names and identifiers should have the same size." -msgstr "Array of language names and identifiers should have the same size." +#: src/slic3r/GUI/BonjourDialog.cpp:54 +msgid "Network lookup" +msgstr "Network lookup" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Select the language" -msgstr "Select the language" +#: src/slic3r/GUI/BonjourDialog.cpp:67 +msgid "Address" +msgstr "Address" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Language" -msgstr "Language" +#: src/slic3r/GUI/BonjourDialog.cpp:68 +msgid "Hostname" +msgstr "Hostname" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:300 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:170 -msgid "Default" -msgstr "Default" +#: src/slic3r/GUI/BonjourDialog.cpp:69 +msgid "Service name" +msgstr "Service name" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:325 -msgid "Change Application Language" -msgstr "Change Application Language" +#: src/slic3r/GUI/BonjourDialog.cpp:70 +msgid "OctoPrint version" +msgstr "OctoPrint version" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Application will be restarted" -msgstr "Application will be restarted" +#: src/slic3r/GUI/BonjourDialog.cpp:188 +msgid "Searching for devices" +msgstr "Searching for devices" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Attention!" -msgstr "Attention!" +#: src/slic3r/GUI/BonjourDialog.cpp:195 +msgid "Finished" +msgstr "Finished" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:339 -msgid "&Localization" -msgstr "&Localization" +#: src/slic3r/GUI/ButtonsDescription.cpp:15 +msgid "Buttons And Text Colors Description" +msgstr "Buttons And Text Colors Description" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:488 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:470 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Error" -msgstr "Error" +#: src/slic3r/GUI/ButtonsDescription.cpp:40 +msgid "Value is the same as the system value" +msgstr "Value is the same as the system value" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:493 -msgid "Notice" -msgstr "Notice" +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" +"Value was changed and is not equal to the system value or the last saved " +"preset" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:498 -msgid "GLUquadricObjPtr | Attempt to free unreferenced scalar" -msgstr "GLUquadricObjPtr | Attempt to free unreferenced scalar" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 +msgid "Upgrade" +msgstr "Upgrade" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:500 -msgid "Warning" -msgstr "Warning" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 +msgid "Downgrade" +msgstr "Downgrade" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:50 -msgid "Save current " -msgstr "Save current " +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 +msgid "Before roll back" +msgstr "Before roll back" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:51 -msgid "Delete this preset" -msgstr "Delete this preset" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 +msgid "User" +msgstr "User" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:313 -msgid "Layers and perimeters" -msgstr "Layers and perimeters" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 +msgid "Unknown" +msgstr "Unknown" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:314 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:777 -msgid "Layer height" -msgstr "Layer height" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 +msgid "Active: " +msgstr "Active: " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:318 -msgid "Vertical shells" -msgstr "Vertical shells" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +msgid "slic3r version" +msgstr "slic3r version" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:329 -msgid "Horizontal shells" -msgstr "Horizontal shells" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 +msgid "print" +msgstr "print" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:330 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1314 -msgid "Solid layers" -msgstr "Solid layers" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +msgid "filaments" +msgstr "filaments" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:335 -msgid "Quality (slower slicing)" -msgstr "Quality (slower slicing)" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 +msgid "printer" +msgstr "printer" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:342 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:356 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:449 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:452 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:831 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:107 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:208 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:736 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1733 -msgid "Advanced" -msgstr "Advanced" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 +msgid "vendor" +msgstr "vendor" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:346 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:347 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:664 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:87 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:247 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:488 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:502 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:540 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:681 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:691 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:709 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:746 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1263 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1280 -msgid "Infill" -msgstr "Infill" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +msgid "version" +msgstr "version" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:352 -msgid "Reducing printing time" -msgstr "Reducing printing time" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 +msgid "min slic3r version" +msgstr "min slic3r version" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:364 -msgid "Skirt and brim" -msgstr "Skirt and brim" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 +msgid "max slic3r version" +msgstr "max slic3r version" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:365 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:146 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:88 -msgid "Skirt" -msgstr "Skirt" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "model" +msgstr "model" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:371 -msgid "Brim" -msgstr "Brim" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "variants" +msgstr "variants" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:374 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:375 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:191 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1030 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1380 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1387 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1399 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1409 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1417 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1432 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1453 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1464 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1480 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1489 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1498 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1509 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1525 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1533 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1534 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1543 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1551 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1565 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:147 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:89 -msgid "Support material" -msgstr "Support material" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 +msgid "Incompatible with this Slic3r" +msgstr "Incompatible with this Slic3r" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:380 -msgid "Raft" -msgstr "Raft" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 +msgid "Activate" +msgstr "Activate" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:384 -msgid "Options for support material and raft" -msgstr "Options for support material and raft" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 +msgid "Configuration Snapshots" +msgstr "Configuration Snapshots" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:398 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:278 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:635 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:747 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:979 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1201 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1251 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1302 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1625 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:71 -msgid "Speed" -msgstr "Speed" +#: src/slic3r/GUI/ConfigWizard.cpp:92 +msgid "nozzle" +msgstr "nozzle" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:399 -msgid "Speed for print moves" -msgstr "Speed for print moves" +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "(default)" +msgstr "(default)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:411 -msgid "Speed for non-print moves" -msgstr "Speed for non-print moves" +#: src/slic3r/GUI/ConfigWizard.cpp:116 +msgid "Select all" +msgstr "Select all" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:414 -msgid "Modifiers" -msgstr "Modifiers" +#: src/slic3r/GUI/ConfigWizard.cpp:117 +msgid "Select none" +msgstr "Select none" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:417 -msgid "Acceleration control (advanced)" -msgstr "Acceleration control (advanced)" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +#, c-format +msgid "Welcome to the Slic3r %s" +msgstr "Welcome to the Slic3r %s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:424 -msgid "Autospeed (advanced)" -msgstr "Autospeed (advanced)" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +msgid "Welcome" +msgstr "Welcome" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:430 -msgid "Multiple Extruders" -msgstr "Multiple Extruders" +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 +#, c-format +msgid "Run %s" +msgstr "Run %s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:431 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:308 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:702 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:958 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1445 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1471 -msgid "Extruders" -msgstr "Extruders" +#: src/slic3r/GUI/ConfigWizard.cpp:234 +#, 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." +msgstr "" +"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." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:438 -msgid "Ooze prevention" -msgstr "Ooze prevention" +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" +msgstr "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:442 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:149 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:91 -msgid "Wipe tower" -msgstr "Wipe tower" +#: src/slic3r/GUI/ConfigWizard.cpp:263 +msgid "Other vendors" +msgstr "Other vendors" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:453 -msgid "Extrusion width" -msgstr "Extrusion width" +#: src/slic3r/GUI/ConfigWizard.cpp:265 +msgid "Custom setup" +msgstr "Custom setup" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:463 -msgid "Overlap" -msgstr "Overlap" +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Automatic updates" +msgstr "Automatic updates" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:466 -msgid "Flow" -msgstr "Flow" +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Updates" +msgstr "Updates" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:469 -msgid "Other" -msgstr "Other" +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 +msgid "Check for application updates" +msgstr "Check for application updates" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:476 -msgid "Output options" -msgstr "Output options" +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" +"If enabled, Slic3r checks for new versions of Slic3r PE 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." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:477 -msgid "Sequential printing" -msgstr "Sequential printing" +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 +msgid "Update built-in Presets automatically" +msgstr "Update built-in Presets automatically" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:479 -msgid "Extruder clearance (mm)" -msgstr "Extruder clearance (mm)" +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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 "" +"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." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:488 -msgid "Output file" -msgstr "Output file" +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:494 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1001 -msgid "Post-processing scripts" -msgstr "Post-processing scripts" +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." +msgstr "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:500 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:501 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:859 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:860 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1156 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1157 -msgid "Notes" -msgstr "Notes" +#: src/slic3r/GUI/ConfigWizard.cpp:320 +msgid "Other Vendors" +msgstr "Other Vendors" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:507 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:867 -msgid "Dependencies" -msgstr "Dependencies" +#: src/slic3r/GUI/ConfigWizard.cpp:322 +msgid "Pick another vendor supported by Slic3r PE:" +msgstr "Pick another vendor supported by Slic3r PE:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:508 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:868 -msgid "Profile dependencies" -msgstr "Profile dependencies" +#: src/slic3r/GUI/ConfigWizard.cpp:381 +msgid "Firmware Type" +msgstr "Firmware Type" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:509 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:869 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1668 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:143 -msgid "Compatible printers" -msgstr "Compatible printers" +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 +msgid "Firmware" +msgstr "Firmware" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:533 -#, 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 "" -"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?" +#: src/slic3r/GUI/ConfigWizard.cpp:385 +msgid "Choose the type of firmware used by your printer." +msgstr "Choose the type of firmware used by your printer." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:540 -msgid "Spiral Vase" -msgstr "Spiral Vase" +#: src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape and Size" +msgstr "Bed Shape and Size" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:560 -msgid "" -"The Wipe Tower currently supports only:\n" -"- first layer height 0.2mm\n" -"- layer height from 0.15mm to 0.35mm\n" -"\n" -"Shall I adjust those settings in order to enable the Wipe Tower?" -msgstr "" -"The Wipe Tower currently supports only:\n" -"- first layer height 0.2mm\n" -"- layer height from 0.15mm to 0.35mm\n" -"\n" -"Shall I adjust those settings in order to enable the Wipe Tower?" +#: src/slic3r/GUI/ConfigWizard.cpp:422 +msgid "Set the shape of your printer's bed." +msgstr "Set the shape of your printer's bed." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:564 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:585 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:602 -msgid "Wipe Tower" -msgstr "Wipe Tower" +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Filament and Nozzle Diameters" +msgstr "Filament and Nozzle Diameters" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:581 -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 "" -"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?" +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Print Diameters" +msgstr "Print Diameters" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:599 -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 "" -"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?" +#: src/slic3r/GUI/ConfigWizard.cpp:452 +msgid "Enter the diameter of your printer's hot end nozzle." +msgstr "Enter the diameter of your printer's hot end nozzle." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:617 +#: src/slic3r/GUI/ConfigWizard.cpp:455 +msgid "Nozzle Diameter:" +msgstr "Nozzle Diameter:" + +#: src/slic3r/GUI/ConfigWizard.cpp:465 +msgid "Enter the diameter of your filament." +msgstr "Enter the diameter of your filament." + +#: src/slic3r/GUI/ConfigWizard.cpp:466 msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." msgstr "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:620 -msgid "Support Generator" -msgstr "Support Generator" +#: src/slic3r/GUI/ConfigWizard.cpp:469 +msgid "Filament Diameter:" +msgstr "Filament Diameter:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -msgid "The " -msgstr "The " +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Extruder and Bed Temperatures" +msgstr "Extruder and Bed Temperatures" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -#, no-c-format +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Temperatures" +msgstr "Temperatures" + +#: src/slic3r/GUI/ConfigWizard.cpp:503 +msgid "Enter the temperature needed for extruding your filament." +msgstr "Enter the temperature needed for extruding your filament." + +#: src/slic3r/GUI/ConfigWizard.cpp:504 +msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." +msgstr "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." + +#: src/slic3r/GUI/ConfigWizard.cpp:507 +msgid "Extrusion Temperature:" +msgstr "Extrusion Temperature:" + +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 +msgid "°C" +msgstr "°C" + +#: src/slic3r/GUI/ConfigWizard.cpp:517 msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." msgstr "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:786 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:787 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:368 -msgid "Filament" -msgstr "Filament" +#: src/slic3r/GUI/ConfigWizard.cpp:518 +msgid "" +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " +"no heated bed." +msgstr "" +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " +"no heated bed." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:794 -msgid "Temperature " -msgstr "Temperature " +#: src/slic3r/GUI/ConfigWizard.cpp:521 +msgid "Bed Temperature:" +msgstr "Bed Temperature:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:795 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1234 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:307 -msgid "Extruder" -msgstr "Extruder" +#: src/slic3r/GUI/ConfigWizard.cpp:833 +msgid "< &Back" +msgstr "< &Back" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:800 -msgid "Bed" -msgstr "Bed" +#: src/slic3r/GUI/ConfigWizard.cpp:834 +msgid "&Next >" +msgstr "&Next >" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:805 -msgid "Cooling" -msgstr "Cooling" +#: src/slic3r/GUI/ConfigWizard.cpp:835 +msgid "&Finish" +msgstr "&Finish" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:806 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:922 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1695 -msgid "Enable" -msgstr "Enable" +#: src/slic3r/GUI/ConfigWizard.cpp:906 +msgid "Configuration Wizard" +msgstr "Configuration Wizard" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:817 -msgid "Fan settings" -msgstr "Fan settings" +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "Configuration &Wizard" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:818 -msgid "Fan speed" -msgstr "Fan speed" +#: src/slic3r/GUI/ConfigWizard.cpp:909 +msgid "Configuration Assistant" +msgstr "Configuration Assistant" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:826 -msgid "Cooling thresholds" -msgstr "Cooling thresholds" +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "Configuration &Assistant" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:832 -msgid "Filament properties" -msgstr "Filament properties" +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "default value" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:836 -msgid "Print speed override" -msgstr "Print speed override" +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" +msgstr "parameter name" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:846 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1119 -msgid "Custom G-code" -msgstr "Custom G-code" +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "%s doesn't support percentage" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:847 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1342 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1357 -msgid "Start G-code" -msgstr "Start G-code" +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 +msgid "" +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" +msgstr "" +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:853 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1126 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:217 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:227 -msgid "End G-code" -msgstr "End G-code" +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "Input value is out of range" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:937 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:11 -msgid "General" -msgstr "General" +#: src/slic3r/GUI/Field.cpp:176 +#, 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." +msgstr "" +"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." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:938 -msgid "Size and coordinates" -msgstr "Size and coordinates" +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" +msgstr "Parameter validation" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:940 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:34 -msgid "Bed shape" -msgstr "Bed shape" +#: src/slic3r/GUI/FirmwareDialog.cpp:133 +msgid "Flash!" +msgstr "Flash!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:942 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1637 -msgid " Set " -msgstr " Set " +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 +msgid "Cancel" +msgstr "Cancel" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:962 -msgid "Capabilities" -msgstr "Capabilities" +#: src/slic3r/GUI/FirmwareDialog.cpp:135 +msgid "Flashing in progress. Please do not disconnect the printer!" +msgstr "Flashing in progress. Please do not disconnect the printer!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:967 -msgid "Number of extruders of the printer." -msgstr "Number of extruders of the printer." +#: src/slic3r/GUI/FirmwareDialog.cpp:245 +msgid "Flashing succeeded!" +msgstr "Flashing succeeded!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:989 -msgid "USB/Serial connection" -msgstr "USB/Serial connection" +#: src/slic3r/GUI/FirmwareDialog.cpp:246 +msgid "Flashing failed. Please see the avrdude log below." +msgstr "Flashing failed. Please see the avrdude log below." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:990 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1193 -msgid "Serial port" -msgstr "Serial port" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:995 -msgid "Rescan serial ports" -msgstr "Rescan serial ports" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1004 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1072 -msgid "Test" -msgstr "Test" +#: src/slic3r/GUI/FirmwareDialog.cpp:247 +msgid "Flashing cancelled." +msgstr "Flashing cancelled." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Connection to printer works correctly." -msgstr "Connection to printer works correctly." - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Success!" -msgstr "Success!" +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "Flashing failed: %s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1020 -msgid "Connection failed." -msgstr "Connection failed." +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" +"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." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1032 -msgid "OctoPrint upload" -msgstr "OctoPrint upload" +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1035 -msgid " Browse " -msgstr " Browse " +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "The device could not have been found" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1110 -msgid "Firmware" -msgstr "Firmware" +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" +msgstr "Error accessing port at %s: %s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1132 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:48 -msgid "Before layer change G-code" -msgstr "Before layer change G-code" +#: src/slic3r/GUI/FirmwareDialog.cpp:690 +msgid "Firmware flasher" +msgstr "Firmware flasher" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1138 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:766 -msgid "After layer change G-code" -msgstr "After layer change G-code" +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "Firmware image:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1144 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1602 -msgid "Tool change G-code" -msgstr "Tool change G-code" +#: src/slic3r/GUI/FirmwareDialog.cpp:716 +msgid "Serial port:" +msgstr "Serial port:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1150 -msgid "Between objects G-code (for sequential printing)" -msgstr "Between objects G-code (for sequential printing)" +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "Autodetected" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1187 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:400 -#, c-format -msgid "Extruder %d" -msgstr "Extruder %d" +#: src/slic3r/GUI/FirmwareDialog.cpp:719 +msgid "Rescan" +msgstr "Rescan" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1194 -msgid "Layer height limits" -msgstr "Layer height limits" +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" +msgstr "Progress:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1199 -msgid "Position (for multi-extruder printers)" -msgstr "Position (for multi-extruder printers)" +#: src/slic3r/GUI/FirmwareDialog.cpp:729 +msgid "Status:" +msgstr "Status:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1202 -msgid "Retraction" -msgstr "Retraction" +#: src/slic3r/GUI/FirmwareDialog.cpp:730 +msgid "Ready" +msgstr "Ready" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1205 -msgid "Only lift Z" -msgstr "Only lift Z" +#: src/slic3r/GUI/FirmwareDialog.cpp:750 +msgid "Advanced: avrdude output log" +msgstr "Advanced: avrdude output log" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1218 +#: src/slic3r/GUI/FirmwareDialog.cpp:809 msgid "" -"Retraction when tool is disabled (advanced settings for multi-extruder " -"setups)" +"Are you sure you want to cancel firmware flashing?\n" +"This could leave your printer in an unusable state!" msgstr "" -"Retraction when tool is disabled (advanced settings for multi-extruder " -"setups)" +"Are you sure you want to cancel firmware flashing?\n" +"This could leave your printer in an unusable state!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2125 -msgid "Preview" -msgstr "Preview" +#: src/slic3r/GUI/FirmwareDialog.cpp:810 +msgid "Confirmation" +msgstr "Confirmation" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1312 -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 "" -"The Wipe option is not available when using the Firmware Retraction mode.\n" -"\n" -"Shall I disable it in order to enable Firmware Retraction?" +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "Cancelling..." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1314 -msgid "Firmware Retraction" -msgstr "Firmware Retraction" +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 +msgid "Detected object outside print volume" +msgstr "Detected object outside print volume" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid "Default " -msgstr "Default " +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "Detected toolpath outside print volume" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid " preset" -msgstr " preset" +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "Rotate" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1470 -msgid " preset\n" -msgstr " preset\n" +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "Rotation (deg)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" -msgstr "" -"\n" -"\n" -"is not compatible with printer\n" +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "Scale" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"and it has the following unsaved changes:" +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "Scale (%)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1489 -msgid "" -"\n" -"\n" -"has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"has the following unsaved changes:" +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "Move" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1491 -msgid "" -"\n" -"\n" -"Discard changes and continue anyway?" -msgstr "" -"\n" -"\n" -"Discard changes and continue anyway?" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "Position (mm)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1492 -msgid "Unsaved Changes" -msgstr "Unsaved Changes" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "Displacement (mm)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1560 -msgid "The supplied name is empty. It can't be saved." -msgstr "The supplied name is empty. It can't be saved." +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "Place on face" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "remove" -msgstr "remove" +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "Left mouse click - add point" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "delete" -msgstr "delete" +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "Right mouse click - remove point" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid "Are you sure you want to " -msgstr "Are you sure you want to " +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "Generate points automatically" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid " the selected preset?" -msgstr " the selected preset?" +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "Remove all points" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -msgid "Remove" -msgstr "Remove" +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "SLA Support Points" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:178 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:196 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Delete" -msgstr "Delete" +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "Rotate lower part upwards" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1583 -msgid " Preset" -msgstr " Preset" +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "Perform cut" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1636 -msgid "All" -msgstr "All" +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "Cut object:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1667 -msgid "Select the printers this profile is compatible with." -msgstr "Select the printers this profile is compatible with." +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "Cut" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid "Save " -msgstr "Save " +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "Keep upper part" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -msgid " as:" -msgstr " as:" +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "Keep lower part" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1785 -msgid "" -"The supplied name is not valid; the following characters are not allowed:" -msgstr "" -"The supplied name is not valid; the following characters are not allowed:" +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "Notice" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1788 -msgid "The supplied name is not available." -msgstr "The supplied name is not available." +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "Attempt to free unreferenced scalar" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:182 -msgid "Print Settings" -msgstr "Print Settings" +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "Warning" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:202 -msgid "Filament Settings" -msgstr "Filament Settings" +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "Choose one file (3MF):" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:228 -msgid "Printer Settings" -msgstr "Printer Settings" +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:248 -msgid "Save preset" -msgstr "Save preset" +#: src/slic3r/GUI/GUI_App.cpp:451 +msgid "Array of language names and identifiers should have the same size." +msgstr "Array of language names and identifiers should have the same size." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Field.cpp:42 -msgid "default" -msgstr "default" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Select the language" +msgstr "Select the language" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:26 -#, 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 "" -"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)." +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Language" +msgstr "Language" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:30 -#, 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%%." -msgstr "" -"\n" -"If estimated layer time is greater, but still below ~%ds, fan will run at a " -"proportionally decreasing speed between %d%% and %d%%." +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 +msgid "Default" +msgstr "Default" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:34 -msgid "" -"\n" -"During the other layers, fan " -msgstr "" -"\n" -"During the other layers, fan " +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "&Configuration Snapshots" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:36 -msgid "Fan " -msgstr "Fan " +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "Inspect / activate configuration snapshots" +msgstr "Inspect / activate configuration snapshots" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:41 -#, c-format -msgid "will always run at %d%% " -msgstr "will always run at %d%% " +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" +msgstr "Take Configuration &Snapshot" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:44 -#, c-format -msgid "except for the first %d layers" -msgstr "except for the first %d layers" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Capture a configuration snapshot" +msgstr "Capture a configuration snapshot" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:48 -msgid "except for the first layer" -msgstr "except for the first layer" +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" +msgstr "&Preferences" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:50 -msgid "will be turned off." -msgstr "will be turned off." +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "Application preferences" +msgstr "Application preferences" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:151 -msgid "external perimeters" -msgstr "external perimeters" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple" +msgstr "Simple" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:160 -msgid "perimeters" -msgstr "perimeters" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple View Mode" +msgstr "Simple View Mode" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:169 -msgid "infill" -msgstr "infill" +#: src/slic3r/GUI/GUI_App.cpp:617 src/slic3r/GUI/GUI_ObjectList.cpp:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "Advanced" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:179 -msgid "solid infill" -msgstr "solid infill" +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "Advanced View Mode" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:187 -msgid "top solid infill" -msgstr "top solid infill" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "Expert" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:198 -msgid "support" -msgstr "support" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "Expert View Mode" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:208 -msgid "support interface" -msgstr "support interface" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "Mode" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "First layer volumetric" -msgstr "First layer volumetric" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "Slic3r View Mode" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Bridging volumetric" -msgstr "Bridging volumetric" +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" +msgstr "Change Application &Language" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Volumetric" -msgstr "Volumetric" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" +msgstr "Flash printer &firmware" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:215 -msgid " flow rate is maximized " -msgstr " flow rate is maximized " +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Upload a firmware image into an Arduino based printer" +msgstr "Upload a firmware image into an Arduino based printer" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:218 -msgid "by the print profile maximum" -msgstr "by the print profile maximum" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Taking configuration snapshot" +msgstr "Taking configuration snapshot" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:219 -msgid "when printing " -msgstr "when printing " +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Snapshot name" +msgstr "Snapshot name" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:220 -msgid " with a volumetric rate " -msgstr " with a volumetric rate " +#: src/slic3r/GUI/GUI_App.cpp:674 +msgid "Application will be restarted" +msgstr "Application will be restarted" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:224 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f mm³/s" +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 +msgid "Attention!" +msgstr "Attention!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:226 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " at filament speed %3.2f mm/s." +#: src/slic3r/GUI/GUI_App.cpp:691 +msgid "&Configuration" +msgstr "&Configuration" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:245 -msgid "" -"Recommended object thin wall thickness: Not available due to invalid layer " -"height." -msgstr "" -"Recommended object thin wall thickness: Not available due to invalid layer " -"height." +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "You have unsaved changes " +msgstr "You have unsaved changes " -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:262 -#, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "Recommended object thin wall thickness for layer height %.2f and " +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid ". Discard changes and continue anyway?" +msgstr ". Discard changes and continue anyway?" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:269 -#, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d lines: %.2lf mm" +#: src/slic3r/GUI/GUI_App.cpp:712 +msgid "Unsaved Presets" +msgstr "Unsaved Presets" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.hpp:17 -msgid "Preferences" -msgstr "Preferences" +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "Layers and Perimeters" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:27 -msgid "Remember output directory" -msgstr "Remember output directory" +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "Infill" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:29 -msgid "" -"If this is enabled, Slic3r will prompt the last output directory instead of " -"the one containing the input files." -msgstr "" -"If this is enabled, Slic3r will prompt the last output directory instead of " -"the one containing the input files." +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "Support material" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:35 -msgid "Auto-center parts" -msgstr "Auto-center parts" +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "Speed" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:37 -msgid "" -"If this is enabled, Slic3r will auto-center objects around the print bed " -"center." -msgstr "" -"If this is enabled, Slic3r will auto-center objects around the print bed " -"center." +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "Extruders" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:43 -msgid "Background processing" -msgstr "Background processing" +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "Extrusion Width" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:45 -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." -msgstr "" -"If this is enabled, Slic3r will pre-process objects as soon as they're " -"loaded in order to save time when exporting G-code." +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" +msgstr "Supports" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" +msgstr "Pad" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "Name" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:51 -msgid "Disable USB/serial connection" -msgstr "Disable USB/serial connection" +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "Right button click the icon to change the object settings" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:53 -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 "" -"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." +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" +msgstr "Auto-repaired (%d errors):\n" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:59 -msgid "Suppress \" - default - \" presets" -msgstr "Suppress \" - default - \" presets" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "degenerate facets" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:61 -msgid "" -"Suppress \" - default - \" presets in the Print / Filament / Printer " -"selections once there are any other valid presets available." -msgstr "" -"Suppress \" - default - \" presets in the Print / Filament / Printer " -"selections once there are any other valid presets available." +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" +msgstr "edges fixed" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:67 -msgid "Show incompatible print and filament presets" -msgstr "Show incompatible print and filament presets" +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" +msgstr "facets removed" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:69 -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 "" -"When checked, the print and filament presets are shown in the preset editor " -"even if they are marked as incompatible with the active printer" +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" +msgstr "facets added" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:75 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "Use legacy OpenGL 1.1 rendering" +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" +msgstr "facets reversed" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:77 -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 "" -"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." +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" +msgstr "backwards edges" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:101 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "You need to restart Slic3r to make the changes effective." +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "Right button click the icon to fix STL through Netfabb" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:26 -msgid "Avoid crossing perimeters" -msgstr "Avoid crossing perimeters" +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "Extruder" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:27 -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." -msgstr "" -"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." +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" +msgstr "Select showing settings" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:38 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1572 -msgid "Other layers" -msgstr "Other layers" +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" +msgstr "Load" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:39 -msgid "" -"Bed temperature for layers after the first one. Set this to zero to disable " -"bed temperature control commands in the output." -msgstr "" -"Bed temperature for layers after the first one. Set this to zero to disable " -"bed temperature control commands in the output." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" +msgstr "Box" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:42 -msgid "Bed temperature" -msgstr "Bed temperature" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" +msgstr "Cylinder" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:49 -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 "" -"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]." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" +msgstr "Sphere" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:59 -msgid "Between objects G-code" -msgstr "Between objects G-code" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" +msgstr "Slab" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:60 -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." -msgstr "" -"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." +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" +msgstr "Add part" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:68 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom" -msgstr "Bottom" +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" +msgstr "Add modifier" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:69 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:239 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:290 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:298 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:604 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:762 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:778 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:941 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:989 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1152 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1583 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1639 -msgid "Layers and Perimeters" -msgstr "Layers and Perimeters" +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" +msgstr "Add support enforcer" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:70 -msgid "Number of solid layers to generate on bottom surfaces." -msgstr "Number of solid layers to generate on bottom surfaces." +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" +msgstr "Add support blocker" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:72 -msgid "Bottom solid layers" -msgstr "Bottom solid layers" +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" +msgstr "Split to parts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:77 -msgid "Bridge" -msgstr "Bridge" +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "Add settings" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:78 -msgid "" -"This is the acceleration your printer will use for bridges. Set zero to " -"disable acceleration control for bridges." -msgstr "" -"This is the acceleration your printer will use for bridges. Set zero to " -"disable acceleration control for bridges." +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "Change type" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:80 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:174 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:576 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:684 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:952 -msgid "mm/s²" -msgstr "mm/s²" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "You can't delete the last solid part from object." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:86 -msgid "Bridging angle" -msgstr "Bridging angle" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "You can't delete the last intance from object." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:88 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 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." +"The selected object couldn't be split because it contains only one part." msgstr "" -"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." +"The selected object couldn't be split because it contains only one part." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:91 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:492 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1170 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1181 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1401 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1557 -msgid "°" -msgstr "°" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "Group manipulation" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:97 -msgid "Bridges fan speed" -msgstr "Bridges fan speed" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "Object manipulation" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:98 -msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "This fan speed is enforced during all bridges and overhangs." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "Object Settings to modify" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:99 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:504 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:789 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:850 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1060 -msgid "%" -msgstr "%" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "Part Settings to modify" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:106 -msgid "Bridge flow ratio" -msgstr "Bridge flow ratio" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "Part manipulation" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:108 -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." -msgstr "" -"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." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "Instance manipulation" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:117 -msgid "Bridges" -msgstr "Bridges" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "You can't change a type of the last solid part of the object." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:119 -msgid "Speed for printing bridges." -msgstr "Speed for printing bridges." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "Select type of part" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:638 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:749 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:811 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:868 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:981 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1137 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1146 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1536 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1649 -msgid "mm/s" -msgstr "mm/s" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "The supplied name is not valid;" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:127 -msgid "Brim width" -msgstr "Brim width" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "the following characters are not allowed:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:128 -msgid "" -"Horizontal width of the brim that will be printed around each object on the " -"first layer." -msgstr "" -"Horizontal width of the brim that will be printed around each object on the " -"first layer." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "Object Manipulation" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:135 -msgid "Clip multi-part objects" -msgstr "Clip multi-part objects" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "Object name" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:136 -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 "" -"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)." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "Position" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:147 -msgid "Compatible printers condition" -msgstr "Compatible printers condition" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "Rotation" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:148 -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 "" -"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." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "Scale factors" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:154 -msgid "Complete individual objects" -msgstr "Complete individual objects" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "Translate" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:155 -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 "" -"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." +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "View" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:163 -msgid "Enable auto cooling" -msgstr "Enable auto cooling" +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "Feature type" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:164 -msgid "" -"This flag enables the automatic cooling logic that adjusts print speed and " -"fan speed according to layer printing time." -msgstr "" -"This flag enables the automatic cooling logic that adjusts print speed and " -"fan speed according to layer printing time." +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "Height" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:171 -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." -msgstr "" -"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." +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "Width" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:180 -msgid "Disable fan for the first" -msgstr "Disable fan for the first" +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "Volumetric flow rate" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:181 -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." -msgstr "" -"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." +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "Tool" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:183 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:694 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1033 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1224 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1285 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1437 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1482 -msgid "layers" -msgstr "layers" +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "Color Print" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:190 -msgid "Don't support bridges" -msgstr "Don't support bridges" +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "Show" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:192 -msgid "" -"Experimental option for preventing support material from being generated " -"under bridged areas." -msgstr "" -"Experimental option for preventing support material from being generated " -"under bridged areas." +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "Feature types" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:198 -msgid "Distance between copies" -msgstr "Distance between copies" +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "Perimeter" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:199 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "Distance used for the auto-arrange feature of the plater." +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "External perimeter" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:207 -msgid "Elephant foot compensation" -msgstr "Elephant foot compensation" +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "Overhang perimeter" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:209 -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 "" -"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." +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "Internal infill" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:218 -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 "" -"This end procedure is inserted at the end of the output file. Note that you " -"can use placeholder variables for all Slic3r settings." +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "Solid infill" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:228 -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 "" -"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." +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "Top solid infill" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:238 -msgid "Ensure vertical shell thickness" -msgstr "Ensure vertical shell thickness" +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "Bridge infill" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:240 -msgid "" -"Add solid infill near sloping surfaces to guarantee the vertical shell " -"thickness (top+bottom solid layers)." -msgstr "" -"Add solid infill near sloping surfaces to guarantee the vertical shell " -"thickness (top+bottom solid layers)." +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "Gap fill" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:246 -msgid "Top/bottom fill pattern" -msgstr "Top/bottom fill pattern" +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "Skirt" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:248 -msgid "" -"Fill pattern for top/bottom infill. This only affects the external visible " -"layer, and not its adjacent solid shells." -msgstr "" -"Fill pattern for top/bottom infill. This only affects the external visible " -"layer, and not its adjacent solid shells." +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "Support material interface" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:267 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:277 -msgid "External perimeters" -msgstr "External perimeters" +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" +msgstr "Wipe tower" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:268 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:377 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:592 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:710 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:967 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1292 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1454 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1614 -msgid "Extrusion Width" -msgstr "Extrusion Width" +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "Travel" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:269 -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." -msgstr "" -"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." +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "Retractions" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:597 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:715 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:972 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1296 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1458 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1619 -msgid "mm or % (leave 0 for default)" -msgstr "mm or % (leave 0 for default)" +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "Unretractions" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:279 -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." -msgstr "" -"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." +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "Shells" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:282 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:619 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1255 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1306 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1501 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1631 -msgid "mm/s or %" -msgstr "mm/s or %" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +msgstr "Slic3r Prusa Edition - Keyboard Shortcuts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:289 -msgid "External perimeters first" -msgstr "External perimeters first" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" +msgstr "Main Shortcuts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:291 -msgid "" -"Print contour perimeters from the outermost one to the innermost one instead " -"of the default inverse order." -msgstr "" -"Print contour perimeters from the outermost one to the innermost one instead " -"of the default inverse order." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "Open project STL/OBJ/AMF/3MF with config, delete bed" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:297 -msgid "Extra perimeters if needed" -msgstr "Extra perimeters if needed" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "Import STL/OBJ/AMF/3MF without config, keep bed" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:299 -#, no-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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" +msgstr "Load Config from .ini/amf/3mf/gcode" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:309 -msgid "" -"The extruder to use (unless more specific extruder settings are specified). " -"This value overrides perimeter and infill extruders, but not the support " -"extruders." -msgstr "" -"The extruder to use (unless more specific extruder settings are specified). " -"This value overrides perimeter and infill extruders, but not the support " -"extruders." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "Export G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:320 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:69 -msgid "Height" -msgstr "Height" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "Save project (3MF)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:321 -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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "Load Config from .ini/amf/3mf/gcode and merge" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:331 -msgid "Radius" -msgstr "Radius" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "(Re)slice" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:332 -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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" +msgstr "Quick slice" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:342 -msgid "Extruder Color" -msgstr "Extruder Color" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "Repeat last quick slice" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:343 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:406 -msgid "This is only used in the Slic3r interface as a visual help." -msgstr "This is only used in the Slic3r interface as a visual help." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "Select Plater Tab" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:350 -msgid "Extruder offset" -msgstr "Extruder offset" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "Quick slice and Save as" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:351 -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)." -msgstr "" -"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)." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "Select Print Settings Tab" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:360 -msgid "Extrusion axis" -msgstr "Extrusion axis" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "Select Filament Settings Tab" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:361 -msgid "" -"Use this option to set the axis letter associated to your printer's extruder " -"(usually E but some printers use A)." -msgstr "" -"Use this option to set the axis letter associated to your printer's extruder " -"(usually E but some printers use A)." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "Select Printer Settings Tab" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:367 -msgid "Extrusion multiplier" -msgstr "Extrusion multiplier" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "Switch to 3D" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:368 -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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "Switch to Preview" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:376 -msgid "Default extrusion width" -msgstr "Default extrusion width" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "Preferences" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:378 -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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "Print host upload queue" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:382 -msgid "mm or % (leave 0 for auto)" -msgstr "mm or % (leave 0 for auto)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "Camera view " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:387 -msgid "Keep fan always on" -msgstr "Keep fan always on" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "Add Instance to selected object " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:388 -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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "Remove Instance from selected object" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:394 -msgid "Enable fan if layer print time is below" -msgstr "Enable fan if layer print time is below" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "Show keyboard shortcuts list" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:395 -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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "Switch between 3D and Preview" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:397 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1242 -msgid "approximate seconds" -msgstr "approximate seconds" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "Select multiple object/Move multiple object" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:405 -msgid "Color" -msgstr "Color" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "Arrange" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:412 -msgid "Filament notes" -msgstr "Filament notes" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "Select All objects" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:413 -msgid "You can put your notes regarding the filament here." -msgstr "You can put your notes regarding the filament here." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "Delete selected" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:817 -msgid "Max volumetric speed" -msgstr "Max volumetric speed" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "Delete All" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:422 -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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "Gizmo move" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:425 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:820 -msgid "mm³/s" -msgstr "mm³/s" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "Gizmo scale" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:432 -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 "" -"Enter your filament diameter here. Good precision is required, so use a " -"caliper and do multiple measurements along the filament, then compute the " -"average." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "Gizmo rotate" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:440 -msgid "Density" -msgstr "Density" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "Gizmo cut" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:441 -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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "Gizmo Place face on bed" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:444 -msgid "g/cm³" -msgstr "g/cm³" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "Gizmo SLA support points" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:450 -msgid "Filament type" -msgstr "Filament type" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:451 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1002 -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." -msgstr "" -"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." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:470 -msgid "Soluble material" -msgstr "Soluble material" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "Zoom to Bed" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:471 -msgid "Soluble material is most likely used for a soluble support." -msgstr "Soluble material is most likely used for a soluble support." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "Zoom to all objects in scene, if none selected" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:476 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:450 -msgid "Cost" -msgstr "Cost" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "Zoom to selected object" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:477 -msgid "" -"Enter your filament cost per kg here. This is only for statistical " -"information." -msgstr "" -"Enter your filament cost per kg here. This is only for statistical " -"information." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "Zoom in" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:478 -msgid "money/kg" -msgstr "money/kg" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "Zoom out" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:487 -msgid "Fill angle" -msgstr "Fill angle" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "Unselect gizmo, keep object selection" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:489 -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." -msgstr "" -"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." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "Plater Shortcuts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:501 -msgid "Fill density" -msgstr "Fill density" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "Arrow Up" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:503 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." -msgstr "Density of internal infill, expressed in the range 0% - 100%." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "Upper Layer" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:539 -msgid "Fill pattern" -msgstr "Fill pattern" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "Arrow Down" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:541 -msgid "Fill pattern for general low-density infill." -msgstr "Fill pattern for general low-density infill." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "Lower Layer" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:573 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:582 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:591 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:625 -msgid "First layer" -msgstr "First layer" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "Preview Shortcuts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:574 +#: src/slic3r/GUI/MainFrame.cpp:53 msgid "" -"This is the acceleration your printer will use for first layer. Set zero to " -"disable acceleration control for first layer." +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" msgstr "" -"This is the acceleration your printer will use for first layer. Set zero to " -"disable acceleration control for first layer." +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:583 -msgid "" -"Heated build plate temperature for the first layer. Set this to zero to " -"disable bed temperature control commands in the output." -msgstr "" -"Heated build plate temperature for the first layer. Set this to zero to " -"disable bed temperature control commands in the output." +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" +msgstr "Plater" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:593 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "&Open" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:603 -msgid "First layer height" -msgstr "First layer height" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "Open a project file" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:605 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "&Save" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:609 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:740 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1390 -msgid "mm or %" -msgstr "mm or %" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "Save current project file" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:615 -msgid "First layer speed" -msgstr "First layer speed" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "Save &as" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:616 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "Save current project file as" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:626 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "Import STL/OBJ/AM&F/3MF" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:634 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:145 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:87 -msgid "Gap fill" -msgstr "Gap fill" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "Load a model" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:636 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "Import &Config" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:644 -msgid "Verbose G-code" -msgstr "Verbose G-code" +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "Load exported configuration file" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:645 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "Import Config from &project" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:652 -msgid "G-code flavor" -msgstr "G-code flavor" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "Load configuration from project file" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:653 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "Import Config &Bundle" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:682 -msgid "" -"This is the acceleration your printer will use for infill. Set zero to " -"disable acceleration control for infill." -msgstr "" -"This is the acceleration your printer will use for infill. Set zero to " -"disable acceleration control for infill." +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "Load presets from a bundle" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:690 -msgid "Combine infill every" -msgstr "Combine infill every" +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" +msgstr "&Import" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:692 -msgid "" -"This feature allows to combine infill and speed up your print by extruding " -"thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "" -"This feature allows to combine infill and speed up your print by extruding " -"thicker infill layers while preserving thin perimeters, thus accuracy." +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "Export &G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:696 -msgid "Combine infill every n layers" -msgstr "Combine infill every n layers" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "Export current plate as G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:701 -msgid "Infill extruder" -msgstr "Infill extruder" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "Export plate as &STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:703 -msgid "The extruder to use when printing infill." -msgstr "The extruder to use when printing infill." +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "Export current plate as STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:711 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "Export plate as &AMF" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:720 -msgid "Infill before perimeters" -msgstr "Infill before perimeters" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "Export current plate as AMF" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:721 -msgid "" -"This option will switch the print order of perimeters and infill, making the " -"latter first." -msgstr "" -"This option will switch the print order of perimeters and infill, making the " -"latter first." +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" +msgstr "Export &Config" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:726 -msgid "Only infill where needed" -msgstr "Only infill where needed" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "Export current configuration to file" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:728 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" +msgstr "Export Config &Bundle" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:735 -msgid "Infill/perimeters overlap" -msgstr "Infill/perimeters overlap" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "Export all presets to file" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:737 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "&Export" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:748 -msgid "Speed for printing the internal fill. Set to zero for auto." -msgstr "Speed for printing the internal fill. Set to zero for auto." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" +msgstr "Quick Slice" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:757 -msgid "Interface shells" -msgstr "Interface shells" +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "Slice a file into a G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:758 -msgid "" -"Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual " -"soluble support material." -msgstr "" -"Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual " -"soluble support material." +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" +msgstr "Quick Slice and Save As" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:767 -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 "" -"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]." +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "Slice a file into a G-code, save as" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:779 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "Repeat Last Quick Slice" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:787 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:796 -msgid "Max" -msgstr "Max" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "(Re)Slice &Now" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:788 -msgid "This setting represents the maximum speed of your fan." -msgstr "This setting represents the maximum speed of your fan." +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "Start new slicing process" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:797 -#, no-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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "&Repair STL file" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:807 -msgid "Max print speed" -msgstr "Max print speed" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "Automatically repair an STL file" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:808 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "&Quit" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:818 -msgid "" -"This experimental setting is used to set the maximum volumetric speed your " -"extruder supports." -msgstr "" -"This experimental setting is used to set the maximum volumetric speed your " -"extruder supports." +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "Quit Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:826 -msgid "Max volumetric slope positive" -msgstr "Max volumetric slope positive" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "&Select all" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:827 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:838 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "Selects all objects" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:831 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:842 -msgid "mm³/s²" -msgstr "mm³/s²" +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "&Delete selected" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:837 -msgid "Max volumetric slope negative" -msgstr "Max volumetric slope negative" +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" +msgstr "Deletes the current selection" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:848 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:857 -msgid "Min" -msgstr "Min" +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" +msgstr "Delete &all" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:849 -msgid "This setting represents the minimum PWM your fan needs to work." -msgstr "This setting represents the minimum PWM your fan needs to work." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" +msgstr "Deletes all objects" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:858 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "&Plater Tab" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:866 -msgid "Min print speed" -msgstr "Min print speed" +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "Show the plater" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:867 -msgid "Slic3r will not scale speed down below this speed." -msgstr "Slic3r will not scale speed down below this speed." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "P&rint Settings Tab" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:874 -msgid "Minimum extrusion length" -msgstr "Minimum extrusion length" +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "Show the print settings" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:875 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" +msgstr "&Filament Settings Tab" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:884 -msgid "Configuration notes" -msgstr "Configuration notes" +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "Show the filament settings" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:885 -msgid "" -"You can put here your personal notes. This text will be added to the G-code " -"header comments." -msgstr "" -"You can put here your personal notes. This text will be added to the G-code " -"header comments." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" +msgstr "Print&er Settings Tab" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:894 -msgid "Nozzle diameter" -msgstr "Nozzle diameter" +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "Show the printer settings" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:895 -msgid "" -"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" -msgstr "" -"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" +msgstr "3&D" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:901 -msgid "API Key" -msgstr "API Key" +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "Show the 3D editing view" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:902 -msgid "" -"Slic3r can upload G-code files to OctoPrint. This field should contain the " -"API Key required for authentication." -msgstr "" -"Slic3r can upload G-code files to OctoPrint. This field should contain the " -"API Key required for authentication." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "Pre&view" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:908 -msgid "Host or IP" -msgstr "Host or IP" +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" +msgstr "Show the 3D slices preview" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:909 -msgid "" -"Slic3r can upload G-code files to OctoPrint. This field should contain the " -"hostname or IP address of the OctoPrint instance." -msgstr "" -"Slic3r can upload G-code files to OctoPrint. This field should contain the " -"hostname or IP address of the OctoPrint instance." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "Print &Host Upload Queue" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:915 -msgid "Only retract when crossing perimeters" -msgstr "Only retract when crossing perimeters" +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "Display the Print Host Upload Queue window" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:916 -msgid "" -"Disables retraction when the travel path does not exceed the upper layer's " -"perimeters (and thus any ooze will be probably invisible)." -msgstr "" -"Disables retraction when the travel path does not exceed the upper layer's " -"perimeters (and thus any ooze will be probably invisible)." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "&Iso" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:923 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "Iso View" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:930 -msgid "Output filename format" -msgstr "Output filename format" +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "&Top" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:931 -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 "" -"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]." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "Top View" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:940 -msgid "Detect bridging perimeters" -msgstr "Detect bridging perimeters" +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "&Bottom" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:942 -msgid "" -"Experimental option to adjust flow for overhangs (bridge flow will be used), " -"to apply bridge speed to them and enable fan." -msgstr "" -"Experimental option to adjust flow for overhangs (bridge flow will be used), " -"to apply bridge speed to them and enable fan." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "Bottom View" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:948 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:978 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:988 -msgid "Perimeters" -msgstr "Perimeters" +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "&Front" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:949 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "Front View" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:957 -msgid "Perimeter extruder" -msgstr "Perimeter extruder" +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "R&ear" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:959 -msgid "" -"The extruder to use when printing perimeters and brim. First extruder is 1." -msgstr "" -"The extruder to use when printing perimeters and brim. First extruder is 1." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "Rear View" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:968 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "&Left" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:980 -msgid "" -"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." -msgstr "" -"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "Left View" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:990 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "&Right" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:994 -msgid "(minimum)" -msgstr "(minimum)" +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "Right View" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1014 -msgid "Printer notes" -msgstr "Printer notes" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "Prusa 3D &Drivers" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1015 -msgid "You can put your notes regarding the printer here." -msgstr "You can put your notes regarding the printer here." +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "Open the Prusa3D drivers download page in your browser" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1029 -msgid "Raft layers" -msgstr "Raft layers" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "Prusa Edition &Releases" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1031 -msgid "" -"The object will be raised by this number of layers, and support material " -"will be generated under it." -msgstr "" -"The object will be raised by this number of layers, and support material " -"will be generated under it." +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "Open the Prusa Edition releases page in your browser" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1039 -msgid "Resolution" -msgstr "Resolution" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "Slic3r &Website" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1040 -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." -msgstr "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "Open the Slic3r website in your browser" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1050 -msgid "Minimum travel after retraction" -msgstr "Minimum travel after retraction" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "Slic3r &Manual" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1051 -msgid "" -"Retraction is not triggered when travel moves are shorter than this length." -msgstr "" -"Retraction is not triggered when travel moves are shorter than this length." +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "Open the Slic3r manual in your browser" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1057 -msgid "Retract amount before wipe" -msgstr "Retract amount before wipe" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "System &Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1058 -msgid "" -"With bowden extruders, it may be wise to do some amount of quick retract " -"before doing the wipe movement." -msgstr "" -"With bowden extruders, it may be wise to do some amount of quick retract " -"before doing the wipe movement." +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "Show system information" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1065 -msgid "Retract on layer change" -msgstr "Retract on layer change" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "Show &Configuration Folder" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1066 -msgid "This flag enforces a retraction whenever a Z move is done." -msgstr "This flag enforces a retraction whenever a Z move is done." +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "Show user configuration folder (datadir)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1071 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1080 -msgid "Length" -msgstr "Length" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "Report an I&ssue" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1072 -msgid "Retraction Length" -msgstr "Retraction Length" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "Report an issue on the Slic3r Prusa Edition" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1073 -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 "" -"When retraction is triggered, filament is pulled back by the specified " -"amount (the length is measured on raw filament, before it enters the " -"extruder)." +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "&About Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1075 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1085 -msgid "mm (zero to disable)" -msgstr "mm (zero to disable)" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "Show about dialog" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1081 -msgid "Retraction Length (Toolchange)" -msgstr "Retraction Length (Toolchange)" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "&Keyboard Shortcuts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1082 -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 "" -"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)." +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "Show the list of the keyboard shortcuts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1090 -msgid "Lift Z" -msgstr "Lift Z" +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "&File" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1091 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "&Edit" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1099 -msgid "Above Z" -msgstr "Above Z" +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "&Window" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1100 -msgid "Only lift Z above" -msgstr "Only lift Z above" +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "&View" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1101 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "&Help" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1108 -msgid "Below Z" -msgstr "Below Z" +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1109 -msgid "Only lift Z below" -msgstr "Only lift Z below" +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "No previously sliced file." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1110 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "Error" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1126 -msgid "Extra length on restart" -msgstr "Extra length on restart" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "Previously sliced file (" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1119 -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 "" -"When the retraction is compensated after the travel move, the extruder will " -"push this additional amount of filament. This setting is rarely needed." +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr ") not found." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1127 -msgid "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." -msgstr "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "File Not Found" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1134 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1135 -msgid "Retraction Speed" -msgstr "Retraction Speed" +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "Save " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1136 -msgid "The speed for retractions (it only applies to the extruder motor)." -msgstr "The speed for retractions (it only applies to the extruder motor)." +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "SVG" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1142 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1143 -msgid "Deretraction Speed" -msgstr "Deretraction Speed" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1144 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" +msgstr " file as:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1151 -msgid "Seam position" -msgstr "Seam position" +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "Save zip file as:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1153 -msgid "Position of perimeters starting points." -msgstr "Position of perimeters starting points." +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "Slicing" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1169 -msgid "Direction" -msgstr "Direction" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "Processing " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1171 -msgid "Preferred direction of the seam" -msgstr "Preferred direction of the seam" +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr " was successfully sliced." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1172 -msgid "Seam preferred direction" -msgstr "Seam preferred direction" +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "Slicing Done!" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1180 -msgid "Jitter" -msgstr "Jitter" +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "Select the STL file to repair:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1182 -msgid "Seam preferred direction jitter" -msgstr "Seam preferred direction jitter" +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "Save OBJ file (less prone to coordinate errors than STL) as:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1183 -msgid "Preferred direction of the seam - jitter" -msgstr "Preferred direction of the seam - jitter" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "Your file was repaired." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1194 -msgid "USB/serial port for printer connection." -msgstr "USB/serial port for printer connection." +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "Repair" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1202 -msgid "Serial port speed" -msgstr "Serial port speed" +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "Save configuration as:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1203 -msgid "Speed (baud) of USB/serial port for printer connection." -msgstr "Speed (baud) of USB/serial port for printer connection." +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "Select configuration to load:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1212 -msgid "Distance from object" -msgstr "Distance from object" +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "Save presets bundle as:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1213 -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 "" -"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." +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "%d presets successfully imported." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1221 -msgid "Skirt height" -msgstr "Skirt height" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "Slic3r error" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1222 -msgid "" -"Height of skirt expressed in layers. Set this to a tall value to use skirt " -"as a shield against drafts." -msgstr "" -"Height of skirt expressed in layers. Set this to a tall value to use skirt " -"as a shield against drafts." +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "Slic3r has encountered an error" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1229 -msgid "Loops (minimum)" -msgstr "Loops (minimum)" +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" +msgstr "Copy to clipboard" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1230 -msgid "Skirt Loops" -msgstr "Skirt Loops" +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1231 -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 "" -"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." +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "Volume" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1239 -msgid "Slow down if layer print time is below" -msgstr "Slow down if layer print time is below" +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "Facets" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1240 -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 "" -"If layer print time is estimated below this number of seconds, print moves " -"speed will be scaled down to extend duration to this value." +#: src/slic3r/GUI/Plater.cpp:128 +msgid "Materials" +msgstr "Materials" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1250 -msgid "Small perimeters" -msgstr "Small perimeters" +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "Manifold" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1252 -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 "" -"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." +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "Sliced Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1262 -msgid "Solid infill threshold area" -msgstr "Solid infill threshold area" +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "Used Filament (m)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1264 -msgid "" -"Force solid infill for regions having a smaller area than the specified " -"threshold." -msgstr "" -"Force solid infill for regions having a smaller area than the specified " -"threshold." +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "Used Filament (mm³)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1265 -msgid "mm²" -msgstr "mm²" +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "Used Filament (g)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1271 -msgid "Solid infill extruder" -msgstr "Solid infill extruder" +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "Cost" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1273 -msgid "The extruder to use when printing solid infill." -msgstr "The extruder to use when printing solid infill." +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "Estimated printing time" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1279 -msgid "Solid infill every" -msgstr "Solid infill every" +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "Number of tool changes" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1281 -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." -msgstr "" -"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." +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "Support" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1291 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1301 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:142 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:84 -msgid "Solid infill" -msgstr "Solid infill" +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "Select what kind of support do you need" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1293 -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." -msgstr "" -"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." +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "None" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1303 -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 "" -"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." +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "Support on build plate only" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1315 -msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "Number of solid layers to generate on top and bottom surfaces." +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "Everywhere" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1322 -msgid "Spiral vase" -msgstr "Spiral vase" +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "Brim" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1323 +#: src/slic3r/GUI/Plater.cpp:381 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 flag enables the brim that will be printed around each object on the " +"first layer." msgstr "" -"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 flag enables the brim that will be printed around each object on the " +"first layer." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1332 -msgid "Temperature variation" -msgstr "Temperature variation" +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "Purging volumes" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1333 -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 "" -"Temperature difference to be applied when an extruder is not active. Enables " -"a full-height \"sacrificial\" skirt on which the nozzles are periodically " -"wiped." +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "Print settings" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1343 -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 "" -"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." +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "Filament" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1358 -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 "" -"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." +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "SLA print" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1373 -msgid "Single Extruder Multi Material" -msgstr "Single Extruder Multi Material" +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "SLA material" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1374 -msgid "The printer multiplexes filaments into a single hot end." -msgstr "The printer multiplexes filaments into a single hot end." +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "Printer" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1379 -msgid "Generate support material" -msgstr "Generate support material" +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "Send to printer" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1381 -msgid "Enable support material generation." -msgstr "Enable support material generation." +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "Slice now" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1386 -msgid "XY separation between an object and its support" -msgstr "XY separation between an object and its support" +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "%d (%d shells)" + +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "Auto-repaired (%d errors)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1388 +#: src/slic3r/GUI/Plater.cpp:795 +#, c-format msgid "" -"XY separation between an object and its support. If expressed as percentage " -"(for example 50%), it will be calculated over external perimeter width." +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " +"facets reversed, %d backwards edges" msgstr "" -"XY separation between an object and its support. If expressed as percentage " -"(for example 50%), it will be calculated over external perimeter width." +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " +"facets reversed, %d backwards edges" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1398 -msgid "Pattern angle" -msgstr "Pattern angle" +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" +msgstr "Yes" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1400 -msgid "" -"Use this setting to rotate the support material pattern on the horizontal " -"plane." -msgstr "" -"Use this setting to rotate the support material pattern on the horizontal " -"plane." +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" +msgstr "objects" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1408 -msgid "Support on build plate only" -msgstr "Support on build plate only" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "wipe tower" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1410 -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." +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" +msgstr "normal mode" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1416 -msgid "Contact Z distance" -msgstr "Contact Z distance" +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" +msgstr "silent mode" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1418 -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 "" -"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." +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "Loading" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1431 -msgid "Enforce support for the first" -msgstr "Enforce support for the first" +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "Processing input file %s\n" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1433 +#: src/slic3r/GUI/Plater.cpp:1366 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." +"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 "" -"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." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1439 -msgid "Enforce support for the first n layers" -msgstr "Enforce support for the first n layers" +"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" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1444 -msgid "Support material/raft/skirt extruder" -msgstr "Support material/raft/skirt extruder" +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 +msgid "Multi-part object detected" +msgstr "Multi-part object detected" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1446 +#: src/slic3r/GUI/Plater.cpp:1388 +#, c-format msgid "" -"The extruder to use when printing support material, raft and skirt (1+, 0 to " -"use the current extruder to minimize tool changes)." +"You can't to add the object(s) from %s because of one or some of them " +"is(are) multi-part" msgstr "" -"The extruder to use when printing support material, raft and skirt (1+, 0 to " -"use the current extruder to minimize tool changes)." +"You can't to add the object(s) from %s because of one or some of them " +"is(are) multi-part" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1455 +#: src/slic3r/GUI/Plater.cpp:1408 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." +"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 "" -"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." +"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" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1463 -msgid "Interface loops" -msgstr "Interface loops" +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "Loaded" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1465 +#: src/slic3r/GUI/Plater.cpp:1492 msgid "" -"Cover the top contact layer of the supports with loops. Disabled by default." +"Your object appears to be too large, so it was automatically scaled down to " +"fit your print bed." msgstr "" -"Cover the top contact layer of the supports with loops. Disabled by default." +"Your object appears to be too large, so it was automatically scaled down to " +"fit your print bed." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1470 -msgid "Support material/raft interface extruder" -msgstr "Support material/raft interface extruder" +#: src/slic3r/GUI/Plater.cpp:1493 +msgid "Object too large?" +msgstr "Object too large?" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1472 -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 "" -"The extruder to use when printing support material interface (1+, 0 to use " -"the current extruder to minimize tool changes). This affects raft too." +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "Export print config" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1479 -msgid "Interface layers" -msgstr "Interface layers" +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "Save file as:" + +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "Arranging canceled" + +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "Arranging" + +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." +msgstr "Could not arrange model objects! Some geometries may be invalid." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1481 +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." +msgstr "Arranging done." + +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" +msgstr "Orientation search canceled" + +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "Searching for optimal orientation" + +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "Orientation found." + +#: src/slic3r/GUI/Plater.cpp:1818 msgid "" -"Number of interface layers to insert between the object(s) and support " +"The selected object can't be split because it contains more than one volume/" "material." msgstr "" -"Number of interface layers to insert between the object(s) and support " +"The selected object can't be split because it contains more than one volume/" "material." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1488 -msgid "Interface pattern spacing" -msgstr "Interface pattern spacing" +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "Cancelling" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1490 -msgid "Spacing between interface lines. Set zero to get a solid interface." -msgstr "Spacing between interface lines. Set zero to get a solid interface." +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "Another export job is currently running." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1497 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:148 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:90 -msgid "Support material interface" -msgstr "Support material interface" +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "Export failed" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1499 -msgid "" -"Speed for printing support material interface layers. If expressed as " -"percentage (for example 50%) it will be calculated over support material " -"speed." -msgstr "" -"Speed for printing support material interface layers. If expressed as " -"percentage (for example 50%) it will be calculated over support material " -"speed." +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "Cancelled" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1508 -msgid "Pattern" -msgstr "Pattern" +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "Delete" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1510 -msgid "Pattern used to generate support material." -msgstr "Pattern used to generate support material." +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "Remove the selected object" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1524 -msgid "Pattern spacing" -msgstr "Pattern spacing" +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "Increase copies" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1526 -msgid "Spacing between support material lines." -msgstr "Spacing between support material lines." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "Place one more copy of the selected object" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1535 -msgid "Speed for printing support material." -msgstr "Speed for printing support material." +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "Decrease copies" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1542 -msgid "Synchronize with object layers" -msgstr "Synchronize with object layers" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "Remove one copy of the selected object" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1544 -msgid "" -"Synchronize support layers with the object print layers. This is useful with " -"multi-material printers, where the extruder switch is expensive." -msgstr "" -"Synchronize support layers with the object print layers. This is useful with " -"multi-material printers, where the extruder switch is expensive." +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "Set number of copies" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1550 -msgid "Overhang threshold" -msgstr "Overhang threshold" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "Change the number of copies of the selected object" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1552 -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)." -msgstr "" -"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)." +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "Reload from Disk" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1564 -msgid "With sheath around the support" -msgstr "With sheath around the support" +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "Reload the selected file from Disk" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1566 -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 "" -"Add a sheath (a single perimeter line) around the base support. This makes " -"the support more reliable, but also more difficult to remove." +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "Export object as STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1573 -msgid "" -"Extruder temperature for layers after the first one. Set this to zero to " -"disable temperature control commands in the output." -msgstr "" -"Extruder temperature for layers after the first one. Set this to zero to " -"disable temperature control commands in the output." +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "Export this single object as STL file" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1576 -msgid "Temperature" -msgstr "Temperature" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" +msgstr "Along X axis" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1582 -msgid "Detect thin walls" -msgstr "Detect thin walls" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "Mirror the selected object along the X axis" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1584 -msgid "" -"Detect single-width walls (parts where two extrusions don't fit and we need " -"to collapse them into a single trace)." -msgstr "" -"Detect single-width walls (parts where two extrusions don't fit and we need " -"to collapse them into a single trace)." +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" +msgstr "Along Y axis" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1590 -msgid "Threads" -msgstr "Threads" +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "Mirror the selected object along the Y axis" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1591 -msgid "" -"Threads are used to parallelize long-running tasks. Optimal threads number " -"is slightly above the number of available cores/processors." -msgstr "" -"Threads are used to parallelize long-running tasks. Optimal threads number " -"is slightly above the number of available cores/processors." +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" +msgstr "Along Z axis" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1603 -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 "" -"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]." +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "Mirror the selected object along the Z axis" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1613 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1624 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:143 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:85 -msgid "Top solid infill" -msgstr "Top solid infill" +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "Mirror" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1615 -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." -msgstr "" -"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." +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "Mirror the selected object" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1626 -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." -msgstr "" -"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." +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "To objects" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1638 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top" -msgstr "Top" +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" +msgstr "Split the selected object into individual objects" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1640 -msgid "Number of solid layers to generate on top surfaces." -msgstr "Number of solid layers to generate on top surfaces." +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" +msgstr "To parts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1642 -msgid "Top solid layers" -msgstr "Top solid layers" +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" +msgstr "Split the selected object into individual sub-parts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1647 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:95 -msgid "Travel" -msgstr "Travel" +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "Split" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1648 -msgid "Speed for travel moves (jumps between distant extrusion points)." -msgstr "Speed for travel moves (jumps between distant extrusion points)." +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" +msgstr "Split the selected object" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1656 -msgid "Use firmware retraction" -msgstr "Use firmware retraction" +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" +msgstr "Optimize orientation" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1657 -msgid "" -"This experimental setting uses G10 and G11 commands to have the firmware " -"handle the retraction. This is only supported in recent Marlin." -msgstr "" -"This experimental setting uses G10 and G11 commands to have the firmware " -"handle the retraction. This is only supported in recent Marlin." +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." +msgstr "Optimize the rotation of the object for better print results." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1663 -msgid "Use relative E distances" -msgstr "Use relative E distances" +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" +msgstr "Save G-code file as:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1664 +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" +msgstr "Save Zip file as:" + +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" +msgstr "STL file exported to %s" + +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" +msgstr "AMF file exported to %s" + +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" +msgstr "Error exporting AMF file %s" + +#: src/slic3r/GUI/Plater.cpp:2891 +#, c-format +msgid "3MF file exported to %s" +msgstr "3MF file exported to %s" + +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "Error exporting 3MF file %s" + +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "General" + +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "Remember output directory" + +#: src/slic3r/GUI/Preferences.cpp:36 msgid "" -"If your firmware requires relative E values, check this, otherwise leave it " -"unchecked. Most firmwares use absolute values." +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." msgstr "" -"If your firmware requires relative E values, check this, otherwise leave it " -"unchecked. Most firmwares use absolute values." +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1670 -msgid "Use volumetric E" -msgstr "Use volumetric E" +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "Auto-center parts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1671 +#: src/slic3r/GUI/Preferences.cpp:44 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." +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." msgstr "" -"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." +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1681 -msgid "Enable variable layer height feature" -msgstr "Enable variable layer height feature" +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "Background processing" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1682 +#: src/slic3r/GUI/Preferences.cpp:52 msgid "" -"Some printers or printer setups may have difficulties printing with a " -"variable layer height. Enabled by default." +"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 "" -"Some printers or printer setups may have difficulties printing with a " -"variable layer height. Enabled by default." +"If this is enabled, Slic3r will pre-process objects as soon as they're " +"loaded in order to save time when exporting G-code." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1688 -msgid "Wipe while retracting" -msgstr "Wipe while retracting" +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "Suppress \" - default - \" presets" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1689 +#: src/slic3r/GUI/Preferences.cpp:76 msgid "" -"This flag will move the nozzle while retracting to minimize the possible " -"blob on leaky extruders." +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." msgstr "" -"This flag will move the nozzle while retracting to minimize the possible " -"blob on leaky extruders." +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." + +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "Show incompatible print and filament presets" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1696 +#: src/slic3r/GUI/Preferences.cpp:84 msgid "" -"Multi material printers may need to prime or purge extruders on tool " -"changes. Extrude the excess material into the wipe tower." +"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 "" -"Multi material printers may need to prime or purge extruders on tool " -"changes. Extrude the excess material into the wipe tower." +"When checked, the print and filament presets are shown in the preset editor " +"even if they are marked as incompatible with the active printer" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1702 -msgid "Position X" -msgstr "Position X" +#: src/slic3r/GUI/Preferences.cpp:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "Use legacy OpenGL 1.1 rendering" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1703 -msgid "X coordinate of the left front corner of a wipe tower" -msgstr "X coordinate of the left front corner of a wipe tower" +#: src/slic3r/GUI/Preferences.cpp:92 +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 "" +"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." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1709 -msgid "Position Y" -msgstr "Position Y" +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "You need to restart Slic3r to make the changes effective." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1710 -msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "Y coordinate of the left front corner of a wipe tower" +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "modified" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1716 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:70 -msgid "Width" -msgstr "Width" +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "System presets" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1717 -msgid "Width of a wipe tower" -msgstr "Width of a wipe tower" +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "User presets" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1723 -msgid "Per color change depth" -msgstr "Per color change depth" +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" +msgstr "filament" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1724 +#: src/slic3r/GUI/PresetHints.cpp:28 +#, c-format msgid "" -"Depth of a wipe color per color change. For N colors, there will be maximum " -"(N-1) tool switches performed, therefore the total depth of the wipe tower " -"will be (N-1) times this value." +"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 "" -"Depth of a wipe color per color change. For N colors, there will be maximum " -"(N-1) tool switches performed, therefore the total depth of the wipe tower " -"will be (N-1) times this value." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1732 -msgid "XY Size Compensation" -msgstr "XY Size Compensation" +"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)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1734 +#: src/slic3r/GUI/PresetHints.cpp:32 +#, c-format 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." +"\n" +"If estimated layer time is greater, but still below ~%ds, fan will run at a " +"proportionally decreasing speed between %d%% and %d%%." msgstr "" -"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." +"\n" +"If estimated layer time is greater, but still below ~%ds, fan will run at a " +"proportionally decreasing speed between %d%% and %d%%." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1742 -msgid "Z offset" -msgstr "Z offset" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1743 +#: src/slic3r/GUI/PresetHints.cpp:36 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)." +"\n" +"During the other layers, fan " msgstr "" -"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)." - -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:137 -msgid "None" -msgstr "None" - -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:138 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:80 -msgid "Perimeter" -msgstr "Perimeter" - -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:139 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:81 -msgid "External perimeter" -msgstr "External perimeter" - -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:140 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:82 -msgid "Overhang perimeter" -msgstr "Overhang perimeter" - -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:141 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:83 -msgid "Internal infill" -msgstr "Internal infill" - -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:144 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:86 -msgid "Bridge infill" -msgstr "Bridge infill" +"\n" +"During the other layers, fan " -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:151 -msgid "Mixed" -msgstr "Mixed" +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "Fan " -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:330 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:68 -msgid "Feature type" -msgstr "Feature type" +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "will always run at %d%% " -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:332 -msgid "Height (mm)" -msgstr "Height (mm)" +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "except for the first %d layers" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:334 -msgid "Width (mm)" -msgstr "Width (mm)" +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "except for the first layer" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:336 -msgid "Speed (mm/s)" -msgstr "Speed (mm/s)" +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "will be turned off." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:338 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:72 -msgid "Tool" -msgstr "Tool" +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "external perimeters" -#: c:\src\Slic3r\lib\Slic3r\GUI.pm:286 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" +msgstr "perimeters" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid "Version " -msgstr "Version " +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "infill" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid "" -" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr "" -" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "solid infill" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:118 -msgid "Plater" -msgstr "Plater" +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "top solid infill" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:120 -msgid "Controller" -msgstr "Controller" +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "support" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:192 -msgid "No Bonjour device found" -msgstr "No Bonjour device found" +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "support interface" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:192 -msgid "Device Browser" -msgstr "Device Browser" +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "First layer volumetric" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:211 -msgid "Connection to OctoPrint works correctly." -msgstr "Connection to OctoPrint works correctly." +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "Bridging volumetric" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:214 -msgid "I wasn't able to connect to OctoPrint (" -msgstr "I wasn't able to connect to OctoPrint (" +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "Volumetric" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:215 -msgid "). Check hostname and OctoPrint version (at least 1.1.0 is required)." -msgstr "). Check hostname and OctoPrint version (at least 1.1.0 is required)." +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr " flow rate is maximized " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:251 -msgid "Open STL/OBJ/AMF…\tCtrl+O" -msgstr "Open STL/OBJ/AMF…\tCtrl+O" +#: src/slic3r/GUI/PresetHints.cpp:220 +msgid "by the print profile maximum" +msgstr "by the print profile maximum" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:251 -msgid "Open a model" -msgstr "Open a model" +#: src/slic3r/GUI/PresetHints.cpp:221 +msgid "when printing " +msgstr "when printing " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "&Load Config…\tCtrl+L" -msgstr "&Load Config…\tCtrl+L" +#: src/slic3r/GUI/PresetHints.cpp:222 +msgid " with a volumetric rate " +msgstr " with a volumetric rate " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "Load exported configuration file" -msgstr "Load exported configuration file" +#: src/slic3r/GUI/PresetHints.cpp:226 +#, c-format +msgid "%3.2f mm³/s" +msgstr "%3.2f mm³/s" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "&Export Config…\tCtrl+E" -msgstr "&Export Config…\tCtrl+E" +#: src/slic3r/GUI/PresetHints.cpp:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr " at filament speed %3.2f mm/s." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "Export current configuration to file" -msgstr "Export current configuration to file" +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." +msgstr "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "&Load Config Bundle…" -msgstr "&Load Config Bundle…" +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "Recommended object thin wall thickness for layer height %.2f and " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "Load presets from a bundle" -msgstr "Load presets from a bundle" +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "%d lines: %.2lf mm" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "&Export Config Bundle…" -msgstr "&Export Config Bundle…" +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" +msgstr "Send G-Code to printer host" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "Export all presets to file" -msgstr "Export all presets to file" +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" +msgstr "Upload to Printer Host with the following filename:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Q&uick Slice…\tCtrl+U" -msgstr "Q&uick Slice…\tCtrl+U" +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" +msgstr "Start printing after upload" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Slice a file into a G-code" -msgstr "Slice a file into a G-code" +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "Use forward slashes ( / ) as a directory separator if needed." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" -msgstr "Quick Slice and Save &As…\tCtrl+Alt+U" +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" +msgstr "Cancel selected" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Slice a file into a G-code, save as" -msgstr "Slice a file into a G-code, save as" +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" +msgstr "Show error message" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" -msgstr "&Repeat Last Quick Slice\tCtrl+Shift+U" +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" +msgstr "Close" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "Repeat last quick slice" -msgstr "Repeat last quick slice" +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" +msgstr "Enqueued" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice to SV&G…\tCtrl+G" -msgstr "Slice to SV&G…\tCtrl+G" +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" +msgstr "Uploading" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice file to a multi-layer SVG" -msgstr "Slice file to a multi-layer SVG" +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" +msgstr "Completed" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "(&Re)Slice Now\tCtrl+S" -msgstr "(&Re)Slice Now\tCtrl+S" +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" +msgstr "Error uploading to print host:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "Start new slicing process" -msgstr "Start new slicing process" +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" +msgstr "NO RAMMING AT ALL" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Repair STL file…" -msgstr "Repair STL file…" +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" +msgstr "Time" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Automatically repair an STL file" -msgstr "Automatically repair an STL file" +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "s" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:299 -msgid "Preferences…\tCtrl+," -msgstr "Preferences…\tCtrl+," +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "Volumetric speed" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:299 -msgid "Application preferences" -msgstr "Application preferences" +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" +msgstr "Slic3r Prusa Edition - System Information" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "&Quit" -msgstr "&Quit" +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "Compatible printers" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "Quit Slic3r" -msgstr "Quit Slic3r" +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "Select the printers this profile is compatible with." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export G-code..." -msgstr "Export G-code..." +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" +msgstr "Compatible print profiles" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export current plate as G-code" -msgstr "Export current plate as G-code" +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." +msgstr "Select the print profiles this profile is compatible with." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export plate as STL..." -msgstr "Export plate as STL..." +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "Save current " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export current plate as STL" -msgstr "Export current plate as STL" +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "Delete this preset" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export plate as AMF..." -msgstr "Export plate as AMF..." +#: src/slic3r/GUI/Tab.cpp:131 +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" +"Hover the cursor over buttons to find more information \n" +"or click this button." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export current plate as AMF" -msgstr "Export current plate as AMF" +#: src/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "It's a default preset." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export plate as 3MF..." -msgstr "Export plate as 3MF..." +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "It's a system preset." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export current plate as 3MF" -msgstr "Export current plate as 3MF" +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "Current preset is inherited from " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Select &Plater Tab\tCtrl+1" -msgstr "Select &Plater Tab\tCtrl+1" +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " +msgstr "It can't be deleted or modified. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Show the plater" -msgstr "Show the plater" +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "" +"Any modifications should be saved as a new preset inherited from this one. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Select &Controller Tab\tCtrl+T" -msgstr "Select &Controller Tab\tCtrl+T" +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "To do that please specify a new name for the preset." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Show the printer controller" -msgstr "Show the printer controller" +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "Additional information:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Select P&rint Settings Tab\tCtrl+2" -msgstr "Select P&rint Settings Tab\tCtrl+2" +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" +msgstr "printer model" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Show the print settings" -msgstr "Show the print settings" +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" +msgstr "default print profile" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Select &Filament Settings Tab\tCtrl+3" -msgstr "Select &Filament Settings Tab\tCtrl+3" +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" +msgstr "default filament profile" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Show the filament settings" -msgstr "Show the filament settings" +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "default SLA material profile" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Select Print&er Settings Tab\tCtrl+4" -msgstr "Select Print&er Settings Tab\tCtrl+4" +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "default SLA print profile" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Show the printer settings" -msgstr "Show the printer settings" +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "Layers and perimeters" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso" -msgstr "Iso" +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "Layer height" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso View" -msgstr "Iso View" +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "Vertical shells" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top View" -msgstr "Top View" +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "Horizontal shells" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom View" -msgstr "Bottom View" +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "Solid layers" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front" -msgstr "Front" +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "Quality (slower slicing)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front View" -msgstr "Front View" +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "Reducing printing time" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear" -msgstr "Rear" +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "Skirt and brim" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear View" -msgstr "Rear View" +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "Raft" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left" -msgstr "Left" +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "Options for support material and raft" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left View" -msgstr "Left View" +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "Speed for print moves" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right" -msgstr "Right" +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "Speed for non-print moves" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right View" -msgstr "Right View" +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "Modifiers" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:380 -msgid "&Configuration " -msgstr "&Configuration " +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "Acceleration control (advanced)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:380 -msgid "Run Configuration " -msgstr "Run Configuration " +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "Autospeed (advanced)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Prusa 3D Drivers" -msgstr "Prusa 3D Drivers" +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "Multiple Extruders" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Open the Prusa3D drivers download page in your browser" -msgstr "Open the Prusa3D drivers download page in your browser" +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "Ooze prevention" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Prusa Edition Releases" -msgstr "Prusa Edition Releases" +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "Extrusion width" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "Open the Prusa Edition releases page in your browser" +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "Overlap" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Slic3r &Website" -msgstr "Slic3r &Website" +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "Flow" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Open the Slic3r website in your browser" -msgstr "Open the Slic3r website in your browser" +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "Other" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Slic3r &Manual" -msgstr "Slic3r &Manual" +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "Output options" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Open the Slic3r manual in your browser" -msgstr "Open the Slic3r manual in your browser" +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "Sequential printing" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "System Info" -msgstr "System Info" +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "Extruder clearance (mm)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "Show system information" -msgstr "Show system information" +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "Output file" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an Issue" -msgstr "Report an Issue" +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "Post-processing scripts" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Report an issue on the Slic3r Prusa Edition" +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "Notes" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "&About Slic3r" -msgstr "&About Slic3r" +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "Dependencies" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "Show about dialog" -msgstr "Show about dialog" +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "Profile dependencies" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:418 -msgid "&File" -msgstr "&File" +#: src/slic3r/GUI/Tab.cpp:1161 +#, 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 "" +"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?" + +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "Spiral Vase" + +#: src/slic3r/GUI/Tab.cpp:1191 +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 "" +"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?" + +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "Wipe Tower" + +#: src/slic3r/GUI/Tab.cpp:1209 +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 "" +"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?" + +#: src/slic3r/GUI/Tab.cpp:1227 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" +msgstr "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" + +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "Support Generator" + +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "The " + +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format +msgid "" +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" +msgstr "" +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" + +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "Temperature " + +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" +msgstr "Bed" + +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "Cooling" + +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "Enable" + +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "Fan settings" + +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "Fan speed" + +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "Cooling thresholds" + +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "Filament properties" + +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "Print speed override" + +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" +msgstr "Toolchange parameters with single extruder MM printers" + +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" +msgstr "Ramming settings" + +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "Custom G-code" + +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "Start G-code" + +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "End G-code" + +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr " Browse " + +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "Test" + +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" +msgstr "Could not get a valid Printer Host reference" + +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "Success!" + +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." + +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" + +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" +msgstr "Open CA certificate file" + +#: src/slic3r/GUI/Tab.cpp:1676 +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 "" +"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." + +#: src/slic3r/GUI/Tab.cpp:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "Size and coordinates" + +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr " Set " + +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "Capabilities" + +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "Number of extruders of the printer." + +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "USB/Serial connection" + +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "Serial port" + +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "Rescan serial ports" + +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "Connection to printer works correctly." + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "Connection failed." + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" +msgstr "Print Host upload" + +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "Before layer change G-code" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "After layer change G-code" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "Tool change G-code" + +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "Between objects G-code (for sequential printing)" + +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" +msgstr "Display" + +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" +msgstr "Corrections" + +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" +msgstr "Machine limits" + +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" +msgstr "Values in this column are for Full Power mode" + +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" +msgstr "Full Power" + +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" +msgstr "Values in this column are for Silent mode" + +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" +msgstr "Silent" + +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" +msgstr "Maximum feedrates" + +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" +msgstr "Maximum accelerations" + +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" +msgstr "Jerk limits" + +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" +msgstr "Minimum feedrates" + +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" +msgstr "Single extruder MM setup" + +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" +msgstr "Single extruder multimaterial parameters" + +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "Extruder %d" + +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "Layer height limits" + +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "Position (for multi-extruder printers)" + +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "Retraction" + +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "Only lift Z" + +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" +msgstr "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" + +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "Preview" + +#: src/slic3r/GUI/Tab.cpp:2284 +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 "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Shall I disable it in order to enable Firmware Retraction?" + +#: src/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" +msgstr "Firmware Retraction" + +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" +msgstr "Default preset (%s)" + +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" +msgstr "Preset (%s)" + +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" +msgstr "has the following unsaved changes:" + +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" +msgstr "is not compatible with printer" + +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" +msgstr "is not compatible with print profile" + +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" +msgstr "and it has the following unsaved changes:" + +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" +msgstr "Discard changes and continue anyway?" + +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "Unsaved Changes" + +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "It's impossible to print multi-part object(s) with SLA technology." + +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." +msgstr "Please check your object list before preset changing." + +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "The supplied name is empty. It can't be saved." + +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." +msgstr "Cannot overwrite a system profile." + +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." +msgstr "Cannot overwrite an external profile." + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "remove" + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "delete" + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "Are you sure you want to " + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr " the selected preset?" + +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "Remove" + +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr " Preset" + +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "All" + +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" + +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." +msgstr "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." + +#: src/slic3r/GUI/Tab.cpp:2878 +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." +msgstr "" +"WHITE BULLET;for the left button: \tindicates a non-system preset,\n" +"for the right button: \tindicates that the settings hasn't been modified." + +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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 "" +"BACK ARROW;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." + +#: src/slic3r/GUI/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" +msgstr "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" + +#: src/slic3r/GUI/Tab.cpp:2910 +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." +msgstr "" +"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." + +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "WHITE BULLET icon indicates a non system preset." + +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." +msgstr "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." + +#: src/slic3r/GUI/Tab.cpp:2918 +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 "" +"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." + +#: src/slic3r/GUI/Tab.cpp:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" +"LOCKED LOCK icon indicates that the value is the same as the system value." + +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" +"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." + +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." + +#: src/slic3r/GUI/Tab.cpp:2932 +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 "" +"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." + +#: src/slic3r/GUI/Tab.cpp:3031 +msgid " as:" +msgstr " as:" + +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "the following postfix are not allowed:" + +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "The supplied name is not available." + +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "Material" + +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "Layers" + +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "Exposure" + +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "Support head" + +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "Support pillar" + +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "Connection of the support sticks and junctions" + +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "Automatic generation" + +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "Print Settings" + +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "Filament Settings" + +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "Printer Settings" + +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "Material Settings" + +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "Save preset" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "Update available" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "New version of Slic3r PE is available" + +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "To download, follow the link below." + +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "Current version:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "New version:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "Don't notify about new releases any more" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "Configuration update" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "Configuration update is available" + +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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 "" +"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:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "Slic3r incompatibility" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "Slic3r configuration is incompatible" + +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" +"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" +"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" + +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" +msgstr "This Slic3r PE version: %s" + +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "Incompatible bundles:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "Exit Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "Re-configure" + +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format +msgid "" +"Slic3r PE 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 "" +"Slic3r PE 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." + +#: src/slic3r/GUI/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "For more information please visit our wiki page:" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "Ramming customization" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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 "" +"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." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 +msgid "Total ramming time" +msgstr "Total ramming time" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "Total rammed volume" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "Ramming line width" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "Ramming line spacing" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "Wipe tower - Purging volume adjustment" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "Extruder changed to" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "unloaded" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "loaded" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "Tool #" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "Volume to purge (mm³) when the filament is being" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "From" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +msgid "" +"Switching to simple settings will discard changes done in the advanced " +"mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" +"Switching to simple settings will discard changes done in the advanced " +"mode!\n" +"\n" +"Do you want to proceed?" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "Show simplified settings" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "Show advanced settings" + +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "Mismatched type of print host: %s" + +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "Connection to OctoPrint works correctly." + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "Could not connect to OctoPrint" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "Note: OctoPrint version at least 1.1.0 is required." + +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "Connection to Prusa SLA works correctly." + +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "Could not connect to Prusa SLA" + +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "requires min. %s and max. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "requires min. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" +msgstr "requires max. %s" + +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "Exporting the source model" + +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "Failed loading the input model." + +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "Repairing the model by the Netfabb service" + +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "Mesh repair failed." + +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +msgstr "Loading the repaired model" + +#: 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 "Saving mesh into the 3MF container failed." + +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "Model fixing" + +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "Exporting model..." + +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "Export of a temporary 3mf file failed" + +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "Import of the repaired 3mf file failed" + +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "Model repair finished" + +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "Model repair canceled" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "Model repaired successfully" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "Model Repair by the Netfabb service" + +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" +msgstr "Model repair failed: \n" + +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "All objects are outside of the print volume." + +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "Some objects are too close; your extruder will collide with them." + +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" +"Some objects are too tall and cannot be printed without extruder collisions." + +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "The Spiral Vase option can only be used when printing a single object." + +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" +"The Spiral Vase option can only be used when printing single material " +"objects." + +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." + +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." + +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." + +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" + +#: src/libslic3r/Print.cpp:1255 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"over an equal number of raft layers" +msgstr "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"over an equal number of raft layers" + +#: src/libslic3r/Print.cpp:1257 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" +msgstr "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" + +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." + +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" + +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "The supplied settings will cause an empty print." + +#: src/libslic3r/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "" +"One or more object were assigned an extruder that the printer does not have." + +#: src/libslic3r/Print.cpp:1316 +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 "" +"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." + +#: src/libslic3r/Print.cpp:1324 +msgid "" +"For the Wipe Tower to work with the soluble supports, the support layers " +"need to be synchronized with the object layers." +msgstr "" +"For the Wipe Tower to work with the soluble supports, the support layers " +"need to be synchronized with the object layers." + +#: src/libslic3r/Print.cpp:1328 +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 "" +"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)." + +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "first_layer_height" + +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "First layer height can't be greater than nozzle diameter" + +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "Layer height can't be greater than nozzle diameter" + +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "Printer technology" + +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "Bed shape" + +#: src/libslic3r/PrintConfig.cpp:48 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:56 +msgid "Max print height" +msgstr "Max print height" + +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." + +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "Avoid crossing perimeters" + +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "Other layers" + +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." + +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "Bed temperature" + +#: src/libslic3r/PrintConfig.cpp:93 +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 "" +"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]." + +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "Between objects G-code" + +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "Bottom" + +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "Number of solid layers to generate on bottom surfaces." + +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "Bottom solid layers" + +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "Bridge" + +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." + +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "mm/s²" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "Bridging angle" + +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "°" + +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "Bridges fan speed" + +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "This fan speed is enforced during all bridges and overhangs." + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "%" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "Bridge flow ratio" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "Bridges" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "Speed for printing bridges." + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "mm/s" + +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "Brim width" + +#: src/libslic3r/PrintConfig.cpp:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." + +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "Clip multi-part objects" + +#: src/libslic3r/PrintConfig.cpp:188 +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 "" +"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)." + +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "Colorprint height" + +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "Heights at which a filament change is to occur. " + +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "Compatible printers condition" + +#: src/libslic3r/PrintConfig.cpp:208 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "Compatible print profiles condition" + +#: src/libslic3r/PrintConfig.cpp:221 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:235 +msgid "Complete individual objects" +msgstr "Complete individual objects" + +#: src/libslic3r/PrintConfig.cpp:236 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "Enable auto cooling" + +#: src/libslic3r/PrintConfig.cpp:246 +msgid "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." +msgstr "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." + +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "Cooling tube position" + +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "" +"Distance of the center-point of the cooling tube from the extruder tip " + +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "Cooling tube length" + +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "Length of the cooling tube to limit space for cooling moves inside it " + +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "Default filament profile" + +#: src/libslic3r/PrintConfig.cpp:282 +msgid "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." +msgstr "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." + +#: src/libslic3r/PrintConfig.cpp:287 +msgid "Default print profile" +msgstr "Default print profile" + +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +msgid "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." +msgstr "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." + +#: src/libslic3r/PrintConfig.cpp:293 +msgid "Disable fan for the first" +msgstr "Disable fan for the first" + +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "layers" + +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "Don't support bridges" + +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "" +"Experimental option for preventing support material from being generated " +"under bridged areas." + +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "Distance between copies" + +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "Distance used for the auto-arrange feature of the plater." + +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "Elephant foot compensation" + +#: src/libslic3r/PrintConfig.cpp:324 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:334 +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 "" +"This end procedure is inserted at the end of the output file. Note that you " +"can use placeholder variables for all Slic3r settings." + +#: src/libslic3r/PrintConfig.cpp:345 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "Ensure vertical shell thickness" + +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." + +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "Top/bottom fill pattern" + +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." + +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "Rectilinear" + +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "Concentric" + +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "Hilbert Curve" + +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "Archimedean Chords" + +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "Octagram Spiral" + +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "External perimeters" + +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "mm or % (leave 0 for default)" + +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "mm/s or %" + +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "External perimeters first" + +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." + +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "Extra perimeters if needed" + +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"The extruder to use (unless more specific extruder settings are specified). " +"This value overrides perimeter and infill extruders, but not the support " +"extruders." +msgstr "" +"The extruder to use (unless more specific extruder settings are specified). " +"This value overrides perimeter and infill extruders, but not the support " +"extruders." + +#: src/libslic3r/PrintConfig.cpp:444 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "Radius" + +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "Extruder Color" + +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "This is only used in the Slic3r interface as a visual help." + +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "Extruder offset" + +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" +"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)." + +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "Extrusion axis" + +#: src/libslic3r/PrintConfig.cpp:487 +msgid "" +"Use this option to set the axis letter associated to your printer's extruder " +"(usually E but some printers use A)." +msgstr "" +"Use this option to set the axis letter associated to your printer's extruder " +"(usually E but some printers use A)." + +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "Extrusion multiplier" + +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "Default extrusion width" + +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "mm or % (leave 0 for auto)" + +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "Keep fan always on" + +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "Enable fan if layer print time is below" + +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "approximate seconds" + +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "Color" + +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "Filament notes" + +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "You can put your notes regarding the filament here." + +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "Max volumetric speed" + +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "mm³/s" + +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "Loading speed" + +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "Speed used for loading the filament on the wipe tower. " + +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "Loading speed at the start" + +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "Speed used at the very beginning of loading phase. " + +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "Unloading speed" + +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " +msgstr "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " + +#: src/libslic3r/PrintConfig.cpp:590 +msgid "Unloading speed at the start" +msgstr "Unloading speed at the start" + +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" +"Speed used for unloading the tip of the filament immediately after ramming. " + +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "Delay after unloading" + +#: src/libslic3r/PrintConfig.cpp:600 +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. " +msgstr "" +"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. " + +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "Number of cooling moves" + +#: src/libslic3r/PrintConfig.cpp:611 +msgid "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " +msgstr "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " + +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "Speed of the first cooling move" + +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "Cooling moves are gradually accelerating beginning at this speed. " + +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "Minimal purge on wipe tower" + +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "mm³" + +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "Speed of the last cooling move" + +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " +msgstr "Cooling moves are gradually accelerating towards this speed. " + +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" +msgstr "Filament load time" + +#: src/libslic3r/PrintConfig.cpp:651 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" +msgstr "Ramming parameters" + +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " + +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "Filament unload time" + +#: src/libslic3r/PrintConfig.cpp:668 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:677 +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 "" +"Enter your filament diameter here. Good precision is required, so use a " +"caliper and do multiple measurements along the filament, then compute the " +"average." + +#: src/libslic3r/PrintConfig.cpp:685 +msgid "Density" +msgstr "Density" + +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "g/cm³" + +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "Filament type" + +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." +msgstr "The filament material type for use in custom G-codes." + +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "Soluble material" + +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "Soluble material is most likely used for a soluble support." + +#: src/libslic3r/PrintConfig.cpp:719 +msgid "" +"Enter your filament cost per kg here. This is only for statistical " +"information." +msgstr "" +"Enter your filament cost per kg here. This is only for statistical " +"information." + +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "money/kg" + +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "Fill angle" + +#: src/libslic3r/PrintConfig.cpp:731 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "Fill density" + +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "Density of internal infill, expressed in the range 0% - 100%." + +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "Fill pattern" + +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "Fill pattern for general low-density infill." + +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "Grid" + +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "Triangles" + +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" +msgstr "Stars" + +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "Cubic" + +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "Line" + +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "Honeycomb" + +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "3D Honeycomb" + +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "Gyroid" + +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "First layer" + +#: src/libslic3r/PrintConfig.cpp:817 +msgid "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." +msgstr "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." + +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." +msgstr "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." + +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "First layer height" + +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "mm or %" + +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" +msgstr "First layer speed" + +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:872 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:882 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "Verbose G-code" + +#: src/libslic3r/PrintConfig.cpp:891 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "G-code flavor" + +#: src/libslic3r/PrintConfig.cpp:900 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" +msgstr "No extrusion" + +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" +msgstr "High extruder current on filament swap" + +#: src/libslic3r/PrintConfig.cpp:930 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." + +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "Combine infill every" + +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." + +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "Combine infill every n layers" + +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "Infill extruder" + +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "The extruder to use when printing infill." + +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "Infill before perimeters" + +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." + +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "Only infill where needed" + +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "Infill/perimeters overlap" + +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "Speed for printing the internal fill. Set to zero for auto." + +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "Inherits profile" + +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "Name of the profile, from which this profile inherits." + +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "Interface shells" + +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material." +msgstr "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material." + +#: src/libslic3r/PrintConfig.cpp:1043 +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 "" +"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]." + +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "Supports remaining times" + +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "Supports silent mode" + +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "Set silent mode for the G-code flavor" + +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "Maximum feedrate %1%" + +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "Maximum feedrate of the %1% axis" + +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" +msgstr "Maximum acceleration %1%" + +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" +msgstr "Maximum acceleration of the %1% axis" + +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "Maximum jerk %1%" + +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "Maximum jerk of the %1% axis" + +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" +msgstr "Minimum feedrate when extruding" + +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "Minimum travel feedrate" + +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "Maximum acceleration when extruding" + +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "Maximum acceleration when retracting" + +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "Max" + +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "This setting represents the maximum speed of your fan." + +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "Max print speed" + +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." +msgstr "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." + +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "Max volumetric slope positive" + +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "mm³/s²" + +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" +msgstr "Max volumetric slope negative" + +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "Min" + +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "This setting represents the minimum PWM your fan needs to work." + +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" +msgstr "Min print speed" + +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "Slic3r will not scale speed down below this speed." + +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" +msgstr "Minimal filament extrusion length" + +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "Configuration notes" + +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." + +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "Nozzle diameter" + +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgstr "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" + +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" +msgstr "Host Type" + +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." + +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" +msgstr "API Key / Password" + +#: src/libslic3r/PrintConfig.cpp:1302 +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 can upload G-code files to a printer host. This field should contain " +"the API Key or the password required for authentication." + +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "Hostname, IP or URL" + +#: src/libslic3r/PrintConfig.cpp:1318 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "Only retract when crossing perimeters" + +#: src/libslic3r/PrintConfig.cpp:1326 +msgid "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." +msgstr "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." + +#: src/libslic3r/PrintConfig.cpp:1334 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1342 +msgid "Output filename format" +msgstr "Output filename format" + +#: src/libslic3r/PrintConfig.cpp:1343 +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 "" +"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]." + +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "Detect bridging perimeters" + +#: src/libslic3r/PrintConfig.cpp:1355 +msgid "" +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." +msgstr "" +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." + +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" +msgstr "Filament parking position" + +#: src/libslic3r/PrintConfig.cpp:1363 +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 "" +"Distance of the extruder tip from the position where the filament is parked " +"when unloaded. This should match the value in printer firmware. " + +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" +msgstr "Extra loading distance" + +#: src/libslic3r/PrintConfig.cpp:1373 +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. " +msgstr "" +"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. " + +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "Perimeters" + +#: src/libslic3r/PrintConfig.cpp:1383 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "Perimeter extruder" + +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "" +"The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "" +"The extruder to use when printing perimeters and brim. First extruder is 1." + +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." + +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "(minimum)" + +#: src/libslic3r/PrintConfig.cpp:1439 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "Printer type" + +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." +msgstr "Type of the printer." + +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "Printer notes" + +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "You can put your notes regarding the printer here." + +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" +msgstr "Printer vendor" + +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." +msgstr "Name of the printer vendor." + +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" +msgstr "Printer variant" + +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." + +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" +msgstr "Raft layers" + +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." +msgstr "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." + +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" +msgstr "Resolution" + +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" +msgstr "Minimum travel after retraction" + +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "" +"Retraction is not triggered when travel moves are shorter than this length." +msgstr "" +"Retraction is not triggered when travel moves are shorter than this length." + +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" +msgstr "Retract amount before wipe" + +#: src/libslic3r/PrintConfig.cpp:1515 +msgid "" +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." +msgstr "" +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." + +#: src/libslic3r/PrintConfig.cpp:1523 +msgid "Retract on layer change" +msgstr "Retract on layer change" + +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "This flag enforces a retraction whenever a Z move is done." + +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "Length" + +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "Retraction Length" + +#: src/libslic3r/PrintConfig.cpp:1532 +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 "" +"When retraction is triggered, filament is pulled back by the specified " +"amount (the length is measured on raw filament, before it enters the " +"extruder)." + +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "mm (zero to disable)" + +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "Retraction Length (Toolchange)" + +#: src/libslic3r/PrintConfig.cpp:1541 +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 "" +"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)." + +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" +msgstr "Lift Z" + +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "Above Z" + +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" +msgstr "Only lift Z above" + +#: src/libslic3r/PrintConfig.cpp:1561 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" +msgstr "Below Z" + +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "Only lift Z below" + +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "Extra length on restart" + +#: src/libslic3r/PrintConfig.cpp:1581 +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 "" +"When the retraction is compensated after the travel move, the extruder will " +"push this additional amount of filament. This setting is rarely needed." + +#: src/libslic3r/PrintConfig.cpp:1590 +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." + +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "Retraction Speed" + +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "The speed for retractions (it only applies to the extruder motor)." + +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "Deretraction Speed" + +#: src/libslic3r/PrintConfig.cpp:1609 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" +msgstr "Seam position" + +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "Position of perimeters starting points." + +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "Random" + +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "Nearest" + +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" +msgstr "Aligned" + +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "Rear" + +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "Direction" + +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "Preferred direction of the seam" + +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "Seam preferred direction" + +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "Jitter" + +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "Seam preferred direction jitter" + +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "Preferred direction of the seam - jitter" + +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "USB/serial port for printer connection." + +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "Serial port speed" + +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." +msgstr "Speed (baud) of USB/serial port for printer connection." + +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "Distance from object" + +#: src/libslic3r/PrintConfig.cpp:1680 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "Skirt height" + +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." +msgstr "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." + +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" +msgstr "Loops (minimum)" + +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "Skirt Loops" + +#: src/libslic3r/PrintConfig.cpp:1699 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1708 +msgid "Slow down if layer print time is below" +msgstr "Slow down if layer print time is below" + +#: src/libslic3r/PrintConfig.cpp:1709 +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 "" +"If layer print time is estimated below this number of seconds, print moves " +"speed will be scaled down to extend duration to this value." + +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" +msgstr "Small perimeters" + +#: src/libslic3r/PrintConfig.cpp:1722 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" +msgstr "Solid infill threshold area" + +#: src/libslic3r/PrintConfig.cpp:1734 +msgid "" +"Force solid infill for regions having a smaller area than the specified " +"threshold." +msgstr "" +"Force solid infill for regions having a smaller area than the specified " +"threshold." + +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" +msgstr "mm²" + +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "Solid infill extruder" + +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "The extruder to use when printing solid infill." + +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "Solid infill every" + +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1766 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1777 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "Number of solid layers to generate on top and bottom surfaces." + +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "Spiral vase" + +#: src/libslic3r/PrintConfig.cpp:1797 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1806 +msgid "Temperature variation" +msgstr "Temperature variation" + +#: src/libslic3r/PrintConfig.cpp:1807 +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 "" +"Temperature difference to be applied when an extruder is not active. Enables " +"a full-height \"sacrificial\" skirt on which the nozzles are periodically " +"wiped." + +#: src/libslic3r/PrintConfig.cpp:1818 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1834 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "Single Extruder Multi Material" + +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "The printer multiplexes filaments into a single hot end." + +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "Prime all printing extruders" + +#: src/libslic3r/PrintConfig.cpp:1858 +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." +msgstr "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." + +#: src/libslic3r/PrintConfig.cpp:1864 +msgid "Generate support material" +msgstr "Generate support material" + +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "Enable support material generation." + +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "Auto generated supports" + +#: src/libslic3r/PrintConfig.cpp:1873 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1880 +msgid "XY separation between an object and its support" +msgstr "XY separation between an object and its support" + +#: src/libslic3r/PrintConfig.cpp:1882 +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 "" +"XY separation between an object and its support. If expressed as percentage " +"(for example 50%), it will be calculated over external perimeter width." + +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" +msgstr "Pattern angle" + +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." +msgstr "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." + +#: src/libslic3r/PrintConfig.cpp:1906 +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." + +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "Contact Z distance" + +#: src/libslic3r/PrintConfig.cpp:1915 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "soluble" + +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "detachable" + +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "Enforce support for the first" + +#: src/libslic3r/PrintConfig.cpp:1931 +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." +msgstr "" +"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." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:419 -msgid "&Plater" -msgstr "&Plater" +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "Enforce support for the first n layers" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:420 -msgid "&Object" -msgstr "&Object" +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "Support material/raft/skirt extruder" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:421 -msgid "&Window" -msgstr "&Window" +#: src/libslic3r/PrintConfig.cpp:1945 +msgid "" +"The extruder to use when printing support material, raft and skirt (1+, 0 to " +"use the current extruder to minimize tool changes)." +msgstr "" +"The extruder to use when printing support material, raft and skirt (1+, 0 to " +"use the current extruder to minimize tool changes)." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:422 -msgid "&View" -msgstr "&View" +#: src/libslic3r/PrintConfig.cpp:1955 +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." +msgstr "" +"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." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:426 -msgid "&Help" -msgstr "&Help" +#: src/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "Interface loops" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:457 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +#: src/libslic3r/PrintConfig.cpp:1966 +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "" +"Cover the top contact layer of the supports with loops. Disabled by default." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:469 -msgid "No previously sliced file." -msgstr "No previously sliced file." +#: src/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "Support material/raft interface extruder" + +#: src/libslic3r/PrintConfig.cpp:1974 +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 "" +"The extruder to use when printing support material interface (1+, 0 to use " +"the current extruder to minimize tool changes). This affects raft too." + +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" +msgstr "Interface layers" + +#: src/libslic3r/PrintConfig.cpp:1984 +msgid "" +"Number of interface layers to insert between the object(s) and support " +"material." +msgstr "" +"Number of interface layers to insert between the object(s) and support " +"material." + +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "Interface pattern spacing" + +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." +msgstr "Spacing between interface lines. Set zero to get a solid interface." + +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." +msgstr "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." + +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "Pattern" + +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "Pattern used to generate support material." + +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" +msgstr "Rectilinear grid" + +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "Pattern spacing" + +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "Spacing between support material lines." + +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "Speed for printing support material." + +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "Synchronize with object layers" + +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." +msgstr "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." + +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" +msgstr "Overhang threshold" + +#: src/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "" +"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)." + +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "With sheath around the support" + +#: src/libslic3r/PrintConfig.cpp:2073 +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 "" +"Add a sheath (a single perimeter line) around the base support. This makes " +"the support more reliable, but also more difficult to remove." + +#: src/libslic3r/PrintConfig.cpp:2081 +msgid "" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." +msgstr "" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." + +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "Temperature" + +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "Detect thin walls" + +#: src/libslic3r/PrintConfig.cpp:2092 +msgid "" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." +msgstr "" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." + +#: src/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" +msgstr "Threads" + +#: src/libslic3r/PrintConfig.cpp:2100 +msgid "" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." +msgstr "" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." + +#: src/libslic3r/PrintConfig.cpp:2112 +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 "" +"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]." + +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "" +"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." + +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "Top" + +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "Number of solid layers to generate on top surfaces." + +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "Top solid layers" + +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "Speed for travel moves (jumps between distant extrusion points)." + +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "Use firmware retraction" + +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." +msgstr "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." + +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "Use relative E distances" + +#: src/libslic3r/PrintConfig.cpp:2177 +msgid "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." +msgstr "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." + +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" +msgstr "Use volumetric E" + +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" +"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." + +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "Enable variable layer height feature" + +#: src/libslic3r/PrintConfig.cpp:2197 +msgid "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." +msgstr "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." + +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "Wipe while retracting" + +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." +msgstr "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid "Previously sliced file (" -msgstr "Previously sliced file (" +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." +msgstr "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid ") not found." -msgstr ") not found." +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" +msgstr "Purging volumes - load/unload volumes" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:475 -msgid "File Not Found" -msgstr "File Not Found" +#: src/libslic3r/PrintConfig.cpp:2221 +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 "" +"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. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "SVG" -msgstr "SVG" +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" +msgstr "Purging volumes - matrix" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "G-code" -msgstr "G-code" +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" +"This matrix describes volumes (in cubic milimetres) required to purge the " +"new filament on the wipe tower for any given pair of tools. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid " file as:" -msgstr " file as:" +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" +msgstr "Position X" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Slicing…" -msgstr "Slicing…" +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "X coordinate of the left front corner of a wipe tower" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Processing " -msgstr "Processing " +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "Position Y" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:548 -msgid " was successfully sliced." -msgstr " was successfully sliced." +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "Y coordinate of the left front corner of a wipe tower" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:550 -msgid "Slicing Done!" -msgstr "Slicing Done!" +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "Width of a wipe tower" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:566 -msgid "Select the STL file to repair:" -msgstr "Select the STL file to repair:" +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "Wipe tower rotation angle" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:580 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "Save OBJ file (less prone to coordinate errors than STL) as:" +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "Wipe tower rotation angle with respect to x-axis " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Your file was repaired." -msgstr "Your file was repaired." +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "degrees" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Repair" -msgstr "Repair" +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" +msgstr "Wipe into this object's infill" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:605 -msgid "Save configuration as:" -msgstr "Save configuration as:" +#: src/libslic3r/PrintConfig.cpp:2273 +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 "" +"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." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:623 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:667 -msgid "Select configuration to load:" -msgstr "Select configuration to load:" +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" +msgstr "Wipe into this object" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:646 -msgid "Save presets bundle as:" -msgstr "Save presets bundle as:" +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" +"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." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:687 -#, perl-format -msgid "%d presets successfully imported." -msgstr "%d presets successfully imported." +#: src/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" +msgstr "Maximal bridging distance" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid "You have unsaved changes " -msgstr "You have unsaved changes " +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "Maximal distance between supports on sparse infill sections. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid ". Discard changes and continue anyway?" -msgstr ". Discard changes and continue anyway?" +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "XY Size Compensation" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:750 -msgid "Unsaved Presets" -msgstr "Unsaved Presets" +#: src/libslic3r/PrintConfig.cpp:2299 +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 "" +"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." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:104 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2124 -msgid "3D" -msgstr "3D" +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" +msgstr "Z offset" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:138 -msgid "2D" -msgstr "2D" +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" +"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)." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:157 -msgid "Layers" -msgstr "Layers" +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "Bed size X" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:177 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:195 -msgid "Add…" -msgstr "Add…" +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "Dwarf" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:179 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:197 -msgid "Delete All" -msgstr "Delete All" +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "Bed size Y" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:180 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:198 -msgid "Arrange" -msgstr "Arrange" +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "Picture resolution X" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:182 -msgid "More" -msgstr "More" +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "px" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:183 -msgid "Fewer" -msgstr "Fewer" +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "Picture resolution Y" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:185 -msgid "45° ccw" -msgstr "45° ccw" +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "Exposure time" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:186 -msgid "45° cw" -msgstr "45° cw" +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "Exposure time first layers" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:187 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:203 -msgid "Scale…" -msgstr "Scale…" +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "Display width" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:188 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:204 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split" -msgstr "Split" +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "Width of the display" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:189 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:205 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Cut…" -msgstr "Cut…" +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "Display height" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:206 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Settings…" -msgstr "Settings…" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" +msgstr "Height of the display" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:192 -msgid "Layer Editing" -msgstr "Layer Editing" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "Number of pixels in" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:207 -msgid "Layer editing" -msgstr "Layer editing" +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" +msgstr "Number of pixels in X" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:220 -msgid "Name" -msgstr "Name" +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" +msgstr "Number of pixels in Y" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:221 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Copies" -msgstr "Copies" +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" +msgstr "Display orientation" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -msgid "Scale" -msgstr "Scale" +#: src/libslic3r/PrintConfig.cpp:2403 +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 "" +"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." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:236 -msgid "Export G-code…" -msgstr "Export G-code…" +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" +msgstr "Landscape" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:237 -msgid "Slice now" -msgstr "Slice now" +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" +msgstr "Portrait" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:238 -msgid "Print…" -msgstr "Print…" +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" +msgstr "Printer scaling correction" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:239 -msgid "Send to printer" -msgstr "Send to printer" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "Initial layer height" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:240 -msgid "Export STL…" -msgstr "Export STL…" +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" +msgstr "Initial exposure time" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:367 -msgid "Print settings" -msgstr "Print settings" +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" +msgstr "Correction for expansion when printing" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:369 -msgid "Printer" -msgstr "Printer" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "Correction for expansion after curing" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:398 -msgid "Info" -msgstr "Info" +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "SLA print material notes" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:409 -msgid "Volume" -msgstr "Volume" +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "You can put your notes regarding the SLA print material here." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:410 -msgid "Facets" -msgstr "Facets" +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "Default SLA material profile" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:411 -msgid "Materials" -msgstr "Materials" +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "Generate supports" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:412 -msgid "Manifold" -msgstr "Manifold" +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "Generate supports for the models" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:438 -msgid "Sliced Info" -msgstr "Sliced Info" +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" +msgstr "Support head front diameter" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:447 -msgid "Used Filament (m)" -msgstr "Used Filament (m)" +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" +msgstr "Diameter of the pointing side of the head" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:448 -msgid "Used Filament (mm³)" -msgstr "Used Filament (mm³)" +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "Support head penetration" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:449 -msgid "Used Filament (g)" -msgstr "Used Filament (g)" +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "How much the pinhead has to penetrate the model surface" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:451 -msgid "Estimated printing time" -msgstr "Estimated printing time" +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "Support head width" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -msgid "Loading…" -msgstr "Loading…" +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "Width from the back sphere center to the front sphere center" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:643 -msgid "Processing input file\n" -msgstr "Processing input file\n" +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "Support pillar diameter" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:663 -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 "" -"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" +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" +msgstr "Diameter in mm of the support pillars" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:666 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:683 -msgid "Multi-part object detected" -msgstr "Multi-part object detected" +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "Support pillar connection mode" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:680 +#: src/libslic3r/PrintConfig.cpp:2531 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" +"Controls the bridge type between two neigboring 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 "" -"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" +"Controls the bridge type between two neigboring 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." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:692 -msgid "Loaded " -msgstr "Loaded " +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" +msgstr "Zig-Zag" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:744 -msgid "" -"Your object appears to be too large, so it was automatically scaled down to " -"fit your print bed." -msgstr "" -"Your object appears to be too large, so it was automatically scaled down to " -"fit your print bed." +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" +msgstr "Cross" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:745 -msgid "Object too large?" -msgstr "Object too large?" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" +msgstr "Dynamic" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Enter the number of copies of the selected object:" -msgstr "Enter the number of copies of the selected object:" +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "Pillar widening factor" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:927 +#: src/libslic3r/PrintConfig.cpp:2548 msgid "" -"\n" -"Non-positive value." +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." msgstr "" -"\n" -"Non-positive value." +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:928 -msgid "" -"\n" -"Not a numeric value." -msgstr "" -"\n" -"Not a numeric value." +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" +msgstr "Support base diameter" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:929 -msgid "Slic3r Error" -msgstr "Slic3r Error" +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "Diameter in mm of the pillar base" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:950 -msgid "Enter the rotation angle:" -msgstr "Enter the rotation angle:" +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "Support base height" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:950 -msgid "Rotate around " -msgstr "Rotate around " +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "The height of the pillar base cone" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:950 -msgid "Invalid rotation angle entered" -msgstr "Invalid rotation angle entered" +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "Critical angle" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1030 -#, perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" -msgstr "Enter the new size for the selected object (print bed: %smm):" +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." +msgstr "The default angle for connecting support sticks and junctions." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -msgid "Scale along " -msgstr "Scale along " +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" +msgstr "Max bridge length" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -msgid "Invalid scaling value entered" -msgstr "Invalid scaling value entered" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "The max length of a bridge" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#, no-perl-format -msgid "Enter the scale % for the selected object:" -msgstr "Enter the scale % for the selected object:" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "Object elevation" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -msgid "Enter the new max size for the selected object:" -msgstr "Enter the new max size for the selected object:" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." +msgstr "How much the supports should lift up the supported object." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1112 -msgid "" -"The selected object can't be split because it contains more than one volume/" -"material." -msgstr "" -"The selected object can't be split because it contains more than one volume/" -"material." +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "Density on horizontal surfaces" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1121 +#: src/libslic3r/PrintConfig.cpp:2604 msgid "" -"The selected object couldn't be split because it contains only one part." +"How many support points (approximately) should be placed on horizontal " +"surface." msgstr "" -"The selected object couldn't be split because it contains only one part." - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1286 -msgid "Slicing cancelled" -msgstr "Slicing cancelled" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Another export job is currently running." -msgstr "Another export job is currently running." +"How many support points (approximately) should be placed on horizontal " +"surface." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1445 -msgid "File added to print queue" -msgstr "File added to print queue" +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "points per square dm" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1448 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "Sending G-code file to the OctoPrint server..." +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "Density on surfaces at 45 degrees" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1451 -msgid "G-code file exported to " -msgstr "G-code file exported to " +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." +msgstr "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1454 -msgid "Export failed" -msgstr "Export failed" +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "Minimal support point height" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1524 -msgid "G-code file successfully uploaded to the OctoPrint server" -msgstr "G-code file successfully uploaded to the OctoPrint server" +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" +"No support points will be placed lower than this value from the bottom." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1526 -msgid "Error while uploading to the OctoPrint server: " -msgstr "Error while uploading to the OctoPrint server: " +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "Use pad" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1539 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1581 -msgid "STL file exported to " -msgstr "STL file exported to " +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "Add a pad underneath the supported model" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1592 -msgid "AMF file exported to " -msgstr "AMF file exported to " +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "Pad wall thickness" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1596 -msgid "Error exporting AMF file " -msgstr "Error exporting AMF file " +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "Pad wall height" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1608 -msgid "3MF file exported to " -msgstr "3MF file exported to " +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "Max merge distance" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1612 -msgid "Error exporting 3MF file " -msgstr "Error exporting 3MF file " +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "Pad edge radius" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1958 -#, perl-format -msgid "%d (%d shells)" -msgstr "%d (%d shells)" +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "Cut model at the given Z." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1960 -#, perl-format -msgid "Auto-repaired (%d errors)" -msgstr "Auto-repaired (%d errors)" +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "Dont arrange" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1965 -#, perl-format +#: src/libslic3r/PrintConfig.cpp:3023 msgid "" -"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " -"facets reversed, %d backwards edges" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." msgstr "" -"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " -"facets reversed, %d backwards edges" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1970 -msgid "Yes" -msgstr "Yes" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Remove the selected object" -msgstr "Remove the selected object" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Increase copies" -msgstr "Increase copies" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Place one more copy of the selected object" -msgstr "Place one more copy of the selected object" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Decrease copies" -msgstr "Decrease copies" +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "User data directory" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Remove one copy of the selected object" -msgstr "Remove one copy of the selected object" +#: src/libslic3r/PrintConfig.cpp:3031 +msgid "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." +msgstr "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Set number of copies…" -msgstr "Set number of copies…" +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" +msgstr "Export 3MF" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Change the number of copies of the selected object" -msgstr "Change the number of copies of the selected object" +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." +msgstr "Slice the model and export slices as 3MF." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate 45° clockwise" -msgstr "Rotate 45° clockwise" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "Slice" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate the selected object by 45° clockwise" -msgstr "Rotate the selected object by 45° clockwise" +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "Slice the model and export gcode." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate 45° counter-clockwise" -msgstr "Rotate 45° counter-clockwise" +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "Help" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate the selected object by 45° counter-clockwise" -msgstr "Rotate the selected object by 45° counter-clockwise" +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "Show this help." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate" -msgstr "Rotate" +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "Use GUI" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate the selected object by an arbitrary angle" -msgstr "Rotate the selected object by an arbitrary angle" +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" +msgstr "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Around X axis…" -msgstr "Around X axis…" +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "Output Model Info" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Rotate the selected object by an arbitrary angle around X axis" -msgstr "Rotate the selected object by an arbitrary angle around X axis" +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "Write information about the model to the console." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Around Y axis…" -msgstr "Around Y axis…" +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "Load config file" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Rotate the selected object by an arbitrary angle around Y axis" -msgstr "Rotate the selected object by an arbitrary angle around Y axis" +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." +msgstr "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Around Z axis…" -msgstr "Around Z axis…" +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" +msgstr "Do not use GUI" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Rotate the selected object by an arbitrary angle around Z axis" -msgstr "Rotate the selected object by an arbitrary angle around Z axis" +#: src/libslic3r/PrintConfig.cpp:3076 +msgid "" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." +msgstr "" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror" -msgstr "Mirror" +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "Output File" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror the selected object" -msgstr "Mirror the selected object" +#: src/libslic3r/PrintConfig.cpp:3082 +msgid "" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." +msgstr "" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Along X axis…" -msgstr "Along X axis…" +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "Rotation angle around the Z axis in degrees (0-360, default: 0)." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -msgid "Mirror the selected object along the X axis" -msgstr "Mirror the selected object along the X axis" +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "Rotate around X" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Along Y axis…" -msgstr "Along Y axis…" +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "Rotation angle around the X axis in degrees (0-360, default: 0)." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -msgid "Mirror the selected object along the Y axis" -msgstr "Mirror the selected object along the Y axis" +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "Rotate around Y" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Along Z axis…" -msgstr "Along Z axis…" +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." +msgstr "Rotation angle around the Y axis in degrees (0-360, default: 0)." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -msgid "Mirror the selected object along the Z axis" -msgstr "Mirror the selected object along the Z axis" +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" +msgstr "Save config file" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale the selected object along a single axis" -msgstr "Scale the selected object along a single axis" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Uniformly…" -msgstr "Uniformly…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Scale the selected object along the XYZ axes" -msgstr "Scale the selected object along the XYZ axes" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Scale the selected object along the X axis" -msgstr "Scale the selected object along the X axis" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Scale the selected object along the Y axis" -msgstr "Scale the selected object along the Y axis" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Scale the selected object along the Z axis" -msgstr "Scale the selected object along the Z axis" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale to size" -msgstr "Scale to size" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split the selected object into individual parts" -msgstr "Split the selected object into individual parts" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Open the 3D cutting tool" -msgstr "Open the 3D cutting tool" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Open the object editor dialog" -msgstr "Open the object editor dialog" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload from Disk" -msgstr "Reload from Disk" +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "Save configuration to the specified file." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload the selected file from Disk" -msgstr "Reload the selected file from Disk" +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "Scaling factor (default: 1)." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export object as STL…" -msgstr "Export object as STL…" +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "Print center" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export this single object as STL file" -msgstr "Export this single object as STL file" +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." +msgstr "Center the print around the given center (default: 100, 100)." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:131 -msgid "What do you want to print today? ™" -msgstr "What do you want to print today? ™" +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" +msgstr "Mixed" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:132 -msgid "Drag your objects here" -msgstr "Drag your objects here" +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "Height (mm)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:63 -msgid "1 Layer" -msgstr "1 Layer" +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" +msgstr "Width (mm)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:65 -msgid "View" -msgstr "View" +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "Speed (mm/s)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:75 -msgid "Show" -msgstr "Show" +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "Volumetric flow rate (mm3/s)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:78 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:79 -msgid "Feature types" -msgstr "Feature types" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "Default print color" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:96 -msgid "Retractions" -msgstr "Retractions" +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "up to %.2f mm" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:97 -msgid "Unretractions" -msgstr "Unretractions" +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "above %.2f mm" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:98 -msgid "Shells" -msgstr "Shells" +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "%.2f - %.2f mm" diff --git a/resources/localization/es/Slic3rPE.mo b/resources/localization/es/Slic3rPE.mo index abeb4f4e8b6f1514aaa6258fbefc662381b752c6..1e95d9289a5afa462a0c88792153407433fe7bed 100644 GIT binary patch delta 21834 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 delta 28234 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 W&A7\n" +"Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.0.8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Oleksandra Iushchenko \n" -"Language-Team: \n" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"y tiene los siguientes cambios sin guardar:" +#: src/slic3r/GUI/AboutDialog.cpp:33 +msgid "About Slic3r" +msgstr "Acerca de Slic3r" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1491 -msgid "" -"\n" -"\n" -"Discard changes and continue anyway?" -msgstr "" -"\n" -"\n" -"¿Descartar los cambios y continuar de todos modos?" +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 +msgid "Version" +msgstr "Versión" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1489 -msgid "" -"\n" -"\n" -"has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"tiene los siguientes cambios sin guardar:" +#: src/slic3r/GUI/BedShapeDialog.cpp:43 +msgid "Shape" +msgstr "Aspecto" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" -msgstr "" -"\n" -"\n" -"no es compatible con la impresora\n" +#: src/slic3r/GUI/BedShapeDialog.cpp:50 +msgid "Rectangular" +msgstr "Rectangular" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:34 -msgid "" -"\n" -"During the other layers, fan " -msgstr "" -"\n" -"Durante las otras capas, ventilador " +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 +msgid "Size" +msgstr "Tamaño" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:30 -#, 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%%." -msgstr "" -"\n" -"Si el tiempo estimado de la capa es mayor, pero todavía por debajo de ~%ds, el ventilador funcionará a una velocidad proporcionalmente menor entre %d%% y %d%%." +#: src/slic3r/GUI/BedShapeDialog.cpp:55 +msgid "Size in X and Y of the rectangular plate." +msgstr "Tamaño en X e Y de la placa rectangular." + +#: src/slic3r/GUI/BedShapeDialog.cpp:61 +msgid "Origin" +msgstr "Origen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:927 +#: src/slic3r/GUI/BedShapeDialog.cpp:62 msgid "" -"\n" -"Non-positive value." +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." msgstr "" -"\n" -"Valor no positivo." +"Distancia de la coordenada del código G de 0,0 de la esquina frontal " +"izquierda del rectángulo." + +#: src/slic3r/GUI/BedShapeDialog.cpp:66 +msgid "Circular" +msgstr "Circular" + +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 +msgid "mm" +msgstr "mm" + +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 +msgid "Diameter" +msgstr "Diámetro" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:928 +#: src/slic3r/GUI/BedShapeDialog.cpp:71 msgid "" -"\n" -"Not a numeric value." +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." msgstr "" -"\n" -"No es un valor numérico." +"Diámetro de la base de impresión. Se supone que el origen (0,0) está ubicado " +"en el centro." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid " - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr " - Recuerda comprobar si hay actualizaciones en http://github.com/prusa3d/slic3r/releases" +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 +msgid "Custom" +msgstr "Personalizado" -# Used in this context: _("Save ") + title + _(" as:") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -msgid " as:" -msgstr " como:" +#: src/slic3r/GUI/BedShapeDialog.cpp:79 +msgid "Load shape from STL..." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:226 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " a una velocidad de filamento de %3.2f mm/s." +#: src/slic3r/GUI/BedShapeDialog.cpp:125 +msgid "Settings" +msgstr "Ajustes" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1035 -msgid " Browse " -msgstr " Hojea " +#: src/slic3r/GUI/BedShapeDialog.cpp:298 +msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "" +"Escoja un archivo para importar la forma de la base de impresión (STL/OBJ/" +"AMF/3MF/PRUSA):" -# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid " file as:" -msgstr " archivo como:" +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 +msgid "Error! " +msgstr "¡Error! " -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:215 -msgid " flow rate is maximized " -msgstr " la tasa de flujo se maximiza " +#: src/slic3r/GUI/BedShapeDialog.cpp:324 +msgid "The selected file contains no geometry." +msgstr "El archivo seleccionado no contiene geometría." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -#, no-c-format +#: src/slic3r/GUI/BedShapeDialog.cpp:328 msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +"The selected file contains several disjoint areas. This is not supported." msgstr "" -" ese patrón de relleno no está pensado para trabajar al 100% de densidad. \n" -"\n" -"¿Debería cambiar a un patrón de relleno rectilíneo?" +"El archivo seleccionado contiene varias áreas disjuntas. Esto no es " +"compatible." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1470 -msgid " preset\n" -msgstr " ajuste inicial\n" +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape" +msgstr "Forma de la base de impresión" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid " preset" -msgstr " presente" +#: src/slic3r/GUI/BonjourDialog.cpp:54 +msgid "Network lookup" +msgstr "Búsqueda en la red" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1583 -msgid " Preset" -msgstr " Ajuste inicial" +#: src/slic3r/GUI/BonjourDialog.cpp:67 +msgid "Address" +msgstr "Dirección" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:942 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1637 -msgid " Set " -msgstr " Ajuste " +#: src/slic3r/GUI/BonjourDialog.cpp:68 +msgid "Hostname" +msgstr "Nombre del equipo" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid " the selected preset?" -msgstr " el ajuste inicial seleccionado?" +#: src/slic3r/GUI/BonjourDialog.cpp:69 +msgid "Service name" +msgstr "Nombre del servicio" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:548 -msgid " was successfully sliced." -msgstr " fue laminado con éxito." +#: src/slic3r/GUI/BonjourDialog.cpp:70 +msgid "OctoPrint version" +msgstr "Versión de OctoPrint" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:220 -msgid " with a volumetric rate " -msgstr " con una tasa volumétrica " +#: src/slic3r/GUI/BonjourDialog.cpp:188 +msgid "Searching for devices" +msgstr "Buscando dispositivos" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:99 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:504 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:789 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:850 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1060 -msgid "%" -msgstr "%" +#: src/slic3r/GUI/BonjourDialog.cpp:195 +msgid "Finished" +msgstr "Terminado" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:224 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f mm³/seg" +#: src/slic3r/GUI/ButtonsDescription.cpp:15 +msgid "Buttons And Text Colors Description" +msgstr "Descripción de los botones y de los colores del texto" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1958 -#, perl-format -msgid "%d (%d shells)" -msgstr "%d (%d pieles)" +#: src/slic3r/GUI/ButtonsDescription.cpp:40 +msgid "Value is the same as the system value" +msgstr "El valor es el mismo que el del sistema" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1965 -#, perl-format -msgid "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d facets reversed, %d backwards edges" -msgstr "%d facetas problemáticas, %d aristas corregidas, %d facetas eliminadas, %d facetas añadidas, %d facetas invertidas, %d aristas del revés" +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" +"El valor ha cambiado y ya no es igual al valor del sistema o al último valor " +"guardado" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:269 -#, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d líneas: %.2lf mm" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 +msgid "Upgrade" +msgstr "Actualización" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:687 -#, perl-format -msgid "%d presets successfully imported." -msgstr "%d ajustes iniciales importados con éxito." +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 +msgid "Downgrade" +msgstr "Volver a una versión anterior" -#: xs/src/slic3r/GUI/Field.cpp:102 -#, c-format -msgid "%s doesn't support percentage" -msgstr "%s no permite porcentajes" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 +msgid "Before roll back" +msgstr "Antes de volver atrás" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "&About Slic3r" -msgstr "&Acerca de Slic3r" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 +msgid "User" +msgstr "Usuario" -#: xs/src/slic3r/GUI/GUI.cpp:466 -msgid "&Configuration" -msgstr "&Configuración" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 +msgid "Unknown" +msgstr "Desconocido" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "&Export Config Bundle…" -msgstr "&Exportar Conjunto de Ajustes…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 +msgid "Active: " +msgstr "Activo: " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "&Export Config…\tCtrl+E" -msgstr "&Exportar Ajuste…\tCtrl+E" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +msgid "slic3r version" +msgstr "versión de Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:418 -msgid "&File" -msgstr "&Archivo" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 +msgid "print" +msgstr "imprimir" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:791 -msgid "&Finish" -msgstr "&Terminar" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +msgid "filaments" +msgstr "filamentos" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:426 -msgid "&Help" -msgstr "&Ayuda" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 +msgid "printer" +msgstr "impresora" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "&Load Config Bundle…" -msgstr "&Cargar Conjunto de Ajustes…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 +msgid "vendor" +msgstr "fabricante" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "&Load Config…\tCtrl+L" -msgstr "&Cargar configuración…\tCtrl+L" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +msgid "version" +msgstr "versión" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:420 -msgid "&Object" -msgstr "&Objeto" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 +msgid "min slic3r version" +msgstr "mínima versión de Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:419 -msgid "&Plater" -msgstr "&Base" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 +msgid "max slic3r version" +msgstr "versión máxima de slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "&Quit" -msgstr "&Salir" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "model" +msgstr "modelo" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" -msgstr "&Repetir último laminado\tCtrl+Shift+U" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "variants" +msgstr "variantes" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:422 -msgid "&View" -msgstr "&Ver" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 +msgid "Incompatible with this Slic3r" +msgstr "Incompatible con este Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:421 -msgid "&Window" -msgstr "&Ventana" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 +msgid "Activate" +msgstr "Activar" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "(&Re)Slice Now\tCtrl+S" -msgstr "(&Re)Laminar Ahora\tCtrl+S" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 +msgid "Configuration Snapshots" +msgstr "Instantáneas de la Configuración" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:994 -msgid "(minimum)" -msgstr "(mínimo)" +#: src/slic3r/GUI/ConfigWizard.cpp:92 +msgid "nozzle" +msgstr "boquilla" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid ") not found." -msgstr ") no encontrado." +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" +msgstr "por defecto" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid ". Discard changes and continue anyway?" -msgstr ". ¿Descartar los cambios y continuar de todos modos?" +#: src/slic3r/GUI/ConfigWizard.cpp:116 +msgid "Select all" +msgstr "Selecciona todo" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:63 -msgid "1 Layer" -msgstr "1 Capa" +#: src/slic3r/GUI/ConfigWizard.cpp:117 +msgid "Select none" +msgstr "No seleccionar ninguno" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:138 -msgid "2D" -msgstr "2D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +#, c-format +msgid "Welcome to the Slic3r %s" +msgstr "Bienvenido a Slic3r %s" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:104 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2124 -msgid "3D" -msgstr "3D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +msgid "Welcome" +msgstr "Bienvenido" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1608 -msgid "3MF file exported to " -msgstr "Archivo 3MF exportado a " +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 +#, c-format +msgid "Run %s" +msgstr "Ejecutar %s" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:185 -msgid "45° ccw" -msgstr "45º en sentido anti-horario" +#: src/slic3r/GUI/ConfigWizard.cpp:234 +#, 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." +msgstr "" +"Hola, bienvenido a Slic3r Prusa Edition! Este %s te ayuda con la " +"configuración inicial; sólo unos pocos ajustes y estarás preparado para " +"imprimir." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:186 -msgid "45° cw" -msgstr "45º en sentido horario" +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" +msgstr "" +"Eliminar perfiles de usuario - instalar desde cero (se realizará una " +"instantánea con anterioridad)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:148 -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 "Una expresión booleana utilizando valores de configuración de un perfil existente. Si esta expresión es verdadera, el perfil será considerado compatible con el perfil de impresión activo." +#: src/slic3r/GUI/ConfigWizard.cpp:263 +msgid "Other vendors" +msgstr "Otras marcas" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:480 -msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." -msgstr "Una buena aproximación es de 160 a 230 °C para PLA y de 215 a 250 °C para ABS." +#: src/slic3r/GUI/ConfigWizard.cpp:265 +msgid "Custom setup" +msgstr "Configuración personalizada" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 -msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." -msgstr "Una buena aproximación son unos 60 °C para PLA y 110 °C para ABS. Deja el valor a cero si no tienes base calefactable." +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Automatic updates" +msgstr "Actualizaciones automáticas" -#: xs/src/slic3r/GUI/AboutDialog.cpp:32 -msgid "About Slic3r" -msgstr "Acerca de Slic3r" +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Updates" +msgstr "Actualizaciones" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1099 -msgid "Above Z" -msgstr "Encima de Z" +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 +msgid "Check for application updates" +msgstr "Comprueba si hay actualizaciones de la aplicación" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:417 -msgid "Acceleration control (advanced)" -msgstr "Control de aceleración (avanzado)" +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" +"Si está activado, Slic3r comprueba si hay nuevas versiones de Slic3r PE en " +"la red. Cuando hay disponible una nueva versión se muestra una notificación " +"al iniciar la aplicación (nunca durante el uso del programa). Esto es sólo " +"un mecanismo de notificación, sin que se realice una instalación automática." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 -msgid "Activate" -msgstr "Activar" +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 +msgid "Update built-in Presets automatically" +msgstr "Actualiza los ajustes de fábrica automáticamente" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 -msgid "Active: " -msgstr "Activo: " +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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 "" +"Si está activado, Slic3r descargará actualizaciones de los ajustes del " +"sistema mientras lo usamos Estas actualizaciones se descargan a una " +"ubicación temporal. Cuando hay un nuevo ajuste disponible, este se podrá " +"incorporar y usar cuando la aplicación se vuelva a iniciar." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1566 -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 "Añadir una funda (una sola línea de perímetro) alrededor de la base del soporte. Esto hace el soporte más fiable pero también más difícil de retirar." +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" +"Las actualizaciones nunca se realizan sin el consentimiento del usuario y " +"nunca sobre-escriben ajustes personalizados del usuario." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:299 -#, no-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." -msgstr "Añadir más perímetros cuando se necesiten para evitar huecos en las paredes inclinadas. Slic3r sigue añadiendo perímetros hasta que más del 70% del perímetro superior sea soportado." +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." +msgstr "" +"Además se realizará una instantánea de toda la configuración antes de " +"aplicar una actualización." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:240 -msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)." -msgstr "Añade un relleno completo cerca de las superficies inclinadas para garantizar el ancho vertical solicitado(capas sólidas arriba+abajo)." +#: src/slic3r/GUI/ConfigWizard.cpp:320 +msgid "Other Vendors" +msgstr "Otras Marcas" -#: xs/src/slic3r/GUI/Tab.cpp:754 -msgid "Additional information:" -msgstr "Información adicional:" +#: src/slic3r/GUI/ConfigWizard.cpp:322 +msgid "Pick another vendor supported by Slic3r PE:" +msgstr "Escoge otro fabricante soportado por Slic3r PE:" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:288 -msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied." -msgstr "Además se realizará una instantánea de toda la configuración antes de aplicar una actualización." +#: src/slic3r/GUI/ConfigWizard.cpp:381 +msgid "Firmware Type" +msgstr "Tipo de Firmware" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 -msgid "Address" -msgstr "Dirección" +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 +msgid "Firmware" +msgstr "Firmware" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:177 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:195 -msgid "Add…" -msgstr "Añadir…" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:342 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:356 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:449 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:452 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:831 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:107 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:208 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:736 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1733 -msgid "Advanced" -msgstr "Avanzado" +#: src/slic3r/GUI/ConfigWizard.cpp:385 +msgid "Choose the type of firmware used by your printer." +msgstr "Selecciona el tipo de firmware que usa tu impresora." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:319 -msgid "Advanced: avrdude output log" -msgstr "Avanzado: salida del log avrdude" +#: src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape and Size" +msgstr "Tamaño y forma de la base" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1138 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:766 -msgid "After layer change G-code" -msgstr "Código G tras un cambio de capa" +#: src/slic3r/GUI/ConfigWizard.cpp:422 +msgid "Set the shape of your printer's bed." +msgstr "Define la forma de la base de impresión de tu impresora." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1636 -msgid "All" -msgstr "Todo" +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Filament and Nozzle Diameters" +msgstr "Filamento y diámetros de boquilla" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Along X axis…" -msgstr "A lo largo del eje X…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Along Y axis…" -msgstr "A lo largo del eje Y…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Along Z axis…" -msgstr "A lo largo del eje Z…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1592 -msgid "AMF file exported to " -msgstr "Archivo AMF exportado a " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Another export job is currently running." -msgstr "Otro trabajo de exportación está aún en marcha." +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Print Diameters" +msgstr "Diámetros de impresión" -#: xs/src/slic3r/GUI/Tab.cpp:749 -msgid "Any modifications should be saved as a new preset inherited from this one. " -msgstr "Cualquier modificación se almacenará como un nuevo ajuste basado en este. " +#: src/slic3r/GUI/ConfigWizard.cpp:452 +msgid "Enter the diameter of your printer's hot end nozzle." +msgstr "Introduce el diámetro de la boquilla del fusor de tu impresora." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:901 -msgid "API Key" -msgstr "Clave API" +#: src/slic3r/GUI/ConfigWizard.cpp:455 +msgid "Nozzle Diameter:" +msgstr "Diámetro de la boquilla:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:299 -msgid "Application preferences" -msgstr "Preferencias de la aplicación" +#: src/slic3r/GUI/ConfigWizard.cpp:465 +msgid "Enter the diameter of your filament." +msgstr "Introduce el diámetro de tu filamento." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Application will be restarted" -msgstr "El programa se reiniciará" +#: src/slic3r/GUI/ConfigWizard.cpp:466 +msgid "" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." +msgstr "" +"Se necesita buena precisión, así que usa un calibre y realiza varias medidas " +"a lo largo del filamento, luego calcula la media." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:397 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1242 -msgid "approximate seconds" -msgstr "segundos aproximadamente" +#: src/slic3r/GUI/ConfigWizard.cpp:469 +msgid "Filament Diameter:" +msgstr "Diámetro del filamento:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid "Are you sure you want to " -msgstr "¿Está seguro que quiere " +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Extruder and Bed Temperatures" +msgstr "Temperaturas del Extrusor y de la Base" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:365 -msgid "" -"Are you sure you want to cancel firmware flashing?\n" -"This could leave your printer in an unusable state!" +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Temperatures" +msgstr "Temperaturas" + +#: src/slic3r/GUI/ConfigWizard.cpp:503 +msgid "Enter the temperature needed for extruding your filament." +msgstr "Introduce la temperatura necesaria para extruir tu filamento." + +#: src/slic3r/GUI/ConfigWizard.cpp:504 +msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." msgstr "" -"¿Estas seguro de cancelar el flaseo del firmware?\n" -"¡Esto podría dejar tu impresora en un estado inusable!" +"Una buena aproximación es de 160 a 230 °C para PLA y de 215 a 250 °C para " +"ABS." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Around X axis…" -msgstr "Alrededor del eje X…" +#: src/slic3r/GUI/ConfigWizard.cpp:507 +msgid "Extrusion Temperature:" +msgstr "Temperatura de Extrusión:" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Around Y axis…" -msgstr "Alrededor del eje Y…" +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 +msgid "°C" +msgstr "°C" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Around Z axis…" -msgstr "Alrededor del eje Z…" +#: src/slic3r/GUI/ConfigWizard.cpp:517 +msgid "" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." +msgstr "" +"Introduce la temperatura de la base necesaria para que adhiera el filamento " +"a la base calefactable." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:180 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:198 -msgid "Arrange" -msgstr "Organiza" +#: src/slic3r/GUI/ConfigWizard.cpp:518 +msgid "" +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " +"no heated bed." +msgstr "" +"Una buena aproximación son unos 60 °C para PLA y 110 °C para ABS. Deja el " +"valor a cero si no tienes base calefactable." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:224 -msgid "Array of language names and identifiers should have the same size." -msgstr "La lista de nombres de idioma e identificadores debería tener el mismo tamaño." +#: src/slic3r/GUI/ConfigWizard.cpp:521 +msgid "Bed Temperature:" +msgstr "Temperatura de la base:" -#: xs/src/slic3r/GUI/GUI.cpp:688 -msgid "Attempt to free unreferenced scalar" -msgstr "Intento de liberar un escalar no referenciado" +#: src/slic3r/GUI/ConfigWizard.cpp:833 +msgid "< &Back" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Attention!" -msgstr "¡Atención!" +#: src/slic3r/GUI/ConfigWizard.cpp:834 +msgid "&Next >" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:35 -msgid "Auto-center parts" -msgstr "Piezas auto-centradas" +#: src/slic3r/GUI/ConfigWizard.cpp:835 +msgid "&Finish" +msgstr "&Terminar" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1960 -#, perl-format -msgid "Auto-repaired (%d errors)" -msgstr "Reparados automáticamente (%d errores)" +#: src/slic3r/GUI/ConfigWizard.cpp:906 +msgid "Configuration Wizard" +msgstr "Asistente de configuración" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Automatic updates" -msgstr "Actualizaciones automáticas" +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "&Asistente de configuración" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Automatically repair an STL file" -msgstr "Archivo STL reparado automáticamente" +#: src/slic3r/GUI/ConfigWizard.cpp:909 +msgid "Configuration Assistant" +msgstr "Asistente de Configuración" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:424 -msgid "Autospeed (advanced)" -msgstr "Velocidad automática (avanzado)" +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "&Asistente de configuración" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:26 -msgid "Avoid crossing perimeters" -msgstr "Evita cruzar perímetros" +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2491 -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." +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" msgstr "" -"El símbolo de FLECHA ATRÁS indica que los ajustes cambiaron y que no son iguales a los que se guardaron para el grupo de opciones actual.\n" -"Haz clic para devolver esos valores a los últimos guardados." -#: xs/src/slic3r/GUI/Tab.cpp:2505 +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "%s no permite porcentajes" + +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 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." +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" msgstr "" -"La FLECHA ATRÁS indica que el valor ha cambiado y ya no es el mismo que el guardado la última vez.\n" -"Haz clic para restaurar el valor al último ajuste guardado." -#: xs/src/slic3r/GUI/Tab.cpp:2455 +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "El valor introducido está fuera de rango" + +#: src/slic3r/GUI/Field.cpp:176 +#, c-format msgid "" -"BACK ARROW;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." +"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." msgstr "" -"FLECHA ATRÁS;indica si los ajustes cambiaron y ya no son iguales a los ajustes guardados la última vez para el grupo de opciones actual. \n" -"Haz click en la FLECHA ATRÁS para devolver los valores del grupo de opciones actual a los valores guardados la última vez." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:43 -msgid "Background processing" -msgstr "Procesamiento en segundo plano" +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:800 -msgid "Bed" -msgstr "Base" +#: src/slic3r/GUI/FirmwareDialog.cpp:133 +msgid "Flash!" +msgstr "Flash!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.hpp:42 -msgid "Bed Shape" -msgstr "Forma de la base de impresión" +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 +msgid "Cancel" +msgstr "Cancelar" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:940 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:34 -msgid "Bed shape" -msgstr "Forma de la base de impresión" +#: src/slic3r/GUI/FirmwareDialog.cpp:135 +msgid "Flashing in progress. Please do not disconnect the printer!" +msgstr "Flasheo en curso. ¡Por favor no desconecte la impresora!" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:395 -msgid "Bed Shape and Size" -msgstr "Tamaño y forma de la base" +#: src/slic3r/GUI/FirmwareDialog.cpp:245 +msgid "Flashing succeeded!" +msgstr "¡Exito al flashear!" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:42 -msgid "Bed temperature" -msgstr "Temperatura de la base" +#: src/slic3r/GUI/FirmwareDialog.cpp:246 +msgid "Flashing failed. Please see the avrdude log below." +msgstr "Flasheo fallido. Por favor comprueba el log de avrdude." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:39 -msgid "Bed temperature for layers after the first one. Set this to zero to disable bed temperature control commands in the output." -msgstr "Temperatura de la base calefactable para las capas después de la primera. Ajuste esto a cero para deshabilitar los comandos de control de temperatura de la base calefactable en la salida." +#: src/slic3r/GUI/FirmwareDialog.cpp:247 +msgid "Flashing cancelled." +msgstr "Flasheo cancelado." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 -msgid "Bed Temperature:" -msgstr "Temperatura de la base:" +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1132 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:48 -msgid "Before layer change G-code" -msgstr "Código G para antes del cambio de capa" +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 -msgid "Before roll back" -msgstr "Antes de volver atrás" +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1108 -msgid "Below Z" -msgstr "Por debajo de Z" +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:59 -msgid "Between objects G-code" -msgstr "Código G para entre objetos" +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1150 -msgid "Between objects G-code (for sequential printing)" -msgstr "Código G para entre objetos (para impresión secuencial)" +#: src/slic3r/GUI/FirmwareDialog.cpp:690 +msgid "Firmware flasher" +msgstr "Flasheador de firmware" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:68 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom" -msgstr "Inferior" +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "Imagen del firmware:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:72 -msgid "Bottom solid layers" -msgstr "Capas sólidas inferiores" +#: src/slic3r/GUI/FirmwareDialog.cpp:716 +msgid "Serial port:" +msgstr "Puerto serie:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom View" -msgstr "Vista inferior" +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:77 -msgid "Bridge" -msgstr "Puente" +#: src/slic3r/GUI/FirmwareDialog.cpp:719 +msgid "Rescan" +msgstr "Rescanear" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:106 -msgid "Bridge flow ratio" -msgstr "Relación de flujo del puente" +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" +msgstr "Progreso:" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:144 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:86 -msgid "Bridge infill" -msgstr "Relleno de puente" +#: src/slic3r/GUI/FirmwareDialog.cpp:729 +msgid "Status:" +msgstr "Estado:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:117 -msgid "Bridges" -msgstr "Puentes" +#: src/slic3r/GUI/FirmwareDialog.cpp:730 +msgid "Ready" +msgstr "Listo" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:97 -msgid "Bridges fan speed" -msgstr "Velocidad del ventilador para puentes" +#: src/slic3r/GUI/FirmwareDialog.cpp:750 +msgid "Advanced: avrdude output log" +msgstr "Avanzado: salida del log avrdude" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:86 -msgid "Bridging angle" -msgstr "Ángulo de puente" +#: src/slic3r/GUI/FirmwareDialog.cpp:809 +msgid "" +"Are you sure you want to cancel firmware flashing?\n" +"This could leave your printer in an unusable state!" +msgstr "" +"¿Estas seguro de cancelar el flaseo del firmware?\n" +"¡Esto podría dejar tu impresora en un estado inusable!" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:88 -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." -msgstr "Anulación de ángulo de puente. Si se deja en cero, el ángulo de puente se calculará automáticamente. De lo contrario, el ángulo proporcionado se usará para todos los puentes. Use 180 ° para ángulo con cero grados." +#: src/slic3r/GUI/FirmwareDialog.cpp:810 +msgid "Confirmation" +msgstr "Confirmación" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Bridging volumetric" -msgstr "Puente volumétrico" +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:371 -msgid "Brim" -msgstr "Margen" +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 +msgid "Detected object outside print volume" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:127 -msgid "Brim width" -msgstr "Ancho del margen" +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 -msgid "Buttons And Text Colors Description" -msgstr "Descripción de los botones y de los colores del texto" +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "Girar" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:218 -msgid "by the print profile maximum" -msgstr "por el máximo perfil de impresión" +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:85 -msgid "Cancel" -msgstr "Cancelar" +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "Escalar" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:213 -msgid "Cancelling..." -msgstr "Cancelando..." +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2124 -msgid "Cannot overwrite a system profile." -msgstr "No se puede sobre-escribir un perfil del sistema." +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2128 -msgid "Cannot overwrite an external profile." -msgstr "No puedo sobre-escribir un valor externo." +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:962 -msgid "Capabilities" -msgstr "Capacidades" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Capture a configuration snapshot" -msgstr "Captura una instantánea de configuración" +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1597 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "Archivos de certificados (*.crt, *.pem)|*.crt;*.pem|Todos|*.*" +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:325 -msgid "Change Application Language" -msgstr "Cambiar el Idioma de la Aplicación" +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Change the number of copies of the selected object" -msgstr "Cambiar el número de copias del objeto seleccionado" +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:272 xs/src/slic3r/GUI/Preferences.cpp:59 -msgid "Check for application updates" -msgstr "Comprueba si hay actualizaciones de la aplicación" +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:298 -msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Escoja un archivo para importar la forma de la base de impresión (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:457 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Elija un archivo para laminar (STL / OBJ / AMF / 3MF / PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI.pm:286 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Escoja uno o mas archivos (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:360 -msgid "Choose the type of firmware used by your printer." -msgstr "Selecciona el tipo de firmware que usa tu impresora." +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:62 -msgid "Circular" -msgstr "Circular" +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:135 -msgid "Clip multi-part objects" -msgstr "Enlazaar objetos de varias partes" +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:405 -msgid "Color" -msgstr "Color" +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:690 -msgid "Combine infill every" -msgstr "Combinar el relleno cada" +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "Date cuenta" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:696 -msgid "Combine infill every n layers" -msgstr "Combinar el relleno cada n capas" +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "Intento de liberar un escalar no referenciado" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:509 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:869 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1668 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:143 -msgid "Compatible printers" -msgstr "Impresoras compatibles" +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "Peligro" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:147 -msgid "Compatible printers condition" -msgstr "Condición de impresoras compatibles" +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:154 -msgid "Complete individual objects" -msgstr "Completar objetos individuales" +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Escoja uno o mas archivos (STL/OBJ/AMF/3MF/PRUSA):" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:846 -msgid "Configuration Assistant" -msgstr "Asistente de Configuración" +#: src/slic3r/GUI/GUI_App.cpp:451 +msgid "Array of language names and identifiers should have the same size." +msgstr "" +"La lista de nombres de idioma e identificadores debería tener el mismo " +"tamaño." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:884 -msgid "Configuration notes" -msgstr "Notas de configuración" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Select the language" +msgstr "Seleccione el idioma" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Configuration Snapshots" -msgstr "Instantáneas de la Configuración" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Language" +msgstr "Idioma" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 -msgid "Configuration update" -msgstr "Actualización de configuración" +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 +msgid "Default" +msgstr "Por defecto" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -msgid "Configuration update is available" -msgstr "Hay disponible una actualización de la Configuración" +# xs/src/slic3r/GUI/GUI.cpp:402 +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "Instantáneas de la &Configuración" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:844 -msgid "Configuration Wizard" -msgstr "Asistente de configuración" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "Inspect / activate configuration snapshots" +msgstr "Inspeccionar / activar instantáneas de configuración" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:366 -msgid "Confirmation" -msgstr "Confirmación" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" +msgstr "Hacer una In&stantánea de la Configuración" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1020 -msgid "Connection failed." -msgstr "Conexión fallida." +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Capture a configuration snapshot" +msgstr "Captura una instantánea de configuración" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:211 -msgid "Connection to OctoPrint works correctly." -msgstr "La conexión a OctoPrint funciona correctamente." +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" +msgstr "&Preferencias" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Connection to printer works correctly." -msgstr "La conexión con la impresora funciona correctamente." +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "Application preferences" +msgstr "Preferencias de la aplicación" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1416 -msgid "Contact Z distance" -msgstr "Distancia Z de contacto" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:120 -msgid "Controller" -msgstr "Controlador" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple View Mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:805 -msgid "Cooling" -msgstr "Enfriamiento" +#: src/slic3r/GUI/GUI_App.cpp:617 src/slic3r/GUI/GUI_ObjectList.cpp:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "Avanzado" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:826 -msgid "Cooling thresholds" -msgstr "Umbrales de enfriamiento" +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:178 -msgid "Cooling tube length" -msgstr "Longitud del tubo de enfriamiento" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:170 -msgid "Cooling tube position" -msgstr "Posición del tubo de refrigeración" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:221 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Copies" -msgstr "Copias" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:476 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:450 -msgid "Cost" -msgstr "Coste" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Could not connect to OctoPrint" -msgstr "No puedo conectar con OctoPrint" +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" +msgstr "Cambiar el &Idioma de la Aplicación" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1465 -msgid "Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "Cubrir la capa de contacto superior de los soportes con bucles. Desactivado por defecto." +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" +msgstr "Flashear &firmware de la impresora" -#: xs/src/slic3r/GUI/Tab.cpp:743 -msgid "Current preset is inherited from " -msgstr "El valor actual se ha heredado de " +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Upload a firmware image into an Arduino based printer" +msgstr "Cargar una imagen de firmware a una impresora basada en Arduino" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 -msgid "Current version:" -msgstr "Versión actual:" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Taking configuration snapshot" +msgstr "Haciendo una instantánea de la configuración" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:71 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:92 -msgid "Custom" -msgstr "Personalizado" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Snapshot name" +msgstr "Nombre de la instantánea" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:846 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1119 -msgid "Custom G-code" -msgstr "Código G personalizado" +#: src/slic3r/GUI/GUI_App.cpp:674 +msgid "Application will be restarted" +msgstr "El programa se reiniciará" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:240 -msgid "Custom setup" -msgstr "Configuración personalizada" +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 +msgid "Attention!" +msgstr "¡Atención!" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:189 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:205 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Cut…" -msgstr "Cortar…" +#: src/slic3r/GUI/GUI_App.cpp:691 +msgid "&Configuration" +msgstr "&Configuración" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Decrease copies" -msgstr "Reducir copias" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "You have unsaved changes " +msgstr "Tienes cambios sin guardar " -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:300 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:170 -msgid "Default" -msgstr "Por defecto" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid ". Discard changes and continue anyway?" +msgstr ". ¿Descartar los cambios y continuar de todos modos?" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Field.cpp:42 -msgid "default" -msgstr "por defecto" +#: src/slic3r/GUI/GUI_App.cpp:712 +msgid "Unsaved Presets" +msgstr "Ajustes iniciales no guardados" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid "Default " -msgstr "Por defecto " +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "Capas y Perímetros" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:489 -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." -msgstr "Ángulo base predeterminado para orientación de relleno. Se aplicará sombreado cruzado a esto. Los puentes se rellenarán utilizando la mejor dirección que Slic3r pueda detectar, por lo que esta configuración no los afecta." +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "Relleno" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:376 -msgid "Default extrusion width" -msgstr "Ancho de extrusión por defecto" +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "Material de soporte" -#: xs/src/slic3r/GUI/Tab.cpp:767 -msgid "default filament profile" -msgstr "perfil de filamento por defecto" +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "Velocidad" -#: xs/src/libslic3r/PrintConfig.cpp:196 -msgid "Default filament profile" -msgstr "Perfil de filamento por defecto" +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "Extrusores" -#: xs/src/libslic3r/PrintConfig.cpp:197 -msgid "Default filament profile associated with the current printer profile. On selection of the current printer profile, this filament profile will be activated." -msgstr "Perfil de filamento por defecto asociado con el perfil de impresora actual. Al seleccionar el perfil de impresora actual se activará este perfil de filamento." +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "Ancho de Extrusión" -#: xs/src/slic3r/GUI/Tab.cpp:2287 xs/src/slic3r/GUI/Tab.cpp:2373 -msgid "Default presets" -msgstr "Ajustes por defecto" +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:202 -msgid "Default print profile" -msgstr "Perfil de impresión por defecto" +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:764 -msgid "default print profile" -msgstr "perfil de impresión por defecto" +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "Nombre" -#: xs/src/libslic3r/PrintConfig.cpp:203 -msgid "Default print profile associated with the current printer profile. On selection of the current printer profile, this print profile will be activated." -msgstr "Perfil de impresión por defecto asociado con el perfil de impresora actual. Al seleccionar el perfil de impresora actual se activará este perfil de impresión." +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1849 -msgid "degrees" -msgstr "grados" +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:476 -msgid "Delay after unloading" -msgstr "Retardo tras la descarga" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:178 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:196 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Delete" -msgstr "Borra" +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "delete" -msgstr "borra" +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:179 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:197 -msgid "Delete All" -msgstr "Borrar todo" +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:51 -msgid "Delete this preset" -msgstr "Borra este ajuste" +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:440 -msgid "Density" -msgstr "Densidad" +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:503 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." -msgstr "Densidad de relleno interior, expresado en el rango 0% - 100%." +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:507 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:867 -msgid "Dependencies" -msgstr "Dependencias" +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "Extrusor" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1142 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1143 -msgid "Deretraction Speed" -msgstr "Velocidad de deretracción" +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:940 -msgid "Detect bridging perimeters" -msgstr "Detectar perímetros con puentes" +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1584 -msgid "Detect single-width walls (parts where two extrusions don't fit and we need to collapse them into a single trace)." -msgstr "Detecta muros de ancho único (partes donde dos extrusiones no se ajustan y tenemos que colapsarlas en un solo rastro)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1582 -msgid "Detect thin walls" -msgstr "Detecta paredes delgadas" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:66 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:431 -msgid "Diameter" -msgstr "Diámetro" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:67 -msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." -msgstr "Diámetro de la base de impresión. Se supone que el origen (0,0) está ubicado en el centro." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1169 -msgid "Direction" -msgstr "Dirección" +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:53 -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 "Desactive la comunicación con la impresora a través de un puerto serie / USB. Esto simplifica la interfaz de usuario en caso de que la impresora nunca esté conectada a el ordenador." +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:180 -msgid "Disable fan for the first" -msgstr "Desactivar ventilador para la primera" +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:51 -msgid "Disable USB/serial connection" -msgstr "Deshabilitar la conexión USB / serie" +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:916 -msgid "Disables retraction when the travel path does not exceed the upper layer's perimeters (and thus any ooze will be probably invisible)." -msgstr "Desactiva la retracción cuando la trayectoria de desplazamiento no supera los perímetros de la capa superior (y, por lo tanto, cualquier goteo probablemente será invisible)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:198 -msgid "Distance between copies" -msgstr "Distancia entre copias" +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1213 -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 "Distancia entre falda y objeto(s). Ajuste esto a cero para unir la falda a los objetos y obtener un borde para una mejor adhesión." +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1212 -msgid "Distance from object" -msgstr "Distancia del objeto" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:58 -msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." -msgstr "Distancia de la coordenada del código G de 0,0 de la esquina frontal izquierda del rectángulo." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:171 -msgid "Distance of the center-point of the cooling tube from the extruder tip " -msgstr "Distancia desde el centro del tubo de enfriado a la punta del extrusor " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 +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." -#: xs/src/libslic3r/PrintConfig.cpp:1032 -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 "Distancia de la punta del extrusor desde la posición donde el filamento es colocado cuando se descarga. Esto debería coincidir con el valor en el firmware de la impresora. " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:199 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "Distancia utilizada para la función de organización automática de la base." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 -msgid "Don't notify about new releases any more" -msgstr "No quiero recibir avisos de nuevas versiones" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:190 -msgid "Don't support bridges" -msgstr "No soportar puentes" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 -msgid "Downgrade" -msgstr "Volver a una versión anterior" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:132 -msgid "Drag your objects here" -msgstr "Arrastre tus objetos aquí" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:207 -msgid "Elephant foot compensation" -msgstr "Compensación del pie de elefante" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:806 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:922 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1695 -msgid "Enable" -msgstr "Habilitar" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:163 -msgid "Enable auto cooling" -msgstr "Habilitar el enfriamiento automático" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:394 -msgid "Enable fan if layer print time is below" -msgstr "Habilitar ventilador si el tiempo de impresión de la capa está por debajo" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1381 -msgid "Enable support material generation." -msgstr "Habilite la generación de material de soporte." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:645 -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." -msgstr "Habilítelo para obtener un archivo de código G comentado, con cada línea explicada por un texto descriptivo. Si imprime desde una tarjeta SD, el peso adicional del archivo podría ralentizar su firmware." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1681 -msgid "Enable variable layer height feature" -msgstr "Habilitar la función de altura de capa variable" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:853 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1126 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:217 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:227 -msgid "End G-code" -msgstr "Código G final" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1431 -msgid "Enforce support for the first" -msgstr "Forzar soportes para la primera" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1439 -msgid "Enforce support for the first n layers" -msgstr "Aplicar soportes para las primeras n capas" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:238 -msgid "Ensure vertical shell thickness" -msgstr "Asegurar el espesor de la carcasa vertical" +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "Vista" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 -msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." -msgstr "Introduce la temperatura de la base necesaria para que adhiera el filamento a la base calefactable." +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "Tipo de función" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:441 -msgid "Enter the diameter of your filament." -msgstr "Introduce el diámetro de tu filamento." +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "Altura" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:428 -msgid "Enter the diameter of your printer's hot end nozzle." -msgstr "Introduce el diámetro de la boquilla del fusor de tu impresora." +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "Ancho" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -msgid "Enter the new max size for the selected object:" -msgstr "Ingrese el nuevo tamaño máximo para el objeto seleccionado:" +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "Tasa de caudal volumétrico" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1030 -#, perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" -msgstr "Ingrese el nuevo tamaño para el objeto seleccionado (base de impresión: %s mm):" +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "Herramienta" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Enter the number of copies of the selected object:" -msgstr "Ingrese la cantidad de copias del objeto seleccionado:" +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#, no-perl-format -msgid "Enter the scale % for the selected object:" -msgstr "Ingrese la escala % para el objeto seleccionado:" +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "Mostrar" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:479 -msgid "Enter the temperature needed for extruding your filament." -msgstr "Introduce la temperatura necesaria para extruir tu filamento." +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "Tipos de funciones" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:477 -msgid "Enter your filament cost per kg here. This is only for statistical information." -msgstr "Ingrese su coste del filamento por kg aquí. Esto es solo para información estadística." +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "Perímetro" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:441 -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." -msgstr "Ingrese su densidad de filamento aquí. Esto es solo para información estadística. Una forma decente es pesar una longitud conocida de filamento y calcular la relación entre la longitud y el volumen. Lo mejor es calcular el volumen directamente a través del desplazamiento." +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "Perímetro externo" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:432 -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 "Ingrese el diámetro de su fila aquí. Se requiere una buena precisión, por lo tanto, use un calibre y realice múltiples mediciones a lo largo del filamento, luego calcule el promedio." +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "Perímetro de voladizos" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:488 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:470 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Error" -msgstr "Error" +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "Relleno interno" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1612 -msgid "Error exporting 3MF file " -msgstr "Error al exportar el archivo 3MF " +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "Relleno sólido" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1596 -msgid "Error exporting AMF file " -msgstr "Error al exportar el archivo AMF " +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "Relleno sólido superior" -#: xs/src/slic3r/Utils/OctoPrint.cpp:47 -msgid "Error while uploading to the OctoPrint server" -msgstr "Error mientras se enviaban datos al servidor de OctoPrint" +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "Relleno de puente" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:315 -msgid "Error! " -msgstr "¡Error! " +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "Relleno" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:451 -msgid "Estimated printing time" -msgstr "Tiempo estimado de impresión" +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "Falda" -#: xs/src/slic3r/GUI/GUI.cpp:885 -msgid "Everywhere" -msgstr "En todos los sitios" +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "Interfaz del material de soporte" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:44 -#, c-format -msgid "except for the first %d layers" -msgstr "a excepción de las %d primeras capas" +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" +msgstr "Torre de limpieza" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:48 -msgid "except for the first layer" -msgstr "a excepción de la primera capa" +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "Recorrido" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 -msgid "Exit Slic3r" -msgstr "Salir de Slic3r" +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "Retracciones" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:192 -msgid "Experimental option for preventing support material from being generated under bridged areas." -msgstr "Opción experimental para evitar que se genere material de soporte debajo de las áreas con puente." +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "Desretracciones" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:942 -msgid "Experimental option to adjust flow for overhangs (bridge flow will be used), to apply bridge speed to them and enable fan." -msgstr "Opción experimental para ajustar el flujo para salientes (se usará el flujo del puente), para aplicar la velocidad del puente a ellos y habilitar el ventilador." +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "Carcasas" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "Export all presets to file" -msgstr "Exportar todos los preajustes al archivo" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1416 -msgid "Export cancelled" -msgstr "Exportación cancelada" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "Export current configuration to file" -msgstr "Exportar la configuración actual al archivo" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export current plate as 3MF" -msgstr "Exportar plataforma actual como 3MF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export current plate as AMF" -msgstr "Exportar plataforma actual como AMF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export current plate as G-code" -msgstr "Exportar plataforma actual como código G" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "Exportar código G" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export current plate as STL" -msgstr "Exportar plataforma actual como STL" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1454 -msgid "Export failed" -msgstr "Error al exportar" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export G-code..." -msgstr "Exportar código G..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:236 -msgid "Export G-code…" -msgstr "Exportar código G…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export object as STL…" -msgstr "Exportar plataforma como STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "Repetir el último laminado rápido" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export plate as 3MF..." -msgstr "Exportar plataforma como 3MF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "Seleccionar la pestaña Ajustes de la base" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export plate as AMF..." -msgstr "Exportar plataforma como AMF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export plate as STL..." -msgstr "Exportar plataforma como STL..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "Seleccionar la pestaña Ajustes de impresión" -#: xs/src/slic3r/GUI/GUI.cpp:950 -msgid "Export print config" -msgstr "Exporta la configuración de impresión" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "Seleccionar la pestaña Ajustes de Filamento" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:240 -msgid "Export STL…" -msgstr "Exportar STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "Selecccionar la pestaña Ajustes de impresora" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export this single object as STL file" -msgstr "Exportar este único objeto como archivo STL" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:139 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:81 -msgid "External perimeter" -msgstr "Perímetro externo" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:267 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:277 -msgid "External perimeters" -msgstr "Perímetros externos" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "Preferencias" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:151 -msgid "external perimeters" -msgstr "perímetros externos" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:289 -msgid "External perimeters first" -msgstr "Perímetros externos primero" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1126 -msgid "Extra length on restart" -msgstr "Longitud adicional en el reinicio" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:297 -msgid "Extra perimeters if needed" -msgstr "Perímetros adicionales si es necesario" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:795 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1234 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:307 -msgid "Extruder" -msgstr "Extrusor" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1187 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:400 -#, c-format -msgid "Extruder %d" -msgstr "Extrusor %d" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Extruder and Bed Temperatures" -msgstr "Temperaturas del Extrusor y de la Base" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:224 -msgid "Extruder changed to" -msgstr "El extrusor cambia a" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "Organiza" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:479 -msgid "Extruder clearance (mm)" -msgstr "Distancia libre del extrusor (mm)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:342 -msgid "Extruder Color" -msgstr "Color del extrusor" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:350 -msgid "Extruder offset" -msgstr "Offset del extrusor" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "Borrar todo" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:626 -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 "Temperatura del extrusor para la primera capa. Si desea controlar la temperatura manualmente durante la impresión, configúrela en cero para desactivar los comandos de control de temperatura en el archivo de salida." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1573 -msgid "Extruder temperature for layers after the first one. Set this to zero to disable temperature control commands in the output." -msgstr "Temperatura del extrusor para capas después del primera. Ajuste esto a cero para desactivar los comandos de control de temperatura en la salida." - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:431 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:308 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:702 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:958 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1445 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1471 -msgid "Extruders" -msgstr "Extrusores" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:360 -msgid "Extrusion axis" -msgstr "Eje de extrusión" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:367 -msgid "Extrusion multiplier" -msgstr "Multiplicador de extrusión" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:483 -msgid "Extrusion Temperature:" -msgstr "Temperatura de Extrusión:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:453 -msgid "Extrusion width" -msgstr "Ancho de extrusión" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:268 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:377 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:592 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:710 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:967 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1292 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1454 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1614 -msgid "Extrusion Width" -msgstr "Ancho de Extrusión" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:410 -msgid "Facets" -msgstr "Facetas" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:36 -msgid "Fan " -msgstr "Ventilador " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:817 -msgid "Fan settings" -msgstr "Configuración del ventilador" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:818 -msgid "Fan speed" -msgstr "Velocidad del ventilador" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:330 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:68 -msgid "Feature type" -msgstr "Tipo de función" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:78 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:79 -msgid "Feature types" -msgstr "Tipos de funciones" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:183 -msgid "Fewer" -msgstr "Menos" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:786 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:787 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:368 -msgid "Filament" -msgstr "Filamento" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Filament and Nozzle Diameters" -msgstr "Filamento y diámetros de boquilla" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 -msgid "Filament Diameter:" -msgstr "Diámetro del filamento:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:412 -msgid "Filament notes" -msgstr "Notas del filamento" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1031 -msgid "Filament parking position" -msgstr "Posición de aparcar el filamento" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:832 -msgid "Filament properties" -msgstr "Propiedades del filamento" +#: src/slic3r/GUI/MainFrame.cpp:53 +msgid "" +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +msgstr "" +" - Recuerda comprobar si hay actualizaciones en http://github.com/prusa3d/" +"slic3r/releases" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:202 -msgid "Filament Settings" -msgstr "Configuración del filamento" +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" +msgstr "Plataforma" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:450 -msgid "Filament type" -msgstr "Tipo de filamento" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "&Abrir" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 -msgid "filaments" -msgstr "filamentos" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1445 -msgid "File added to print queue" -msgstr "Archivo agregado a la cola de impresión" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:475 -msgid "File Not Found" -msgstr "Archivo no encontrado" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:487 -msgid "Fill angle" -msgstr "Ángulo de relleno" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:501 -msgid "Fill density" -msgstr "Densidad de relleno" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:539 -msgid "Fill pattern" -msgstr "Patrón de relleno" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:541 -msgid "Fill pattern for general low-density infill." -msgstr "Patrón de relleno para el relleno general de baja densidad." +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:248 -msgid "Fill pattern for top/bottom infill. This only affects the external visible layer, and not its adjacent solid shells." -msgstr "Patrón para el relleno superior / inferior. Esto solo afecta a la capa externa visible, y no a las capas sólidas adyacentes." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 -msgid "Finished" -msgstr "Terminado" +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "Cargar archivo de configuración exportado" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1110 -msgid "Firmware" -msgstr "Firmware" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:266 -msgid "Firmware flasher" -msgstr "Flasheador de firmware" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:293 -msgid "Firmware image:" -msgstr "Imagen del firmware:" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1314 -msgid "Firmware Retraction" -msgstr "Retracción del firmware" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "Cargar preajustes de un paquete" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:356 -msgid "Firmware Type" -msgstr "Tipo de Firmware" +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:573 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:582 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:591 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:625 -msgid "First layer" -msgstr "Primera capa" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "Exportar código &G" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:603 -msgid "First layer height" -msgstr "Altura de la primera capa" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "Exportar plataforma actual como código G" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:615 -msgid "First layer speed" -msgstr "Velocidad de la primera capa" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "Exportar plataforma como &STL" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "First layer volumetric" -msgstr "Primera capa volumétrica" - -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Flash printer firmware" -msgstr "Flashear firmware de la impresora" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "Exportar plataforma actual como STL" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:84 -msgid "Flash!" -msgstr "Flash!" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "Exportar plataforma como &AMF" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:147 -msgid "Flashing cancelled." -msgstr "Flasheo cancelado." +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "Exportar plataforma actual como AMF" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:146 -msgid "Flashing failed. Please see the avrdude log below." -msgstr "Flasheo fallido. Por favor comprueba el log de avrdude." +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" +msgstr "Exportar A&juste" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:123 -msgid "Flashing in progress. Please do not disconnect the printer!" -msgstr "Flasheo en curso. ¡Por favor no desconecte la impresora!" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "Exportar la configuración actual al archivo" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:145 -msgid "Flashing succeeded!" -msgstr "¡Exito al flashear!" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" +msgstr "Exportar &Conjunto de Ajustes" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:466 -msgid "Flow" -msgstr "Flujo" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "Exportar todos los preajustes al archivo" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 -msgid "For more information please visit our wiki page:" -msgstr "Para más información visite por favor la página de nuestra wiki:" +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:599 -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?" +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" msgstr "" -"Para que la Torre de Limpieza funcione con los soportes solubles, las capas de soporte deben sincronizarse con las capas de objeto. \n" -" \n" -" ¿Debería sincronizar las capas de soporte para habilitar la Torre de Limpieza?" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1264 -msgid "Force solid infill for regions having a smaller area than the specified threshold." -msgstr "Forzar el relleno sólido para las regiones que tienen un área más pequeña que el umbral especificado." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "Laminar un archivo en un código G" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:758 -msgid "Force the generation of solid shells between adjacent materials/volumes. Useful for multi-extruder prints with translucent materials or manual soluble support material." -msgstr "Forzar la generación de carcasas sólidas entre materiales / volúmenes adyacentes. Útil para impresiones de múltiples extrusoras con materiales translúcidos o material de soporte soluble manual." +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:260 -msgid "From" -msgstr "Desde" +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "Laminar un archivo en un código G, guárdar como" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front" -msgstr "Frontal" +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front View" -msgstr "Vista frontal" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "(Re)Laminar A&hora" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "G-code" -msgstr "Código G" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "Comenzar un nuevo proceso de laminado" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1451 -msgid "G-code file exported to " -msgstr "Archivo de código G exportado a " +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "&Reparar el archivo STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:652 -msgid "G-code flavor" -msgstr "Tipo de código G" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "Archivo STL reparado automáticamente" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:444 -msgid "g/cm³" -msgstr "g/cm³" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "&Salir" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:634 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:145 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:87 -msgid "Gap fill" -msgstr "Relleno" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "Salir de Slic3r" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:937 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:11 -msgid "General" -msgstr "General" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:875 -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." -msgstr "Generar no menos que el número de bucles de falda requeridos para consumir la cantidad especificada de filamento en la capa inferior. Para máquinas multi-extrusoras, este mínimo se aplica a cada extrusora." +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1379 -msgid "Generate support material" -msgstr "Generar material de soporte" +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1433 -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." -msgstr "Generar material de soporte para la cantidad especificada de capas contando desde abajo, independientemente de si el material de soporte normal está habilitado o no e independientemente de cualquier umbral de ángulo. Es útil para obtener una mayor adhesión de los objetos que tienen una huella muy delgada o deficiente en la placa de construcción." +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 -msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." -msgstr "Se necesita buena precisión, así que usa un calibre y realiza varias medidas a lo largo del filamento, luego calcula la media." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:583 -msgid "Heated build plate temperature for the first layer. Set this to zero to disable bed temperature control commands in the output." -msgstr "Temperatura de base calefactable para la primera capa. Ajuste esto a cero para deshabilitar los comandos de control de temperatura de la cama en la salida." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:320 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:69 -msgid "Height" -msgstr "Altura" +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "La pestaña Ajustes de la &base" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:332 -msgid "Height (mm)" -msgstr "Altura (mm)" +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "Mostrar la base" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1222 -msgid "Height of skirt expressed in layers. Set this to a tall value to use skirt as a shield against drafts." -msgstr "Altura de la falda expresada en capas. Establezca esto en un valor alto para usar la falda como escudo contra corrientes de aire." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "La pestaña Ajustes de im&presión" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:213 -#, 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." -msgstr "Hola, bienvenido a Slic3r Prusa Edition! Este %s te ayuda con la configuración inicial; sólo unos pocos ajustes y estarás preparado para imprimir." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "Mostrar los ajustes de impresión" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218 -msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." -msgstr "Aquí puedes ajustar el volumende purga requerida (mm³) para cualquier par de herramientas." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" +msgstr "La pestaña Ajustes de &Filamento" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:329 -msgid "Horizontal shells" -msgstr "Carcasas horizontales" +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "Mostrar los ajustes de filamento" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:128 -msgid "Horizontal width of the brim that will be printed around each object on the first layer." -msgstr "Ancho horizontal del borde que se imprimirá alrededor de cada objeto en la primera capa." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" +msgstr "La pestaña Ajustes de imp&resora" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 -msgid "Hostname" -msgstr "Nombre del equipo" +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "Mostrar la configuración de la impresora" -#: xs/src/libslic3r/PrintConfig.cpp:991 -msgid "Hostname, IP or URL" -msgstr "Nombre de equipo, IP o URL" +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:113 -msgid "" -"Hover the cursor over buttons to find more information \n" -"or click this button." -msgstr "Sitúa el cursos sobre los botones para más información o haz clic en este botón." +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1612 -msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." -msgstr "El archivo HTTPS CA es opcional. Sólo se necesita si vas a usar HTTPS con un certificado auto-firmado." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:275 xs/src/slic3r/GUI/Preferences.cpp:61 -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 application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done." -msgstr "Si está activado, Slic3r comprueba si hay nuevas versiones de Slic3r PE en la red. Cuando hay disponible una nueva versión se muestra una notificación al iniciar la aplicación (nunca durante el uso del programa). Esto es sólo un mecanismo de notificación, sin que se realice una instalación automática." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:282 xs/src/slic3r/GUI/Preferences.cpp:69 -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 "Si está activado, Slic3r descargará actualizaciones de los ajustes del sistema mientras lo usamos Estas actualizaciones se descargan a una ubicación temporal. Cuando hay un nuevo ajuste disponible, este se podrá incorporar y usar cuando la aplicación se vuelva a iniciar." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:26 -#, 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 "Si el tiempo de capa estimado está por debajo de ~ %ds, el ventilador funcionará en %d %% y la velocidad de impresión se reducirá de modo que no se gaste menos de %d s en esa capa (sin embargo, la velocidad nunca se reducirá por debajo de %d mm/s) ." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:616 -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." -msgstr "Si se expresa como valor absoluto en mm / s, esta velocidad se aplicará a todos los movimientos de impresión de la primera capa, independientemente de su tipo. Si se expresa como un porcentaje (por ejemplo: 40%), escalará las velocidades predeterminadas." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "Is&o" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:395 -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." -msgstr "Si el tiempo de impresión de capa se estima por debajo de este número de segundos, el ventilador se habilitará y su velocidad se calculará al interpolar las velocidades mínima y máxima." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "Vista Iso" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1240 -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 "Si el tiempo de impresión de la capa se estima por debajo de este número de segundos, la velocidad de los movimientos de impresión se reducirá para extender la duración a este valor." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "&Superior" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:388 -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." -msgstr "Si esto está habilitado, el ventilador nunca se desactivará y se mantendrá funcionando al menos a su velocidad mínima. Útil para PLA, no recomendado para ABS." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "Vista superior" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:37 -msgid "If this is enabled, Slic3r will auto-center objects around the print bed center." -msgstr "Si esto está habilitado, Slic3r centrará automáticamente los objetos alrededor del centro de la base de impresión." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "&Inferior" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:45 -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." -msgstr "Si esto está habilitado, Slic3r preprocesará objetos tan pronto como se carguen para ahorrar tiempo al exportar el código G." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "Vista inferior" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:29 -msgid "If this is enabled, Slic3r will prompt the last output directory instead of the one containing the input files." -msgstr "Si esto está habilitado, Slic3r solicitará el último directorio de salida en lugar del que contiene los archivos de entrada." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "&Frontal" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:77 -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 "Si tiene problemas de procesamiento causados ​​por un controlador OpenGL 2.0 defectuoso, puede intentar marcar esta casilla de verificación. Esto desactivará la edición de altura de capa y el antialiasing, por lo que es mejor actualizar su controlador de gráficos." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "Vista frontal" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1091 -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 "Si establece esto en un valor positivo, Z se levantará rápidamente cada vez que se active una retracción. Cuando se usan múltiples extrusores , solo se considerará la configuración del primer extrusor." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "&Trasera" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1101 -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 "Si establece esto en un valor positivo, la elevación de Z solo tendrá lugar por encima de la Z absoluta especificada. Puede ajustar esta configuración para omitir el levantamiento en las primeras capas." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "Vista trasera" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1110 -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 "Si configura esto en un valor positivo, la elevación Z solo tendrá lugar por debajo de la Z absoluta especificada. Puede ajustar esta configuración para limitar la elevación a las primeras capas." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "Iz&quierda" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:451 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1002 -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." -msgstr "Si desea procesar el código G de salida a través de scripts personalizados, simplemente haga una lista de sus rutas absolutas aquí. Separe los scripts múltiples con un punto y coma. Los scripts se pasarán por la ruta absoluta al archivo de código G como primer argumento, y pueden acceder a la configuración de configuración de Slic3r leyendo las variables de entorno." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "Vista izquierda" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:351 -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)." -msgstr "Si su firmware no maneja el desplazamiento del extrusor, necesita el código G para tenerlo en cuenta. Esta opción le permite especificar el desplazamiento de cada extrusora con respecto a la primera. Se esperan coordenadas positivas (se restarán de la coordenada XY)." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "De&recha" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1664 -msgid "If your firmware requires relative E values, check this, otherwise leave it unchecked. Most firmwares use absolute values." -msgstr "Si su firmware requiere valores E relativos, verifique esto, de lo contrario, deje sin marcar. La mayoría de los firmwares usan valores absolutos." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "Vista derecha" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 -msgid "Incompatible bundles:" -msgstr "Grupos incompatibles:" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "Controla&dores de Prusa 3D" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 -msgid "Incompatible with this Slic3r" -msgstr "Incompatible con este Slic3r" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "" +"Abrir la página de descarga de los controladores Prusa3D en su navegador" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Increase copies" -msgstr "Aumentar copias" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "&Lanzamientos de la Edición Prusa" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:346 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:347 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:664 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:87 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:247 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:488 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:502 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:540 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:681 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:691 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:709 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:746 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1263 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1280 -msgid "Infill" -msgstr "Relleno" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "Abrir la página de lanzamientos de Prusa Edition en su navegador" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:169 -msgid "infill" -msgstr "relleno" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "&Website de Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:720 -msgid "Infill before perimeters" -msgstr "Rellenar antes que los perímetros" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "Abrir el sitio web de Slic3r en su navegador" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:701 -msgid "Infill extruder" -msgstr "Extrusor de relleno" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "&Manual de Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:735 -msgid "Infill/perimeters overlap" -msgstr "Superposición de relleno/perímetros" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "Abrir el manual de Slic3r en su navegador" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:398 -msgid "Info" -msgstr "Info" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "&Información del Sistema" -#: xs/src/libslic3r/PrintConfig.cpp:819 -msgid "Inherits profile" -msgstr "Hereda el perfil" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "Mostrar la información del sistema" -#: xs/src/slic3r/GUI/Field.cpp:111 -msgid "Input value is out of range" -msgstr "El valor introducido está fuera de rango" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "Mostrar carpeta &Configuración" -#: xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Inspect / activate configuration snapshots" -msgstr "Inspeccionar / activar instantáneas de configuración" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "Mostrar carpeta de configuración de usuario (datadir)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1479 -msgid "Interface layers" -msgstr "Capas de interfaz" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "Informar de un &problema" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1463 -msgid "Interface loops" -msgstr "Bucles de interfaz" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "Informar de un problema de Slic3r Edición Prusa" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1488 -msgid "Interface pattern spacing" -msgstr "Espaciado de patrón de interfaz" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "&Acerca de Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:757 -msgid "Interface shells" -msgstr "Carcasas de interfaz" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "Mostrar Acerca de" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:141 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:83 -msgid "Internal infill" -msgstr "Relleno interno" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:120 -msgid "Invalid API key" -msgstr "Clave API incorrecta" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -msgid "Invalid scaling value entered" -msgstr "Valor de escala introducido inválido" +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "&Archivo" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso" -msgstr "Iso" +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso View" -msgstr "Vista Iso" +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "Ve&ntana" -#: xs/src/slic3r/GUI/Tab.cpp:748 -msgid "It can't be deleted or modified. " -msgstr "No se puede borrar ni modificar. " +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "&Ver" -#: xs/src/slic3r/GUI/Tab.cpp:741 -msgid "It's a default preset." -msgstr "Es un valor por defecto." +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "A&yuda" -#: xs/src/slic3r/GUI/Tab.cpp:742 -msgid "It's a system preset." -msgstr "Es un ajuste del sistema." +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Elija un archivo para laminar (STL / OBJ / AMF / 3MF / PRUSA):" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1180 -msgid "Jitter" -msgstr "Jitter" +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "Ningún archivo previamente laminado." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:387 -msgid "Keep fan always on" -msgstr "Mantener el ventilador siempre encendido" +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "Error" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Language" -msgstr "Idioma" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "Archivo anterior laminado (" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:192 -msgid "Layer Editing" -msgstr "Edición de Capa" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr ") no encontrado." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:207 -msgid "Layer editing" -msgstr "Edición de capa" +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "Archivo no encontrado" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:314 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:777 -msgid "Layer height" -msgstr "Altura de la capa" +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "Guardar " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1194 -msgid "Layer height limits" -msgstr "Límites de altura de la capa" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "SVG" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:157 -msgid "Layers" -msgstr "Capas" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "Código G" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:183 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:694 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1033 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1224 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1285 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1437 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1482 -msgid "layers" -msgstr "capas" +# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" +msgstr " archivo como:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:69 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:239 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:290 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:298 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:604 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:762 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:778 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:941 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:989 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1152 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1583 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1639 -msgid "Layers and Perimeters" -msgstr "Capas y Perímetros" +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:313 -msgid "Layers and perimeters" -msgstr "Capas y perímetros" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "Laminando" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left" -msgstr "Izquierda" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "Procesamiento " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left View" -msgstr "Vista izquierda" +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr " fue laminado con éxito." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1071 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1080 -msgid "Length" -msgstr "Largo" +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "¡Laminado realizado!" -#: xs/src/libslic3r/PrintConfig.cpp:179 -msgid "Length of the cooling tube to limit space for cooling moves inside it " -msgstr "Longitud del tubo de enfriado para limitar el espacio para movimientos de enfriamiento dentro del mismo " +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "Seleccione el archivo STL para reparar:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1090 -msgid "Lift Z" -msgstr "Levantar Z" +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "" +"Guardar archivo OBJ (menos propenso a errores de coordinación que STL) como:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "Load exported configuration file" -msgstr "Cargar archivo de configuración exportado" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "Tu fichero fue reparado." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "Load presets from a bundle" -msgstr "Cargar preajustes de un paquete" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "Reparar" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:75 -msgid "Load shape from STL..." -msgstr "Cargar forma desde STL..." +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "Guardar la configuración como:" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:692 -msgid "Loaded " -msgstr "Cargado " +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "Seleccione la configuración para cargar:" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 -msgid "loaded" -msgstr "cargado" +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "Guarde el conjunto de ajustes iniciales como:" -#: xs/src/libslic3r/PrintConfig.cpp:459 -msgid "Loading speed" -msgstr "Velocidad de carga" +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "%d ajustes iniciales importados con éxito." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -msgid "Loading…" -msgstr "Cargando…" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "Error de Slic3r" -#: xs/src/slic3r/GUI/Tab.cpp:2481 -msgid "LOCKED LOCK icon indicates that the settings are the same as the system values for the current option group" -msgstr "El símbolo del CANDADO CERRADO indica que los ajustes son los mismos que los valores del sistema para el grupo de opciones actual" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "Slic3r ha encontrado un error" -#: xs/src/slic3r/GUI/Tab.cpp:2497 -msgid "LOCKED LOCK icon indicates that the value is the same as the system value." -msgstr "El CANDADO CERRADO indica que los valores son los mismos que los del sistema." +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2442 -msgid "LOCKED LOCK;indicates that the settings are the same as the system values for the current option group" -msgstr "CANDADO CERRADO;indica que los ajustes son los mismos que los del sistema para el grupo de opciones actual" +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1229 -msgid "Loops (minimum)" -msgstr "Bucles (mínimo)" +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "Volumen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:412 -msgid "Manifold" -msgstr "Manifold" +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "Facetas" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:411 +#: src/slic3r/GUI/Plater.cpp:128 msgid "Materials" msgstr "Materiales" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:787 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:796 -msgid "Max" -msgstr "Max" - -#: xs/src/libslic3r/PrintConfig.cpp:876 -msgid "Max print height" -msgstr "Máxima altura de impresión" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:807 -msgid "Max print speed" -msgstr "Velocidad máxima de impresión" - -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 -msgid "max slic3r version" -msgstr "versión máxima de slic3r" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:837 -msgid "Max volumetric slope negative" -msgstr "Máx. Pendiente volumétrica negativa" +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "Manifold" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:826 -msgid "Max volumetric slope positive" -msgstr "Máx. Pendiente volumétrica positiva" +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "Información del laminado" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:817 -msgid "Max volumetric speed" -msgstr "Velocidad volumétrica máxima" +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "Filamento usado (m)" -#: xs/src/libslic3r/PrintConfig.cpp:1854 -msgid "Maximal bridging distance" -msgstr "Distancia máxima de puentes" +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "Filamento usado (mm³)" -#: xs/src/libslic3r/PrintConfig.cpp:1855 -msgid "Maximal distance between supports on sparse infill sections. " -msgstr "Distancia máxima entre soportes en las secciones con relleno ligero. " +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "Filamento usado (g)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:422 -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." -msgstr "Velocidad volumétrica máxima permitida para este filamento. Limita la velocidad volumétrica máxima de una impresión al mínimo de velocidad volumétrica de impresión y filamento. Establecer en cero para usar sin límite." +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "Coste" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:848 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:857 -msgid "Min" -msgstr "Min" +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "Tiempo estimado de impresión" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:866 -msgid "Min print speed" -msgstr "Velocidad de impresión mínima" +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 -msgid "min slic3r version" -msgstr "mínima versión de Slic3r" +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "Soporte" -#: xs/src/libslic3r/PrintConfig.cpp:951 -msgid "Minimal filament extrusion length" -msgstr "Longitud mínima de filamento extruido" +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "Selecciona qué clase de soporte necesitas" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1040 -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." -msgstr "Resolución mínima de detalles, utilizada para simplificar el archivo de entrada para acelerar el trabajo de laminado y reducir el uso de memoria. Los modelos de alta resolución suelen llevar más detalles de los que las impresoras pueden ofrecer. Establézcalo en cero para desactivar cualquier simplificación y usar la resolución completa de la entrada." +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "Ninguno" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1050 -msgid "Minimum travel after retraction" -msgstr "Distancia mínima después de la retracción" +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "Soporte en la base solamente" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror" -msgstr "Duplicar" +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "En todos los sitios" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror the selected object" -msgstr "Duplicar el objeto seleccionado" +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "Margen" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -msgid "Mirror the selected object along the X axis" -msgstr "Duplicar el objeto seleccionado a lo largo del eje X" +#: src/slic3r/GUI/Plater.cpp:381 +msgid "" +"This flag enables the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Esta opción activa el margen que se imprimirá alrededor del objeto en la " +"primera capa." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -msgid "Mirror the selected object along the Y axis" -msgstr "Duplicar el objeto seleccionado a lo largo del eje Y" +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "Volúmenes de purga" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -msgid "Mirror the selected object along the Z axis" -msgstr "Duplicar el objeto seleccionado a lo largo del eje Z" +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "Configuración de impresión" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:151 -msgid "Mixed" -msgstr "Mezclado" +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "Filamento" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:65 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:200 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:211 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:325 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:336 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:355 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:434 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:781 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:801 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:860 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:878 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:896 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1044 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1052 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1094 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1103 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1121 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1215 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1491 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1527 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1704 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1711 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1718 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1737 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1747 -msgid "mm" -msgstr "mm" +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1075 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1085 -msgid "mm (zero to disable)" -msgstr "mm (cero para deshabilitar)" +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:609 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:740 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1390 -msgid "mm or %" -msgstr "mm o %" +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "Impresora" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:382 -msgid "mm or % (leave 0 for auto)" -msgstr "mm o % (dejar 0 para automático)" +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "Enviar a la impresora" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:597 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:715 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:972 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1296 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1458 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1619 -msgid "mm or % (leave 0 for default)" -msgstr "mm o % (dejar 0 por defecto)" +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "Laminar ahora" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:638 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:749 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:811 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:868 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:981 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1137 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1146 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1536 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1649 -msgid "mm/s" -msgstr "mm/s" +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "%d (%d pieles)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:282 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:619 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1255 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1306 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1501 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1631 -msgid "mm/s or %" -msgstr "mm/s o %" +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "Reparados automáticamente (%d errores)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:80 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:174 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:576 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:684 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:952 -msgid "mm/s²" -msgstr "mm/s²" +#: src/slic3r/GUI/Plater.cpp:795 +#, c-format +msgid "" +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " +"facets reversed, %d backwards edges" +msgstr "" +"%d facetas problemáticas, %d aristas corregidas, %d facetas eliminadas, %d " +"facetas añadidas, %d facetas invertidas, %d aristas del revés" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1265 -msgid "mm²" -msgstr "mm²" +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" +msgstr "Sí" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:425 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:820 -msgid "mm³/s" -msgstr "mm³/s" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:831 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:842 -msgid "mm³/s²" -msgstr "mm³/s²" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "model" -msgstr "modelo" +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:414 -msgid "Modifiers" -msgstr "Modificadores" +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:478 -msgid "money/kg" -msgstr "dinero/kg" +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "Cargando" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:182 -msgid "More" -msgstr "Más" +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "Procesando archivo de entrada %s\n" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1696 -msgid "Multi material printers may need to prime or purge extruders on tool changes. Extrude the excess material into the wipe tower." -msgstr "Las impresoras de varios materiales pueden necesitar cebar o purgar extrusoras en los cambios de herramientas. Extruya el exceso de material en la torre de limpieza." +#: src/slic3r/GUI/Plater.cpp:1366 +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 "" +"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?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:666 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:683 +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 msgid "Multi-part object detected" msgstr "Objeto de piezas múltiples detectado" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:430 -msgid "Multiple Extruders" -msgstr "Múltiples Extrusores" +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:680 +#: src/slic3r/GUI/Plater.cpp:1408 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" @@ -2189,2285 +2131,4924 @@ msgstr "" "En lugar de considerarlos como objetos múltiples, ¿debería considerar\n" "estos archivos para formar un solo objeto que tiene varias partes?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:220 -msgid "Name" -msgstr "Nombre" +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "Cargado" -#: xs/src/libslic3r/PrintConfig.cpp:1126 -msgid "Name of the printer variant. For example, the printer variants may be differentiated by a nozzle diameter." -msgstr "Nombre de la variante de impresora. Por ejemplo, las variantes pueden distinguir diferentes diámetros de boquilla." +#: src/slic3r/GUI/Plater.cpp:1492 +msgid "" +"Your object appears to be too large, so it was automatically scaled down to " +"fit your print bed." +msgstr "" +"Tu pieza parece demasiado grande, así que se ha escalado automáticamente " +"para que pueda caber en la base de impresión." -#: xs/src/libslic3r/PrintConfig.cpp:1121 -msgid "Name of the printer vendor." -msgstr "Nombre del fabricante de la impresora." +#: src/slic3r/GUI/Plater.cpp:1493 +msgid "Object too large?" +msgstr "Objeto demasiado grande?" -#: xs/src/libslic3r/PrintConfig.cpp:820 -msgid "Name of the profile, from which this profile inherits." -msgstr "Nombre del perfil desde que éste hereda." +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "Exporta la configuración de impresión" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 -msgid "Network lookup" -msgstr "Búsqueda en la red" +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "New version of Slic3r PE is available" -msgstr "Nueva versión de Slic3r PE disponible" +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 -msgid "New version:" -msgstr "Nueva versión:" +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:469 -msgid "No previously sliced file." -msgstr "Ningún archivo previamente laminado." +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:28 -msgid "NO RAMMING AT ALL" -msgstr "NO EMPUJAR EN ABSOLUTO" +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:137 -msgid "None" -msgstr "Ninguno" +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "Nota: Se necesita al menos la versión 1.1.0 de OctoPrint." +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:500 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:501 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:859 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:860 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1156 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1157 -msgid "Notes" -msgstr "Notas" +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:493 -msgid "Notice" -msgstr "Date cuenta" +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "" +"The selected object can't be split because it contains more than one volume/" +"material." +msgstr "" +"El objeto seleccionado no se puede dividir porque contiene más de un " +"volumen / material." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:85 -msgid "nozzle" -msgstr "boquilla" +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "Cancelando" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:894 -msgid "Nozzle diameter" -msgstr "Diámetro de la boquilla" +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "Otro trabajo de exportación está aún en marcha." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:431 -msgid "Nozzle Diameter:" -msgstr "Diámetro de la boquilla:" +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "Error al exportar" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:967 -msgid "Number of extruders of the printer." -msgstr "Número de extrusores de la impresora." +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1481 -msgid "Number of interface layers to insert between the object(s) and support material." -msgstr "Número de capas de interfaz para insertar entre el (los) objeto(s) y el material de soporte." +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "Borra" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1231 -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 "Número de vueltas para la falda Si se establece la opción Longitud Mínima de Extrusión, el número de bucles puede ser mayor que el configurado aquí. Ajuste esto a cero para deshabilitar la falda por completo." +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "Eliminar el objeto seleccionado" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:70 -msgid "Number of solid layers to generate on bottom surfaces." -msgstr "Número de capas sólidas para generar en las superficies inferiores." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "Aumentar copias" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1315 -msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "Número de capas sólidas para generar en las superficies superior e inferior." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "Colocar una copia más del objeto seleccionado" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1640 -msgid "Number of solid layers to generate on top surfaces." -msgstr "Número de capas sólidas para generar en las superficies superiores." +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "Reducir copias" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:745 -msgid "Object too large?" -msgstr "Objeto demasiado grande?" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "Eliminar una copia del objeto seleccionado" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1032 -msgid "OctoPrint upload" -msgstr "Cargar en OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "Establecer el número de copias" -#: lib/Slic3r/GUI/Plater.pm:1511 -msgid "OctoPrint upload finished." -msgstr "Subida a OctoPrint finalizada." +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "Cambiar el número de copias del objeto seleccionado" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 -msgid "OctoPrint version" -msgstr "Versión de OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "Recargar desde el disco" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1410 -msgid "Only create support if it lies on a build plate. Don't create support on a print." -msgstr "Solo crear soportes si está en contacto con la plataforma. No crea soporte en la impresión." +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "Recargar el archivo seleccionado del disco" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:726 -msgid "Only infill where needed" -msgstr "Solo rellenar cuando sea necesario" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1205 -msgid "Only lift Z" -msgstr "Solo levantar Z" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "Exportar este único objeto como archivo STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1100 -msgid "Only lift Z above" -msgstr "Solo levantar Z mayor que" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1109 -msgid "Only lift Z below" -msgstr "Solo levantar Z menor que" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "Duplicar el objeto seleccionado a lo largo del eje X" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "Duplicar el objeto seleccionado a lo largo del eje Y" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "Duplicar el objeto seleccionado a lo largo del eje Z" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "Duplicar" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "Duplicar el objeto seleccionado" + +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "Dividir" + +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" +msgstr "Guardar archivo Código G como:" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" +msgstr "Archivo STL exportado a %s" + +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" +msgstr "Archivo AMF exportado a %s" + +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" +msgstr "Error al exportar el archivo AMF %s" + +#: src/slic3r/GUI/Plater.cpp:2891 +#, c-format +msgid "3MF file exported to %s" +msgstr "Archivo 3MF exportado a %s" + +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "Error al exportar el archivo 3MF %s" + +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "General" + +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "Recordar el directorio de salida" + +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "" +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." +msgstr "" +"Si esto está habilitado, Slic3r solicitará el último directorio de salida en " +"lugar del que contiene los archivos de entrada." + +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "Piezas auto-centradas" + +#: src/slic3r/GUI/Preferences.cpp:44 +msgid "" +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." +msgstr "" +"Si esto está habilitado, Slic3r centrará automáticamente los objetos " +"alrededor del centro de la base de impresión." + +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "Procesamiento en segundo plano" + +#: src/slic3r/GUI/Preferences.cpp:52 +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." +msgstr "" +"Si esto está habilitado, Slic3r preprocesará objetos tan pronto como se " +"carguen para ahorrar tiempo al exportar el código G." + +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "Suprima los ajustes iniciales \"- predeterminado -\"" + +#: src/slic3r/GUI/Preferences.cpp:76 +msgid "" +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." +msgstr "" +"Suprima los ajustes iniciales \"- predeterminado -\" en las selecciones " +"Imprimir / Filamento / Impresora una vez que haya otros ajustes " +"preestablecidos disponibles." + +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "Mostrar impresiones incompatibles y ajustes iniciales de filamentos" + +#: src/slic3r/GUI/Preferences.cpp:84 +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 "" +"Cuando está marcada, los ajustes preestablecidos de impresión y filamento se " +"muestran en el editor de ajustes preestablecidos, incluso si están marcados " +"como incompatibles con la impresora activa" + +#: src/slic3r/GUI/Preferences.cpp:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "Usar el renderizado OpenGL 1.1" + +#: src/slic3r/GUI/Preferences.cpp:92 +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 "" +"Si tiene problemas de procesamiento causados ​​por un controlador OpenGL 2.0 " +"defectuoso, puede intentar marcar esta casilla de verificación. Esto " +"desactivará la edición de altura de capa y el antialiasing, por lo que es " +"mejor actualizar su controlador de gráficos." + +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "Es necesario reiniciar Slic3r para hacer los cambios efectivos." + +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "" + +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "Ajustes del sistema" + +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "Ajustes de usuario" + +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" +msgstr "" + +#: 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 "" +"Si el tiempo de capa estimado está por debajo de ~ %ds, el ventilador " +"funcionará en %d %% y la velocidad de impresión se reducirá de modo que no " +"se gaste menos de %d s en esa capa (sin embargo, la velocidad nunca se " +"reducirá por debajo de %d mm/s) ." + +#: 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%%." +msgstr "" +"\n" +"Si el tiempo estimado de la capa es mayor, pero todavía por debajo de ~%ds, " +"el ventilador funcionará a una velocidad proporcionalmente menor entre %d%% " +"y %d%%." + +#: src/slic3r/GUI/PresetHints.cpp:36 +msgid "" +"\n" +"During the other layers, fan " +msgstr "" +"\n" +"Durante las otras capas, ventilador " + +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "Ventilador " + +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "siempre funcionará al %d %% " + +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "a excepción de las %d primeras capas" + +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "a excepción de la primera capa" + +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "será apagada." + +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "perímetros externos" + +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" +msgstr "perímetros" + +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "relleno" + +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "relleno sólido" + +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "relleno sólido superior" + +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "soporte" + +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "interfaz de soporte" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "Primera capa volumétrica" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "Puente volumétrico" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "Volumétrico" + +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr " la tasa de flujo se maximiza " + +#: src/slic3r/GUI/PresetHints.cpp:220 +msgid "by the print profile maximum" +msgstr "por el máximo perfil de impresión" + +#: src/slic3r/GUI/PresetHints.cpp:221 +msgid "when printing " +msgstr "cuando se imprime " + +#: src/slic3r/GUI/PresetHints.cpp:222 +msgid " with a volumetric rate " +msgstr " con una tasa volumétrica " + +#: src/slic3r/GUI/PresetHints.cpp:226 +#, c-format +msgid "%3.2f mm³/s" +msgstr "%3.2f mm³/seg" + +#: src/slic3r/GUI/PresetHints.cpp:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr " a una velocidad de filamento de %3.2f mm/s." + +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." +msgstr "" +"Grosor recomendado de la pared del objeto recomendado: no disponible debido " +"a la altura de capa no válida." + +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "" +"Espesor de pared delgada del objeto recomendado para una altura de capa %.2f " +"y " + +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "%d líneas: %.2lf mm" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" +msgstr "NO EMPUJAR EN ABSOLUTO" + +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" +msgstr "Tiempo" + +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "$" + +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "Velocidad volumétrica" + +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "Impresoras compatibles" + +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "Seleccione las impresoras con las que este perfil es compatible." + +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "Guardar actualmente " + +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "Borra este ajuste" + +#: src/slic3r/GUI/Tab.cpp:131 +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" +"Sitúa el cursos sobre los botones para más información o haz clic en este " +"botón." + +#: src/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "Es un valor por defecto." + +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "Es un ajuste del sistema." + +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "El valor actual se ha heredado de " + +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " +msgstr "No se puede borrar ni modificar. " + +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "" +"Cualquier modificación se almacenará como un nuevo ajuste basado en este. " + +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "Para hacerlo por favor especifique un nuevo nombre para esos ajustes." + +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "Información adicional:" + +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" +msgstr "modelo de impresora" + +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" +msgstr "perfil de impresión por defecto" + +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" +msgstr "perfil de filamento por defecto" + +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "Capas y perímetros" + +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "Altura de la capa" + +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "Carcasas verticales" + +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "Carcasas horizontales" + +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "Capas sólidas" + +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "Calidad (laminado más lento)" + +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "Reduciendo el tiempo de impresión" + +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "Falda y balsa" + +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "Balsa" + +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "Opciones de material de soporte y balsa" + +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "Velocidad para movimientos de impresión" + +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "Velocidad para movimientos sin impresión" + +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "Modificadores" + +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "Control de aceleración (avanzado)" + +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "Velocidad automática (avanzado)" + +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "Múltiples Extrusores" + +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "Prevención de goteo" + +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "Ancho de extrusión" + +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "Superposición" + +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "Flujo" + +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "Otro" + +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "Opciones de salida" + +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "Impresión secuencial" + +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "Distancia libre del extrusor (mm)" + +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "Archivo de salida" + +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "Scripts de postprocesamiento" + +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "Notas" + +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "Dependencias" + +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "Dependencias de perfil" + +#: src/slic3r/GUI/Tab.cpp:1161 +#, 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 "" +"El modo Vaso requiere: \n" +"- un perímetro \n" +"- sin capas sólidas superiores \n" +"- densidad de relleno del 0% \n" +"- sin material de soporte \n" +"- no ensure_vertical_shell_thickness \n" +"\n" +"¿Debo ajustar esos ajustes para habilitar el modo Vaso?" + +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "Modo Vaso" + +#: src/slic3r/GUI/Tab.cpp:1191 +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 "" +"Actualmente, la Torre de Limpieza solo admite los soportes no solubles si se " +"imprimen con la extrusora actual sin activar un cambio de herramienta.\n" +"(ambos support_material_extruder y support_material_interface_extruder deben " +"configurarse en 0). \n" +"\n" +"¿Debo ajustar esos ajustes para habilitar la Torre de Limpieza?" + +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "Torre de limpieza" + +#: src/slic3r/GUI/Tab.cpp:1209 +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 "" +"Para que la Torre de Limpieza funcione con los soportes solubles, las capas " +"de soporte deben sincronizarse con las capas de objeto. \n" +" \n" +" ¿Debería sincronizar las capas de soporte para habilitar la Torre de " +"Limpieza?" + +#: src/slic3r/GUI/Tab.cpp:1227 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" +msgstr "" +"Los soportes funcionan mejor, si la siguiente característica está " +"habilitada: \n" +"- Detectar perímetros de puente\n" +"\n" +"¿Debo ajustar esas configuraciones para los soportes?" + +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "Generador de soportes" + +# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "El " + +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format +msgid "" +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" +msgstr "" +" ese patrón de relleno no está pensado para trabajar al 100% de densidad. \n" +"\n" +"¿Debería cambiar a un patrón de relleno rectilíneo?" + +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "Temperatura " + +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" +msgstr "Base" + +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "Enfriamiento" + +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "Habilitar" + +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "Configuración del ventilador" + +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "Velocidad del ventilador" + +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "Umbrales de enfriamiento" + +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "Propiedades del filamento" + +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "Anular la velocidad de impresión" + +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" +msgstr "" +"Parámetros del cambio de herramienta para impresoras de un único extrusor MM" + +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" +msgstr "Ajustes de empuje" + +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "Código G personalizado" + +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "Comenzar el código G" + +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "Código G final" + +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr " Hojea " + +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "Test" + +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "¡Éxito!" + +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" +"El archivo HTTPS CA es opcional. Sólo se necesita si vas a usar HTTPS con un " +"certificado auto-firmado." + +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "Archivos de certificados (*.crt, *.pem)|*.crt;*.pem|Todos|*.*" + +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" +msgstr "Abrir archivo de certificado CA" + +#: src/slic3r/GUI/Tab.cpp:1676 +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:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "Tamaño y coordenadas" + +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr " Ajuste " + +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "Capacidades" + +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "Número de extrusores de la impresora." + +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "Conexión USB/Serial" + +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "Puerto serial" + +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "Vuelver a examinar los puertos serie" + +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "La conexión con la impresora funciona correctamente." + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "Conexión fallida." + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "Código G para antes del cambio de capa" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "Código G tras un cambio de capa" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "Código G de cambio de herramienta" + +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "Código G para entre objetos (para impresión secuencial)" + +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" +msgstr "Ajuste para MM con un solo extrusor" + +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" +msgstr "Parámetros multimaterial para un sólo extrusor" + +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "Extrusor %d" + +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "Límites de altura de la capa" + +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "Posición (para impresoras con múltiples extrusores )" + +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "Retracción" + +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "Solo levantar Z" + +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" +msgstr "" +"Retracción cuando la herramienta está desactivada (configuraciones avanzadas " +"para configuraciones de extrusores múltiples )" + +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "Previsualización" + +#: src/slic3r/GUI/Tab.cpp:2284 +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/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" +msgstr "Retracción del firmware" + +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" +msgstr "Ajustes por defecto (%s)" + +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" +msgstr "tiene los siguientes cambios sin guardar:" + +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" +msgstr "no es compatible con la impresora" + +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" +msgstr "y tiene los siguientes cambios sin guardar:" + +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" +msgstr "¿Descartar los cambios y continuar de todos modos?" + +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "Cambios no guardados" + +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "El nombre proporcionado está vacío. No se puede guardar." + +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." +msgstr "No se puede sobre-escribir un perfil del sistema." + +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." +msgstr "No puedo sobre-escribir un valor externo." + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "eliminar" + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "borra" + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "¿Está seguro que quiere " + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr " el ajuste inicial seleccionado?" + +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "Eliminar" + +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr " Ajuste inicial" + +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "Todo" + +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "" +"CANDADO CERRADO;indica que los ajustes son los mismos que los del sistema " +"para el grupo de opciones actual" + +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." +msgstr "" +"CANDADO CERRADO;indica que algunos de los ajustes se modificaron y no son " +"iguales a los valores almacenados para el grupo de opciones actual.\n" +"Haz clic en el CANDADO CERRADO para devolver los valores del grupo de " +"opciones actual a los valores del sistema." + +#: src/slic3r/GUI/Tab.cpp:2878 +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." +msgstr "" +"El símbolo de VIÑETA BLANCA;para el botón izquierdo: indica un ajuste no " +"original, para el botón derecho: indica que el ajuste no se ha modificado." + +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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 "" +"FLECHA ATRÁS;indica si los ajustes cambiaron y ya no son iguales a los " +"ajustes guardados la última vez para el grupo de opciones actual. \n" +"Haz click en la FLECHA ATRÁS para devolver los valores del grupo de opciones " +"actual a los valores guardados la última vez." + +#: src/slic3r/GUI/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" +msgstr "" +"El símbolo del CANDADO CERRADO indica que los ajustes son los mismos que los " +"valores del sistema para el grupo de opciones actual" + +#: src/slic3r/GUI/Tab.cpp:2910 +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." +msgstr "" +"El CANDADO ABIERTO indica que algunos de los ajustes cambiaron y que no son " +"iguales a los valores del sistema para el grupo de opciones actual. \n" +"Haz clic para restaurar los ajustes del grupo de opciones actual a los " +"valores del sistema." + +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "El símbolo de VIÑETA BLANCA indica un ajuste que no es del sistema." + +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." +msgstr "" +"El símbolo de VIÑETA BLANCA indica que los ajustes son los mismos que los de " +"la última vez que salvaste los ajustes para el grupo de opciones actual." + +#: src/slic3r/GUI/Tab.cpp:2918 +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 "" +"El símbolo de FLECHA ATRÁS indica que los ajustes cambiaron y que no son " +"iguales a los que se guardaron para el grupo de opciones actual.\n" +"Haz clic para devolver esos valores a los últimos guardados." + +#: src/slic3r/GUI/Tab.cpp:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" +"El CANDADO CERRADO indica que los valores son los mismos que los del sistema." + +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" +"El CANDADO ABIERTO indica que el valor cambió y ya no es igual al valor del " +"sistema. \n" +"Haz clic para devolver el valor al valor del sistema." + +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" +"El símbolo de VIÑETA BLANCA indica que los valores son los mismos que los de " +"los ajustes guardados la última vez." + +#: src/slic3r/GUI/Tab.cpp:2932 +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 "" +"La FLECHA ATRÁS indica que el valor ha cambiado y ya no es el mismo que el " +"guardado la última vez.\n" +"Haz clic para restaurar el valor al último ajuste guardado." + +# Used in this context: _("Save ") + title + _(" as:") +#: src/slic3r/GUI/Tab.cpp:3031 +msgid " as:" +msgstr " como:" + +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "El nombre proporcionado no está disponible." + +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "Capas" + +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "Configuración de Impresión" + +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "Configuración del filamento" + +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "Configuración de la Impresora" + +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "Guardar ajuste inicial" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "Actualización disponible" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "Nueva versión de Slic3r PE disponible" + +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "Para descargar, sigue el enlace que hay más abajo." + +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "Versión actual:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "Nueva versión:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "No quiero recibir avisos de nuevas versiones" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "Actualización de configuración" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "Hay disponible una actualización de la Configuración" + +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "Incompatibilidad de Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "La configuración de Slic3r es incompatible" + +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" +"Esta versión de Slic3r PE no es compatible con los grupos de configuraciones " +"instaladas. Esto sucede probablemente por ejecutar una versión de Slic3r PE " +"después de haber usado una más reciente.\n" +"\n" +"Puedes salir de Slic3r 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 Slic3r.\n" + +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" +msgstr "Esta versión de Slic3r: %s" + +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "Grupos incompatibles:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "Salir de Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "Reconfigurar" + +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format +msgid "" +"Slic3r PE 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 "" +"Ahora Slic3r PE usa una estructura actualizada para la configuración. \n" +"\n" +"Se han introducido los llamados 'Ajustes del sistema' , que tienen valores " +"por defecto para varias impresoras. Estos ajustes del sistema no pueden " +"modificarse, por el contrario, los usuarios pueden crear nuevos ajustes que " +"se basan en alguno de ellos.\n" +"Un ajuste nuevo puede heredar un valor de un ajuste existente o bien tener " +"un nuevo valor personalizado.\n" +"\n" +"Por favof, continúa con el %s que sigue para establecer los nuevos ajustes y " +"seleccionar si quieres que estos se actualicen automáticamente." + +#: src/slic3r/GUI/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "Para más información visite por favor la página de nuestra wiki:" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "Configuración de empuje" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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 "" +"El empuje señala la extrusión rápida justo antes de un cambio de filamento " +"en una impresora MM de un sólo extrusor. Su propósito es asegurar una forma " +"adecuada para el extremo de filamento que se va a descargar, para que no " +"haya problemas al insertar uno nuevo y para que se pueda volver a insertar " +"este más tarde. Esta fase es importante y diferentes materiales puede " +"precisar diferentes velocidades para obtener la forma correcta. Por este " +"motivo, las velocidades extrusión durante el empuje son ajustables.\n" +"\n" +"Este es un ajuste para expertos, ajustarlo incorrectamente podrá producir " +"atascos, que la rueda del extrusor arañe el filamento, etc." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 +msgid "Total ramming time" +msgstr "Tiempo de empuje total" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "Volumen total empujado" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "Ancho de la linea de empuje" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "Espaciado de la linea de empuje" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "Torre de limpieza - Ajuste del volumen de purga" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "" +"Aquí puedes ajustar el volumende purga requerida (mm³) para cualquier par de " +"herramientas." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "El extrusor cambia a" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "descargado" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "cargado" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "Herramienta nº" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" +"El volumen total de purga se calcula sumando dos valors más abajo, " +"dependiendo de qué filamentos se carguen/descarguen." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "Volumen a purgar (mm³) cuando el filamento está siendo" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "Desde" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +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/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "Muestra los ajustes simplificados" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "Mostrar ajustes avanzados" + +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "La conexión a OctoPrint funciona correctamente." + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "No puedo conectar con OctoPrint" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "Nota: Se necesita al menos la versión 1.1.0 de OctoPrint." + +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "requiere un min. %s y un max. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +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 "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" +msgstr "" + +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "" + +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "" + +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" + +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" + +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" + +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" + +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" + +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" + +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" + +#: src/libslic3r/Print.cpp:1255 +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:1257 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" +msgstr "" + +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" + +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" + +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "" + +#: src/libslic3r/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "" + +#: src/libslic3r/Print.cpp:1316 +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 "" + +#: src/libslic3r/Print.cpp:1324 +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:1328 +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 "" + +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "" + +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "Forma de la base de impresión" + +#: src/libslic3r/PrintConfig.cpp:48 +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 "" +"Esta configuración controla la altura (y, por tanto, el número total) de las " +"láminas / capas. Las capas más delgadas brindan una mayor precisión pero " +"requieren más tiempo para imprimir." + +#: src/libslic3r/PrintConfig.cpp:56 +msgid "Max print height" +msgstr "Máxima altura de impresión" + +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" +"Ajusta este valor a la altura máxima que puede alcanzar el extrusor mientras " +"imprime." + +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "Evita cruzar perímetros" + +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" +"Optimiza los movimientos de desplazamiento para minimizar el cruce de " +"perímetros. Esto es principalmente útil con extrusores Bowden que sufren " +"goteo. Esta característica ralentiza tanto la impresión como la generación " +"de código G." + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "Otras capas" + +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" +"Temperatura de la base calefactable para las capas después de la primera. " +"Ajuste esto a cero para deshabilitar los comandos de control de temperatura " +"de la base calefactable en la salida." + +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "Temperatura de la base" + +#: src/libslic3r/PrintConfig.cpp:93 +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 "" +"Este código personalizado se inserta en cada cambio de capa, justo antes del " +"movimiento Z. Tenga en cuenta que puede usar variables de marcador de " +"posición para todos los ajustes de Slic3r, así como [layer_num] y [layer_z]." + +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "Código G para entre objetos" + +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" +"Este código se inserta entre los objetos cuando se utiliza la impresión " +"secuencial. Por defecto, el extrusor y la temperatura de la cama se " +"reinician utilizando un comando de no espera; sin embargo, si se detectan " +"M104, M109, M140 o M190 en este código personalizado, Slic3r no agregará " +"comandos de temperatura. Tenga en cuenta que puede usar variables de " +"marcador de posición para todas las configuraciones de Slic3r, por lo que " +"puede poner un comando \"M109 S [first_layer_temperature]\" donde lo desee." + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "Inferior" + +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "Número de capas sólidas para generar en las superficies inferiores." + +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "Capas sólidas inferiores" + +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "Puente" + +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "" +"Esta es la aceleración que su impresora usará para los puentes. Establezca " +"cero para deshabilitar el control de aceleración para puentes." + +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "mm/s²" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "Ángulo de puente" + +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" +"Anulación de ángulo de puente. Si se deja en cero, el ángulo de puente se " +"calculará automáticamente. De lo contrario, el ángulo proporcionado se usará " +"para todos los puentes. Use 180 ° para ángulo con cero grados." + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "°" + +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "Velocidad del ventilador para puentes" + +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "" +"La velocidad de este ventilador se aplica durante todos los puentes y " +"voladizos." + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "%" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "Relación de flujo del puente" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" +"Este factor afecta la cantidad de plástico para formar puentes. Puede " +"disminuirlo ligeramente para extraer los extruidos y evitar el combado, " +"aunque la configuración predeterminada suele ser buena y debe experimentar " +"con la refrigeración (usar un ventilador) antes de ajustar esto." + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "Puentes" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "Velocidad para imprimir puentes." + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "mm/s" + +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "Ancho del margen" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:915 -msgid "Only retract when crossing perimeters" -msgstr "Solo retraer al cruzar perímetros" +#: src/libslic3r/PrintConfig.cpp:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Ancho horizontal del borde que se imprimirá alrededor de cada objeto en la " +"primera capa." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:438 -msgid "Ooze prevention" -msgstr "Prevención de goteo" +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "Enlazaar objetos de varias partes" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:251 -msgid "Open a model" -msgstr "Abrir un modelo" +#: src/libslic3r/PrintConfig.cpp:188 +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 "" +"Al imprimir objetos multi-material, esta configuración hará que slic3r " +"recorte las partes del objeto superpuestas una por la otra (la 2da parte " +"será recortada por la 1ra, la 3ra parte será recortada por la 1ra y 2da, " +"etc.)." -#: xs/src/slic3r/GUI/Tab.cpp:1598 -msgid "Open CA certificate file" -msgstr "Abrir archivo de certificado CA" +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:194 -msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O" -msgstr "Abrir STL/OBJ/AMF/3MF…\tCtrl+O" +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Open the 3D cutting tool" -msgstr "Abrir la herramienta de corte 3D" +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "Condición de impresoras compatibles" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Open the object editor dialog" -msgstr "Abrir el cuadro del editor de objetos" +#: src/libslic3r/PrintConfig.cpp:208 +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 "" +"Una expresión booleana utilizando valores de configuración de un perfil " +"existente. Si esta expresión es verdadera, el perfil será considerado " +"compatible con el perfil de impresión activo." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "Abrir la página de lanzamientos de Prusa Edition en su navegador" +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Open the Prusa3D drivers download page in your browser" -msgstr "Abrir la página de descarga de los controladores Prusa3D en su navegador" +#: src/libslic3r/PrintConfig.cpp:221 +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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Open the Slic3r manual in your browser" -msgstr "Abrir el manual de Slic3r en su navegador" +#: src/libslic3r/PrintConfig.cpp:235 +msgid "Complete individual objects" +msgstr "Completar objetos individuales" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Open the Slic3r website in your browser" -msgstr "Abrir el sitio web de Slic3r en su navegador" +#: src/libslic3r/PrintConfig.cpp:236 +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 "" +"Al imprimir múltiples objetos o copias, esta característica completará cada " +"objeto antes de pasar al siguiente (y comenzará desde la capa inferior). " +"Esta función es útil para evitar el riesgo de impresiones arruinadas. Slic3r " +"debería advertirte y evitar las colisiones del extrusor, pero ten cuidado." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:27 -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." -msgstr "Optimiza los movimientos de desplazamiento para minimizar el cruce de perímetros. Esto es principalmente útil con extrusores Bowden que sufren goteo. Esta característica ralentiza tanto la impresión como la generación de código G." +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "Habilitar el enfriamiento automático" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:384 -msgid "Options for support material and raft" -msgstr "Opciones de material de soporte y balsa" +#: src/libslic3r/PrintConfig.cpp:246 +msgid "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." +msgstr "" +"Este indicador habilita la lógica de enfriamiento automático que ajusta la " +"velocidad de impresión y la velocidad del ventilador según el tiempo de " +"impresión de la capa." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:57 -msgid "Origin" -msgstr "Origen" +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "Posición del tubo de refrigeración" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:469 -msgid "Other" -msgstr "Otro" +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "" +"Distancia desde el centro del tubo de enfriado a la punta del extrusor " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:38 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1572 -msgid "Other layers" -msgstr "Otras capas" +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "Longitud del tubo de enfriamiento" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:295 -msgid "Other Vendors" -msgstr "Otras Marcas" +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "" +"Longitud del tubo de enfriado para limitar el espacio para movimientos de " +"enfriamiento dentro del mismo " -#: xs/src/slic3r/GUI/ConfigWizard.cpp:238 -msgid "Other vendors" -msgstr "Otras marcas" +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" +"Esta es la aceleración después de que se usen los valores de aceleración " +"específicos de cada función (perímetro / relleno). Establezca cero para " +"evitar restablecer la aceleración." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:488 -msgid "Output file" -msgstr "Archivo de salida" +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "Perfil de filamento por defecto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:930 -msgid "Output filename format" -msgstr "Formato de nombre de salida" +#: src/libslic3r/PrintConfig.cpp:282 +msgid "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." +msgstr "" +"Perfil de filamento por defecto asociado con el perfil de impresora actual. " +"Al seleccionar el perfil de impresora actual se activará este perfil de " +"filamento." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:476 -msgid "Output options" -msgstr "Opciones de salida" +#: src/libslic3r/PrintConfig.cpp:287 +msgid "Default print profile" +msgstr "Perfil de impresión por defecto" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:140 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:82 -msgid "Overhang perimeter" -msgstr "Perímetro de voladizos" +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +msgid "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." +msgstr "" +"Perfil de impresión por defecto asociado con el perfil de impresora actual. " +"Al seleccionar el perfil de impresora actual se activará este perfil de " +"impresión." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1550 -msgid "Overhang threshold" -msgstr "Umbral de voladizos" +#: src/libslic3r/PrintConfig.cpp:293 +msgid "Disable fan for the first" +msgstr "Desactivar ventilador para la primera" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:463 -msgid "Overlap" -msgstr "Superposición" +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" +"Puedes configurarlo como un valor positivo para desactivar el ventilador " +"durante todas las capas iniciales, de manera que no empeora la adhesión." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1508 -msgid "Pattern" -msgstr "Patrón" +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "capas" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1398 -msgid "Pattern angle" -msgstr "Ángulo del patrón" +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "No soportar puentes" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1524 -msgid "Pattern spacing" -msgstr "Espaciado entre patrones" +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "" +"Opción experimental para evitar que se genere material de soporte debajo de " +"las áreas con puente." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1510 -msgid "Pattern used to generate support material." -msgstr "Patrón utilizado para generar material de soporte." +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "Distancia entre copias" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:138 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:80 -msgid "Perimeter" -msgstr "Perímetro" +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "" +"Distancia utilizada para la función de organización automática de la base." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:957 -msgid "Perimeter extruder" -msgstr "Extrusor de perímetros" +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "Compensación del pie de elefante" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:160 -msgid "perimeters" -msgstr "perímetros" +#: src/libslic3r/PrintConfig.cpp:324 +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 "" +"La primera capa se contraerá en el plano XY por el valor configurado para " +"compensar el aplatamiento de la 1ª capa, también conocido como efecto Pie de " +"Elefante." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:948 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:978 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:988 -msgid "Perimeters" -msgstr "Perímetros" +#: src/libslic3r/PrintConfig.cpp:334 +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 "" +"Este procedimiento final se inserta al final del archivo de salida. Tenga en " +"cuenta que puede usar variables de marcador de posición para todas las " +"configuraciones de Slic3r." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 -msgid "Pick another vendor supported by Slic3r PE:" -msgstr "Escoge otro fabricante soportado por Slic3r PE:" +#: src/libslic3r/PrintConfig.cpp:345 +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 "" +"Este procedimiento final se inserta al final del archivo de salida, antes " +"del gcode final. Tenga en cuenta que puede usar variables de marcador de " +"posición para todas las configuraciones de Slic3r. Si tiene extrusores " +"múltiples, el gcode se procesa en el orden del extrusor." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Place one more copy of the selected object" -msgstr "Colocar una copia más del objeto seleccionado" +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "Asegurar el espesor de la carcasa vertical" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:118 -msgid "Plater" -msgstr "Plataforma" +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" +"Añade un relleno completo cerca de las superficies inclinadas para " +"garantizar el ancho vertical solicitado(capas sólidas arriba+abajo)." -#: lib/Slic3r/GUI/Plater.pm:1897 -msgid "Please install the OpenGL modules to use this feature (see build instructions)." -msgstr "Por favor instale los módulos OpenGL para usar esta característica (consulte las instrucciones de instalación)." +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "Patrón de relleno superior/inferior" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1199 -msgid "Position (for multi-extruder printers)" -msgstr "Posición (para impresoras con múltiples extrusores )" +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "" +"Patrón para el relleno superior / inferior. Esto solo afecta a la capa " +"externa visible, y no a las capas sólidas adyacentes." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1153 -msgid "Position of perimeters starting points." -msgstr "Posición de los puntos de inicio del perímetro." +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1702 -msgid "Position X" -msgstr "Posición X" +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1709 -msgid "Position Y" -msgstr "Posición Y" +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:494 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1001 -msgid "Post-processing scripts" -msgstr "Scripts de postprocesamiento" +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.hpp:17 -msgid "Preferences" -msgstr "Preferencias" +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1171 -msgid "Preferred direction of the seam" -msgstr "Dirección preferida de la costura" +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "Perímetros externos" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1183 -msgid "Preferred direction of the seam - jitter" -msgstr "Dirección preferida de la unión - jitter" +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" +"Ajuste este valor distinto de cero para establecer un ancho de extrusión " +"manual para perímetros externos. Si se deja en cero, se usará el ancho de " +"extrusión por defecto si se establece, de lo contrario se usará 1.125 x " +"diámetro de la boquilla. Si se expresa como porcentaje (por ejemplo, 200%), " +"se computará sobre la altura de la capa." + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "mm o % (dejar 0 por defecto)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2125 -msgid "Preview" -msgstr "Previsualización" +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" +"Esta configuración independiente afectará la velocidad de los perímetros " +"externos (los visibles). Si se expresa como porcentaje (por ejemplo: 80%), " +"se calculará en la configuración de velocidad de perímetros anterior. " +"Establecer a cero para auto." + +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "mm/s o %" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid "Previously sliced file (" -msgstr "Archivo anterior laminado (" +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "Perímetros externos primero" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 -msgid "print" -msgstr "imprimir" +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "" +"Imprimir perímetros de contorno desde el más externo hasta el más interno en " +"lugar del orden inverso predeterminado." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:291 -msgid "Print contour perimeters from the outermost one to the innermost one instead of the default inverse order." -msgstr "Imprimir perímetros de contorno desde el más externo hasta el más interno en lugar del orden inverso predeterminado." +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "Perímetros adicionales si es necesario" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Print Diameters" -msgstr "Diámetros de impresión" +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" +"Añadir más perímetros cuando se necesiten para evitar huecos en las paredes " +"inclinadas. Slic3r sigue añadiendo perímetros hasta que más del 70% del " +"perímetro superior sea soportado." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:182 -msgid "Print Settings" -msgstr "Configuración de Impresión" +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"The extruder to use (unless more specific extruder settings are specified). " +"This value overrides perimeter and infill extruders, but not the support " +"extruders." +msgstr "" +"La extrusora que se usa (a menos que se especifiquen configuraciones de " +"extrusión más específicas). Este valor anula los extrusores de perímetro y " +"relleno, pero no los extrusores de soporte." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:367 -msgid "Print settings" -msgstr "Configuración de impresión" +#: src/libslic3r/PrintConfig.cpp:444 +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." +msgstr "" +"Ajuste este valor según la distancia vertical entre la punta de la boquilla " +"y (generalmente) las barras X del carro. En otras palabras, esta es la " +"altura del cilindro de holgura alrededor de su extrusor, y representa la " +"profundidad máxima que el extrusor puede asomar antes de colisionar con " +"otros objetos impresos." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:836 -msgid "Print speed override" -msgstr "Anular la velocidad de impresión" +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "Radio" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:369 -msgid "Printer" -msgstr "Impresora" +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" +"Ajuste este parámetro según el radio de espacio libre alrededor de su " +"extrusor. Si el extrusor no está centrado, elija el valor más grande para " +"seguridad. Esta configuración se utiliza para verificar colisiones y mostrar " +"la vista previa gráfica en la bandeja." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 -msgid "printer" -msgstr "impresora" +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "Color del extrusor" -#: xs/src/slic3r/GUI/Tab.cpp:762 -msgid "printer model" -msgstr "modelo de impresora" +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "Esto solo se usa en la interfaz de Slic3r como ayuda visual." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1014 -msgid "Printer notes" -msgstr "Notas de la impresora" +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "Offset del extrusor" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:228 -msgid "Printer Settings" -msgstr "Configuración de la Impresora" +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" +"Si su firmware no maneja el desplazamiento del extrusor, necesita el código " +"G para tenerlo en cuenta. Esta opción le permite especificar el " +"desplazamiento de cada extrusora con respecto a la primera. Se esperan " +"coordenadas positivas (se restarán de la coordenada XY)." -#: xs/src/libslic3r/PrintConfig.cpp:1106 -msgid "Printer type" -msgstr "Tipo de impresora" +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "Eje de extrusión" -#: xs/src/libslic3r/PrintConfig.cpp:1125 -msgid "Printer variant" -msgstr "Modelo de impresora" +#: src/libslic3r/PrintConfig.cpp:487 +msgid "" +"Use this option to set the axis letter associated to your printer's extruder " +"(usually E but some printers use A)." +msgstr "" +"Utiliza esta opción para ajustar la letra asociada al extrusor de tu " +"impresora (normalmente se usa E pero otras usan A)." -#: xs/src/libslic3r/PrintConfig.cpp:1120 -msgid "Printer vendor" -msgstr "Fabricante de la impresora" +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "Multiplicador de extrusión" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:238 -msgid "Print…" -msgstr "Imprimir…" +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" +"Este factor cambia la cantidad de flujo proporcionalmente. Es posible que " +"necesite ajustar esta configuración para obtener un buen acabado superficial " +"y corregir el ancho de una sola pared. Los valores usuales están entre 0.9 y " +"1.1. Si cree que necesita cambiar esto más, verifique el diámetro del " +"filamento y los pasos del E en el firmware." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Processing " -msgstr "Procesamiento " +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "Ancho de extrusión por defecto" + +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "" +"Ajuste este valor distinto de cero para permitir un ancho de extrusión " +"manual. Si se deja a cero, Slic3r obtiene anchuras de extrusión del diámetro " +"de la boquilla (consulte la información sobre herramientas para conocer el " +"ancho de extrusión, el ancho de extrusión de relleno, etc.). Si se expresa " +"como porcentaje (por ejemplo: 230%), se computará sobre la altura de la capa." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:643 -msgid "Processing input file\n" -msgstr "Procesando archivo de entrada \n" +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "mm o % (dejar 0 para automático)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:508 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:868 -msgid "Profile dependencies" -msgstr "Dependencias de perfil" +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "Mantener el ventilador siempre encendido" + +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" +"Si esto está habilitado, el ventilador nunca se desactivará y se mantendrá " +"funcionando al menos a su velocidad mínima. Útil para PLA, no recomendado " +"para ABS." + +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "" +"Habilitar ventilador si el tiempo de impresión de la capa está por debajo" + +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "" +"Si el tiempo de impresión de capa se estima por debajo de este número de " +"segundos, el ventilador se habilitará y su velocidad se calculará al " +"interpolar las velocidades mínima y máxima." + +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "segundos aproximadamente" + +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "Color" + +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "Notas del filamento" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:300 -msgid "Progress:" -msgstr "Progreso:" +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "Puede poner sus notas con respecto al filamento aquí." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Prusa 3D Drivers" -msgstr "Controladores de Prusa 3D" +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "Velocidad volumétrica máxima" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Prusa Edition Releases" -msgstr "Lanzamientos de la Edición Prusa" +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" +"Velocidad volumétrica máxima permitida para este filamento. Limita la " +"velocidad volumétrica máxima de una impresión al mínimo de velocidad " +"volumétrica de impresión y filamento. Establecer en cero para usar sin " +"límite." -#: xs/src/slic3r/GUI/GUI.cpp:908 -msgid "Purging volumes" -msgstr "Volúmenes de purga" +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "mm³/s" -#: xs/src/libslic3r/PrintConfig.cpp:1807 -msgid "Purging volumes - load/unload volumes" -msgstr "Volumen de purga - volumen de carga/descarga" +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "Velocidad de carga" -#: xs/src/libslic3r/PrintConfig.cpp:1815 -msgid "Purging volumes - matrix" -msgstr "Volúmenes de purga - matriz" +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "Velocidad empleada para cargar el filamento en la torre de limpieza. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Q&uick Slice…\tCtrl+U" -msgstr "L&áminado Rápido…\tCtrl+U" +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:335 -msgid "Quality (slower slicing)" -msgstr "Calidad (laminado más lento)" +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" -msgstr "Láminado Rápido y Guardar &Como…\tCtrl+Alt+U" +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "Velocidad de descarga" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "Quit Slic3r" -msgstr "Salir de Slic3r" +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " +msgstr "" +"Velocidad empleada para descargar el filamento en la torre de limpieza (no " +"afecta a la fase inicial de la descarga, sólo después de empujar). " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:331 -msgid "Radius" -msgstr "Radio" +#: src/libslic3r/PrintConfig.cpp:590 +msgid "Unloading speed at the start" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:380 -msgid "Raft" -msgstr "Balsa" +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1029 -msgid "Raft layers" -msgstr "Capas de balsa" +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "Retardo tras la descarga" -#: xs/src/slic3r/GUI/Tab.cpp:1319 -msgid "Ramming" -msgstr "Empuje" +#: src/libslic3r/PrintConfig.cpp:600 +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. " +msgstr "" +"Tiempo de espera después de que se ha descargado el filamento. Puede ayudar " +"para conseguir cambios de herramienta fiables con materiales flexibles que " +"pueden necesitar más tiempo para encogerse a su tamaño original. " -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:14 -msgid "Ramming customization" -msgstr "Configuración de empuje" +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/libslic3r/PrintConfig.cpp:611 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." +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " msgstr "" -"El empuje señala la extrusión rápida justo antes de un cambio de filamento en una impresora MM de un sólo extrusor. Su propósito es asegurar una forma adecuada para el extremo de filamento que se va a descargar, para que no haya problemas al insertar uno nuevo y para que se pueda volver a insertar este más tarde. Esta fase es importante y diferentes materiales puede precisar diferentes velocidades para obtener la forma correcta. Por este motivo, las velocidades extrusión durante el empuje son ajustables.\n" -"\n" -"Este es un ajuste para expertos, ajustarlo incorrectamente podrá producir atascos, que la rueda del extrusor arañe el filamento, etc." -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:90 -msgid "Ramming line spacing" -msgstr "Espaciado de la linea de empuje" +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:88 -msgid "Ramming line width" -msgstr "Ancho de la linea de empuje" +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:486 -msgid "Ramming parameters" -msgstr "Parámetros de empuje" +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1321 -msgid "Ramming settings" -msgstr "Ajustes de empuje" +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Re-configure" -msgstr "Reconfigurar" +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:297 -msgid "Ready" -msgstr "Listo" +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear" -msgstr "Trasera" +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear View" -msgstr "Vista trasera" +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:262 -#, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "Espesor de pared delgada del objeto recomendado para una altura de capa %.2f y " +#: src/libslic3r/PrintConfig.cpp:651 +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:245 -msgid "Recommended object thin wall thickness: Not available due to invalid layer height." -msgstr "Grosor recomendado de la pared del objeto recomendado: no disponible debido a la altura de capa no válida." +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" +msgstr "Parámetros de empuje" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:46 -msgid "Rectangular" -msgstr "Rectangular" +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" +"Esta cadena se modifica con el Diálogo de Empuje y contiene parámetros " +"específicos de empuje " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:352 -msgid "Reducing printing time" -msgstr "Reduciendo el tiempo de impresión" +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload from Disk" -msgstr "Recargar desde el disco" +#: src/libslic3r/PrintConfig.cpp:668 +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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload the selected file from Disk" -msgstr "Recargar el archivo seleccionado del disco" +#: src/libslic3r/PrintConfig.cpp:677 +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 "" +"Ingrese el diámetro de su fila aquí. Se requiere una buena precisión, por lo " +"tanto, use un calibre y realice múltiples mediciones a lo largo del " +"filamento, luego calcule el promedio." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:27 -msgid "Remember output directory" -msgstr "Recordar el directorio de salida" +#: src/libslic3r/PrintConfig.cpp:685 +msgid "Density" +msgstr "Densidad" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -msgid "Remove" -msgstr "Eliminar" +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "" +"Ingrese su densidad de filamento aquí. Esto es solo para información " +"estadística. Una forma decente es pesar una longitud conocida de filamento y " +"calcular la relación entre la longitud y el volumen. Lo mejor es calcular el " +"volumen directamente a través del desplazamiento." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "remove" -msgstr "eliminar" +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "g/cm³" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Remove one copy of the selected object" -msgstr "Eliminar una copia del objeto seleccionado" +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "Tipo de filamento" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Remove the selected object" -msgstr "Eliminar el objeto seleccionado" +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:217 -msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)" -msgstr "Eliminar perfiles de usuario - instalar desde cero (se realizará una instantánea con anterioridad)" +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "Material soluble" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Repair" -msgstr "Reparar" +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "El material soluble se usa muy probablemente para un soporte soluble." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Repair STL file…" -msgstr "Reparar el archivo STL…" +#: src/libslic3r/PrintConfig.cpp:719 +msgid "" +"Enter your filament cost per kg here. This is only for statistical " +"information." +msgstr "" +"Ingrese su coste del filamento por kg aquí. Esto es solo para información " +"estadística." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "Repeat last quick slice" -msgstr "Repetir el último laminado rápido" +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "dinero/kg" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an Issue" -msgstr "Informar de un problema" +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "Ángulo de relleno" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Informar de un problema de Slic3r Edición Prusa" +#: src/libslic3r/PrintConfig.cpp:731 +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." +msgstr "" +"Ángulo base predeterminado para orientación de relleno. Se aplicará " +"sombreado cruzado a esto. Los puentes se rellenarán utilizando la mejor " +"dirección que Slic3r pueda detectar, por lo que esta configuración no los " +"afecta." -#: xs/src/slic3r/Utils/PresetUpdater.cpp:514 -#, c-format -msgid "requires min. %s and max. %s" -msgstr "requiere un min. %s y un max. %s" +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "Densidad de relleno" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:288 -msgid "Rescan" -msgstr "Rescanear" +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "Densidad de relleno interior, expresado en el rango 0% - 100%." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:995 -msgid "Rescan serial ports" -msgstr "Vuelver a examinar los puertos serie" +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "Patrón de relleno" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1039 -msgid "Resolution" -msgstr "Resolución" +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "Patrón de relleno para el relleno general de baja densidad." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1057 -msgid "Retract amount before wipe" -msgstr "Retracta cantidad antes de limpiar" +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1065 -msgid "Retract on layer change" -msgstr "Retraer en el cambio de capa" +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1202 -msgid "Retraction" -msgstr "Retracción" +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1051 -msgid "Retraction is not triggered when travel moves are shorter than this length." -msgstr "La retracción no se activa cuando los movimientos de desplazamiento son más cortos que esta longitud." +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1072 -msgid "Retraction Length" -msgstr "Longitud de retracción" +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1081 -msgid "Retraction Length (Toolchange)" -msgstr "Longitud de retracción (cambio de herramienta)" +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1134 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1135 -msgid "Retraction Speed" -msgstr "Velocidad de retracción" +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1218 -msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" -msgstr "Retracción cuando la herramienta está desactivada (configuraciones avanzadas para configuraciones de extrusores múltiples )" +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:96 -msgid "Retractions" -msgstr "Retracciones" +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "Primera capa" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right" -msgstr "Derecha" +#: src/libslic3r/PrintConfig.cpp:817 +msgid "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." +msgstr "" +"Esta es la aceleración que su impresora usará para la primera capa. " +"Establezca cero para deshabilitar el control de aceleración para la primera " +"capa." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right View" -msgstr "Vista derecha" +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." +msgstr "" +"Temperatura de base calefactable para la primera capa. Ajuste esto a cero " +"para deshabilitar los comandos de control de temperatura de la cama en la " +"salida." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate" -msgstr "Girar" +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "" +"Ajuste este valor distinto de cero para establecer un ancho de extrusión " +"manual para la primera capa. Puede usar esto para forzar extrusiones más " +"gordas para una mejor adhesión. Si se expresa como porcentaje (por ejemplo, " +"120%), se calculará sobre la altura de la primera capa. Si se establece en " +"cero, usará el ancho de extrusión predeterminado." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate 45° clockwise" -msgstr "Girar 45 ° en el sentido de las agujas del reloj" +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "Altura de la primera capa" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate 45° counter-clockwise" -msgstr "Girar 45 ° en el sentido contrario a las agujas del reloj" +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "" +"Al imprimir con alturas de capa muy bajas, es posible que desee imprimir una " +"capa inferior más gruesa para mejorar la adhesión y la tolerancia de las " +"placas de construcción no perfectas. Esto se puede expresar como un valor " +"absoluto o como un porcentaje (por ejemplo: 150%) sobre la altura de capa " +"predeterminada." + +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "mm o %" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate the selected object by 45° clockwise" -msgstr "Girar el objeto seleccionado 45 ° en el sentido de las agujas del reloj" +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" +msgstr "Velocidad de la primera capa" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate the selected object by 45° counter-clockwise" -msgstr "Girar el objeto seleccionado 45 ° en el sentido contrario a las agujas del reloj" +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "" +"Si se expresa como valor absoluto en mm / s, esta velocidad se aplicará a " +"todos los movimientos de impresión de la primera capa, independientemente de " +"su tipo. Si se expresa como un porcentaje (por ejemplo: 40%), escalará las " +"velocidades predeterminadas." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate the selected object by an arbitrary angle" -msgstr "Girar el objeto seleccionado según un ángulo arbitrario" +#: src/libslic3r/PrintConfig.cpp:872 +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 "" +"Temperatura del extrusor para la primera capa. Si desea controlar la " +"temperatura manualmente durante la impresión, configúrela en cero para " +"desactivar los comandos de control de temperatura en el archivo de salida." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Rotate the selected object by an arbitrary angle around X axis" -msgstr "Girar el objeto seleccionado por un ángulo arbitrario alrededor del eje X" +#: src/libslic3r/PrintConfig.cpp:882 +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 "" +"Velocidad para llenar pequeños espacios usando movimientos cortos de zigzag. " +"Mantenga esto razonablemente bajo para evitar demasiados problemas de " +"vibración y sacudidas. Establezca cero para desactivar el llenado de huecos." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Rotate the selected object by an arbitrary angle around Y axis" -msgstr "Gira el objeto seleccionado por un ángulo arbitrario alrededor del eje Y" +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "Código G detallado" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Rotate the selected object by an arbitrary angle around Z axis" -msgstr "Gira el objeto seleccionado por un ángulo arbitrario alrededor del eje Z" +#: src/libslic3r/PrintConfig.cpp:891 +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." +msgstr "" +"Habilítelo para obtener un archivo de código G comentado, con cada línea " +"explicada por un texto descriptivo. Si imprime desde una tarjeta SD, el peso " +"adicional del archivo podría ralentizar su firmware." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:211 xs/src/slic3r/GUI/GUI.cpp:399 -#, c-format -msgid "Run %s" -msgstr "Ejecutar %s" +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "Tipo de código G" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 xs/src/slic3r/GUI/RammingChart.cpp:86 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -#: xs/src/libslic3r/PrintConfig.cpp:480 -msgid "s" -msgstr "$" +#: src/libslic3r/PrintConfig.cpp:900 +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 "" +"Algunos comandos de código G / M, incluido el control de temperatura y " +"otros, no son universales. Establezca esta opción en el firmware de su " +"impresora para obtener una salida compatible. El ajuste \"Sin extrusión\" " +"evita que Slic3r exporte ningún valor de extrusión." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid "Save " -msgstr "Guardar " +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:605 -msgid "Save configuration as:" -msgstr "Guardar la configuración como:" +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:50 -msgid "Save current " -msgstr "Guardar actualmente " +#: src/libslic3r/PrintConfig.cpp:930 +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 "" -#: lib/Slic3r/GUI/Plater.pm:1399 -msgid "Save G-code file as:" -msgstr "Guardar archivo Código G como:" +#: src/libslic3r/PrintConfig.cpp:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "" +"Esta es la aceleración que su impresora usará para el relleno. Establezca " +"cero para deshabilitar el control de aceleración para el relleno." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:580 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "Guardar archivo OBJ (menos propenso a errores de coordinación que STL) como:" +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "Combinar el relleno cada" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:248 -msgid "Save preset" -msgstr "Guardar ajuste inicial" +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" +"Esta característica permite combinar el relleno y acelerar la impresión " +"mediante la extrusión de capas de relleno más gruesas a la vez que se " +"preservan los finos perímetros y, por lo tanto, la precisión." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:646 -msgid "Save presets bundle as:" -msgstr "Guarde el conjunto de ajustes iniciales como:" +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "Combinar el relleno cada n capas" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -msgid "Scale" -msgstr "Escalar" +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "Extrusor de relleno" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -msgid "Scale along " -msgstr "Escalar a lo largo " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale the selected object along a single axis" -msgstr "Escalar el objeto seleccionado a lo largo de un solo eje" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Scale the selected object along the X axis" -msgstr "Escalar el objeto seleccionado a lo largo del eje X" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Scale the selected object along the XYZ axes" -msgstr "Escalar el objeto seleccionado a lo largo de los ejes XYZ" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Scale the selected object along the Y axis" -msgstr "Escalar el objeto seleccionado a lo largo del eje Y" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Scale the selected object along the Z axis" -msgstr "Escalar el objeto seleccionado a lo largo del eje Z" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale to size" -msgstr "Escalar al tamaño" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:187 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:203 -msgid "Scale…" -msgstr "Escalar…" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1151 -msgid "Seam position" -msgstr "Posición de la costura" +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "El extrusor que se usa cuando se imprime relleno." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1172 -msgid "Seam preferred direction" -msgstr "Dirección de la costura" +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" +"Ajuste este valor distinto de cero para establecer un ancho de extrusión " +"manual para relleno. Si se deja en cero, se usará el ancho de extrusión por " +"defecto si se establece, de lo contrario se usará 1.125 x diámetro de la " +"boquilla. Es posible que desee extrusiones más gordas para acelerar el " +"relleno y fortalecer sus partes. Si se expresa como porcentaje (por ejemplo, " +"90%), se calculará sobre la altura de la capa." + +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "Rellenar antes que los perímetros" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1182 -msgid "Seam preferred direction jitter" -msgstr "Dirección preferida de unión jitter" +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "" +"Esta opción cambiará el orden de impresión de los perímetros y el relleno, " +"haciendo que el último sea el primero." -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 -msgid "Searching for devices" -msgstr "Buscando dispositivos" +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "Solo rellenar cuando sea necesario" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Select &Controller Tab\tCtrl+T" -msgstr "Seleccionar la pestaña Ajustes de &Controlador\tCtrl+T" +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "" +"Esta opción limitará el relleno a las áreas realmente necesarias para " +"soportar techos (actuará como material de soporte interno). Si está " +"habilitado, ralentiza la generación del código G debido a las múltiples " +"comprobaciones involucradas." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Select &Filament Settings Tab\tCtrl+3" -msgstr "Seleccionar la pestaña Ajustes de &Filamento\tCtrl+3" +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "Superposición de relleno/perímetros" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Select &Plater Tab\tCtrl+1" -msgstr "Seleccionar la pestaña Ajustes de la &base\tCtrl+1" +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" +"Esta configuración aplica una superposición adicional entre relleno y " +"perímetros para una mejor unión. Teóricamente, esto no debería ser " +"necesario, pero la reacción puede causar huecos. Si se expresa como " +"porcentaje (ejemplo: 15%), se calcula sobre el ancho de extrusión del " +"perímetro." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:103 -msgid "Select all" -msgstr "Selecciona todo" +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "" +"Velocidad para imprimir el relleno interno. Establecer a cero para auto." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:623 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:667 -msgid "Select configuration to load:" -msgstr "Seleccione la configuración para cargar:" +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "Hereda el perfil" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:104 -msgid "Select none" -msgstr "No seleccionar ninguno" +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "Nombre del perfil desde que éste hereda." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Select P&rint Settings Tab\tCtrl+2" -msgstr "Seleccionar la pestaña Ajustes de im&presión\tCtrl+2" +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "Carcasas de interfaz" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Select Print&er Settings Tab\tCtrl+4" -msgstr "Selecccionar la pestaña Ajustes de imp&resora\tCtrl+4" +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material." +msgstr "" +"Forzar la generación de carcasas sólidas entre materiales / volúmenes " +"adyacentes. Útil para impresiones de múltiples extrusoras con materiales " +"translúcidos o material de soporte soluble manual." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Select the language" -msgstr "Seleccione el idioma" +#: src/libslic3r/PrintConfig.cpp:1043 +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 "" +"Este código personalizado se inserta en cada cambio de capa, justo después " +"del movimiento Z y antes de que el extrusor se mueva al primer punto de " +"capa. Tenga en cuenta que puede usar variables de marcador de posición para " +"todos los ajustes de Slic3r, así como [layer_num] y [layer_z]." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1667 -msgid "Select the printers this profile is compatible with." -msgstr "Seleccione las impresoras con las que este perfil es compatible." +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:566 -msgid "Select the STL file to repair:" -msgstr "Seleccione el archivo STL para reparar:" +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" -#: xs/src/slic3r/GUI/GUI.cpp:882 -msgid "Select what kind of support do you need" -msgstr "Selecciona qué clase de soporte necesitas" +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:239 -msgid "Send to printer" -msgstr "Enviar a la impresora" +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1448 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "Enviando el archivo código G al servidor Octoprint..." +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:477 -msgid "Sequential printing" -msgstr "Impresión secuencial" +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:990 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1193 -msgid "Serial port" -msgstr "Puerto serial" +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1202 -msgid "Serial port speed" -msgstr "Velocidad del puerto serial" +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:286 -msgid "Serial port:" -msgstr "Puerto serie:" +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 -msgid "Service name" -msgstr "Nombre del servicio" +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Set number of copies…" -msgstr "Establecer el número de copias…" +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:398 -msgid "Set the shape of your printer's bed." -msgstr "Define la forma de la base de impresión de tu impresora." +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:378 -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." -msgstr "Ajuste este valor distinto de cero para permitir un ancho de extrusión manual. Si se deja a cero, Slic3r obtiene anchuras de extrusión del diámetro de la boquilla (consulte la información sobre herramientas para conocer el ancho de extrusión, el ancho de extrusión de relleno, etc.). Si se expresa como porcentaje (por ejemplo: 230%), se computará sobre la altura de la capa." +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:269 -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." -msgstr "Ajuste este valor distinto de cero para establecer un ancho de extrusión manual para perímetros externos. Si se deja en cero, se usará el ancho de extrusión por defecto si se establece, de lo contrario se usará 1.125 x diámetro de la boquilla. Si se expresa como porcentaje (por ejemplo, 200%), se computará sobre la altura de la capa." +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:593 -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." -msgstr "Ajuste este valor distinto de cero para establecer un ancho de extrusión manual para la primera capa. Puede usar esto para forzar extrusiones más gordas para una mejor adhesión. Si se expresa como porcentaje (por ejemplo, 120%), se calculará sobre la altura de la primera capa. Si se establece en cero, usará el ancho de extrusión predeterminado." +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "Max" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1293 -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." -msgstr "Ajuste este valor distinto de cero para establecer un ancho de extrusión manual para el relleno de superficies sólidas. Si se deja en cero, se usará el ancho de extrusión por defecto si se establece, de lo contrario se usará 1.125 x diámetro de la boquilla. Si se expresa como porcentaje (por ejemplo, 90%), se calculará sobre la altura de la capa." +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "Esta configuración representa la velocidad máxima de su ventilador." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1615 -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." -msgstr "Ajuste este valor distinto de cero para establecer un ancho de extrusión manual para el relleno de las superficies superiores. Es posible que desee utilizar extrusiones más delgadas para llenar todas las regiones estrechas y obtener un acabado más suave. Si se deja en cero, se usará el ancho de extrusión por defecto si se establece, de lo contrario se usará el diámetro de la boquilla. Si se expresa como porcentaje (por ejemplo, 90%), se calculará sobre la altura de la capa." +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "" +"Esta es la altura más alta imprimible de capa para este extrusor, que se " +"utiliza para cubrir la altura de la capa variable y la altura de la capa de " +"soporte. La altura máxima recomendada de la capa es del 75% del ancho de " +"extrusión para lograr una adhesión razonable entre capas. Si se establece en " +"0, la altura de la capa se limita al 75% del diámetro de la boquilla." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:711 -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." -msgstr "Ajuste este valor distinto de cero para establecer un ancho de extrusión manual para relleno. Si se deja en cero, se usará el ancho de extrusión por defecto si se establece, de lo contrario se usará 1.125 x diámetro de la boquilla. Es posible que desee extrusiones más gordas para acelerar el relleno y fortalecer sus partes. Si se expresa como porcentaje (por ejemplo, 90%), se calculará sobre la altura de la capa." +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "Velocidad máxima de impresión" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:968 -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." -msgstr "Ajuste este valor distinto de cero para establecer un ancho de extrusión manual para los perímetros. Es posible que desee utilizar extrusiones más delgadas para obtener superficies más precisas. Si se deja en cero, se usará el ancho de extrusión por defecto si se establece, de lo contrario se usará 1.125 x diámetro de la boquilla. Si se expresa como porcentaje (por ejemplo, 200%), se calculará sobre la altura de la capa." +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "" +"Al establecer otras configuraciones de velocidad en 0, Slic3r calculará " +"automáticamente la velocidad óptima para mantener constante la presión en el " +"extrusor. Esta configuración experimental se utiliza para establecer la " +"velocidad de impresión más alta que desea permitir." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1455 -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." -msgstr "Ajuste este valor distinto de cero para establecer un ancho de extrusión manual para el material de soporte. Si se deja en cero, se usará el ancho de extrusión por defecto si se establece, de lo contrario se usará el diámetro de la boquilla. Si se expresa como porcentaje (por ejemplo, 90%), se calculará sobre la altura de la capa." +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." +msgstr "" +"Esta configuración experimental se usa para establecer la velocidad " +"volumétrica máxima que admite el extrusor." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:332 -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." -msgstr "Ajuste este parámetro según el radio de espacio libre alrededor de su extrusor. Si el extrusor no está centrado, elija el valor más grande para seguridad. Esta configuración se utiliza para verificar colisiones y mostrar la vista previa gráfica en la bandeja." +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "Máx. Pendiente volumétrica positiva" -#: xs/src/libslic3r/PrintConfig.cpp:877 -msgid "Set this to the maximum height that can be reached by your extruder while printing." -msgstr "Ajusta este valor a la altura máxima que puede alcanzar el extrusor mientras imprime." +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "" +"Esta configuración experimental se usa para limitar la velocidad de cambio " +"en la velocidad de extrusión. Un valor de 1,8 mm³ / s² asegura que se cambia " +"la velocidad de extrusión de 1,8 mm³ / s (ancho de extrusión de 0,45 mm, " +"altura de extrusión de 0,2 mm, avance de 20 mm / s) a 5,4 mm³ / s (avance de " +"60 mm / s) durará al menos 2 segundos." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:321 -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." -msgstr "Ajuste este valor según la distancia vertical entre la punta de la boquilla y (generalmente) las barras X del carro. En otras palabras, esta es la altura del cilindro de holgura alrededor de su extrusor, y representa la profundidad máxima que el extrusor puede asomar antes de colisionar con otros objetos impresos." +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "mm³/s²" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:120 -msgid "Settings" -msgstr "Ajustes" +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" +msgstr "Máx. Pendiente volumétrica negativa" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:206 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Settings…" -msgstr "Ajustes…" +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "Min" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:39 -msgid "Shape" -msgstr "Aspecto" +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "" +"Este ajuste representa el PWM mínimo que el ventilador necesita para " +"funcionar." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:98 -msgid "Shells" -msgstr "Carcasas" +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "" +"Esta es la altura más baja de la capa imprimible para este extrusor y limita " +"la resolución para la altura de la capa variable. Los valores típicos están " +"entre 0.05 mm y 0.1 mm." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:75 -msgid "Show" -msgstr "Mostrar" +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" +msgstr "Velocidad de impresión mínima" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show &Configuration Folder" -msgstr "Mostrar carpeta &Configuración" +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "Slic3r no escalará la velocidad por debajo de esta velocidad." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "Show about dialog" -msgstr "Mostrar Acerca de" +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" +msgstr "Longitud mínima de filamento extruido" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show advanced settings" -msgstr "Mostrar ajustes avanzados" +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "" +"Generar no menos que el número de bucles de falda requeridos para consumir " +"la cantidad especificada de filamento en la capa inferior. Para máquinas " +"multi-extrusoras, este mínimo se aplica a cada extrusora." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:67 -msgid "Show incompatible print and filament presets" -msgstr "Mostrar impresiones incompatibles y ajustes iniciales de filamentos" +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "Notas de configuración" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show simplified settings" -msgstr "Muestra los ajustes simplificados" +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"Puede poner sus notas personales aquí. Este texto se añadirá al código G " +"como comentarios." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "Show system information" -msgstr "Mostrar la información del sistema" +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "Diámetro de la boquilla" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Show the filament settings" -msgstr "Mostrar los ajustes de filamento" +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgstr "" +"Este es el diámetro de la boquilla de su extrusor (por ejemplo: 0.5, 0.35, " +"etc.)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Show the plater" -msgstr "Mostrar la base" +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Show the print settings" -msgstr "Mostrar los ajustes de impresión" +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Show the printer controller" -msgstr "Mostrar el controlador de la impresora" +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Show the printer settings" -msgstr "Mostrar la configuración de la impresora" +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show user configuration folder (datadir)" -msgstr "Mostrar carpeta de configuración de usuario (datadir)" +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "Nombre de equipo, IP o URL" -#: xs/src/slic3r/GUI/Tab.cpp:1716 xs/src/slic3r/GUI/Tab.cpp:1722 -msgid "Single extruder MM setup" -msgstr "Ajuste para MM con un solo extrusor" +#: src/libslic3r/PrintConfig.cpp:1318 +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." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1373 -msgid "Single Extruder Multi Material" -msgstr "Extrusor único de múltiples materiales" +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "Solo retraer al cruzar perímetros" -#: xs/src/slic3r/GUI/Tab.cpp:1723 -msgid "Single extruder multimaterial parameters" -msgstr "Parámetros multimaterial para un sólo extrusor" +#: src/libslic3r/PrintConfig.cpp:1326 +msgid "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." +msgstr "" +"Desactiva la retracción cuando la trayectoria de desplazamiento no supera " +"los perímetros de la capa superior (y, por lo tanto, cualquier goteo " +"probablemente será invisible)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:50 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:408 -msgid "Size" -msgstr "Tamaño" +#: src/libslic3r/PrintConfig.cpp:1334 +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 "" +"Esta opción reducirá la temperatura de las extrusoras inactivas para evitar " +"el goteo. Permitirá una falda alta automáticamente y moverá los extrusores " +"fuera de dicha falda cuando cambie la temperatura." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:938 -msgid "Size and coordinates" -msgstr "Tamaño y coordenadas" +#: src/libslic3r/PrintConfig.cpp:1342 +msgid "Output filename format" +msgstr "Formato de nombre de salida" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:51 -msgid "Size in X and Y of the rectangular plate." -msgstr "Tamaño en X e Y de la placa rectangular." +#: src/libslic3r/PrintConfig.cpp:1343 +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 "" +"Puedes usar todas las opciones de configuración como las variables dentro de " +"esta muestra. Por ejemplo [layer_height], [fill_density] etc.También puedes " +"usar [timestamp], [year], [month], [day], [hour], [minute], [second], " +"[version], [input_filename], [input_filename_base]." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:365 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:146 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:88 -msgid "Skirt" -msgstr "Falda" +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "Detectar perímetros con puentes" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:364 -msgid "Skirt and brim" -msgstr "Falda y balsa" +#: src/libslic3r/PrintConfig.cpp:1355 +msgid "" +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." +msgstr "" +"Opción experimental para ajustar el flujo para salientes (se usará el flujo " +"del puente), para aplicar la velocidad del puente a ellos y habilitar el " +"ventilador." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1221 -msgid "Skirt height" -msgstr "Altura de la falda" +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" +msgstr "Posición de aparcar el filamento" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1230 -msgid "Skirt Loops" -msgstr "Vueltas de la falda" +#: src/libslic3r/PrintConfig.cpp:1363 +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 "" +"Distancia de la punta del extrusor desde la posición donde el filamento es " +"colocado cuando se descarga. Esto debería coincidir con el valor en el " +"firmware de la impresora. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Slic3r &Manual" -msgstr "&Manual de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Slic3r &Website" -msgstr "&Website de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1373 +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. " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:902 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the API Key required for authentication." -msgstr "Slic3r puede cargar archivos de código G a OctoPrint. Este campo debe contener la clave API requerida para la autenticación." +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "Perímetros" -#: xs/src/libslic3r/PrintConfig.cpp:992 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the hostname, IP address or URL of the OctoPrint instance." -msgstr "Slic3r puede subir archivos G-code a OctoPrint. Este campo debería contener el nombre de equipo, dirección IP o el URL de la instancia de OctoPrint." +#: src/libslic3r/PrintConfig.cpp:1383 +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 "" +"Esta es la aceleración que su impresora usará para los perímetros. Un valor " +"alto como 9000 generalmente da buenos resultados si su hardware está a la " +"altura del trabajo. Establezca cero para deshabilitar el control de " +"aceleración para los perímetros." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r configuration is incompatible" -msgstr "La configuración de Slic3r es incompatible" +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "Extrusor de perímetros" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:929 -msgid "Slic3r Error" -msgstr "Error de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "" +"The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "" +"El extrusor que se usa al imprimir perímetros y borde. El primer extrusor es " +"1." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r error" -msgstr "Error de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "" +"Ajuste este valor distinto de cero para establecer un ancho de extrusión " +"manual para los perímetros. Es posible que desee utilizar extrusiones más " +"delgadas para obtener superficies más precisas. Si se deja en cero, se usará " +"el ancho de extrusión por defecto si se establece, de lo contrario se usará " +"1.125 x diámetro de la boquilla. Si se expresa como porcentaje (por ejemplo, " +"200%), se calculará sobre la altura de la capa." + +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "" +"Velocidad para perímetros (contornos, también conocidos como conchas " +"verticales). Establecer a cero para auto." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r has encountered an error" -msgstr "Slic3r ha encontrado un error" +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "" +"Esta opción establece la cantidad de perímetros que se generarán para cada " +"capa. Tenga en cuenta que Slic3r puede aumentar este número automáticamente " +"cuando detecta superficies inclinadas que se benefician de un mayor número " +"de perímetros si la opción Perímetros adicionales está habilitada." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r incompatibility" -msgstr "Incompatibilidad de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "(mínimo)" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 -#, c-format +#: src/libslic3r/PrintConfig.cpp:1439 msgid "" -"Slic3r PE 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." +"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 "" -"Ahora Slic3r PE usa una estructura actualizada para la configuración. \n" -"\n" -"Se han introducido los llamados 'Ajustes del sistema' , que tienen valores por defecto para varias impresoras. Estos ajustes del sistema no pueden modificarse, por el contrario, los usuarios pueden crear nuevos ajustes que se basan en alguno de ellos.\n" -"Un ajuste nuevo puede heredar un valor de un ajuste existente o bien tener un nuevo valor personalizado.\n" -"\n" -"Por favof, continúa con el %s que sigue para establecer los nuevos ajustes y seleccionar si quieres que estos se actualicen automáticamente. " +"Si desea procesar el código G de salida a través de scripts personalizados, " +"simplemente haga una lista de sus rutas absolutas aquí. Separe los scripts " +"múltiples con un punto y coma. Los scripts se pasarán por la ruta absoluta " +"al archivo de código G como primer argumento, y pueden acceder a la " +"configuración de configuración de Slic3r leyendo las variables de entorno." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 -msgid "slic3r version" -msgstr "versión de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "Tipo de impresora" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:867 -msgid "Slic3r will not scale speed down below this speed." -msgstr "Slic3r no escalará la velocidad por debajo de esta velocidad." +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." +msgstr "Tipo de impresora." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Slice a file into a G-code" -msgstr "Laminar un archivo en un código G" +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "Notas de la impresora" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Slice a file into a G-code, save as" -msgstr "Laminar un archivo en un código G, guárdar como" +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "Puede poner sus notas con respecto a la impresora aquí." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice file to a multi-layer SVG" -msgstr "Laminar archivo a un SVG multicapa" +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" +msgstr "Fabricante de la impresora" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:237 -msgid "Slice now" -msgstr "Laminar ahora" +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." +msgstr "Nombre del fabricante de la impresora." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice to SV&G…\tCtrl+G" -msgstr "Laminar a SV&G…\tCtrl+G" +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" +msgstr "Modelo de impresora" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:438 -msgid "Sliced Info" -msgstr "Información del laminado" +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "" +"Nombre de la variante de impresora. Por ejemplo, las variantes pueden " +"distinguir diferentes diámetros de boquilla." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1286 -msgid "Slicing cancelled" -msgstr "Laminado cancelado" +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" +msgstr "Capas de balsa" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:550 -msgid "Slicing Done!" -msgstr "¡Laminado realizado!" +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." +msgstr "" +"El objeto será elevado por este número de capas y se generará material de " +"soporte debajo de él." + +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" +msgstr "Resolución" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Slicing…" -msgstr "Laminando…" +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "" +"Resolución mínima de detalles, utilizada para simplificar el archivo de " +"entrada para acelerar el trabajo de laminado y reducir el uso de memoria. " +"Los modelos de alta resolución suelen llevar más detalles de los que las " +"impresoras pueden ofrecer. Establézcalo en cero para desactivar cualquier " +"simplificación y usar la resolución completa de la entrada." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1239 -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" +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" +msgstr "Distancia mínima después de la retracción" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1250 -msgid "Small perimeters" -msgstr "Perímetros pequeños" +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "" +"Retraction is not triggered when travel moves are shorter than this length." +msgstr "" +"La retracción no se activa cuando los movimientos de desplazamiento son más " +"cortos que esta longitud." -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Snapshot name" -msgstr "Nombre de la instantánea" +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" +msgstr "Retracta cantidad antes de limpiar" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:179 -msgid "solid infill" -msgstr "relleno sólido" +#: src/libslic3r/PrintConfig.cpp:1515 +msgid "" +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." +msgstr "" +"Con extrusores bowden, puede ser recomendable realizar una retracción rápida " +"antes de realizar el movimiento de limpiar." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1291 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1301 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:142 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:84 -msgid "Solid infill" -msgstr "Relleno sólido" +#: src/libslic3r/PrintConfig.cpp:1523 +msgid "Retract on layer change" +msgstr "Retraer en el cambio de capa" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1279 -msgid "Solid infill every" -msgstr "Relleno sólido cada" +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "" +"Esta bandera impone una retractación cada vez que se realiza un movimiento Z." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1271 -msgid "Solid infill extruder" -msgstr "Extrusor de relleno sólido" +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "Largo" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1262 -msgid "Solid infill threshold area" -msgstr "Área del umbral de relleno sólido" +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "Longitud de retracción" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:330 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1314 -msgid "Solid layers" -msgstr "Capas sólidas" +#: src/libslic3r/PrintConfig.cpp:1532 +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 "" +"Cuando se activa la retracción, el filamento se retira en la cantidad " +"especificada (la longitud se mide en el filamento sin procesar, antes de que " +"entre en el extrusor)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:470 -msgid "Soluble material" -msgstr "Material soluble" +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "mm (cero para deshabilitar)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:471 -msgid "Soluble material is most likely used for a soluble support." -msgstr "El material soluble se usa muy probablemente para un soporte soluble." +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "Longitud de retracción (cambio de herramienta)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:653 -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 "Algunos comandos de código G / M, incluido el control de temperatura y otros, no son universales. Establezca esta opción en el firmware de su impresora para obtener una salida compatible. El ajuste \"Sin extrusión\" evita que Slic3r exporte ningún valor de extrusión." +#: src/libslic3r/PrintConfig.cpp:1541 +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 "" +"Cuando se desencadena la retracción antes de cambiar la herramienta, el " +"filamento se retira en la cantidad especificada (la longitud se mide en el " +"filamento sin procesar, antes de que entre en el extrusor)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1682 -msgid "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default." -msgstr "Algunas impresoras o configuraciones de impresora pueden tener dificultades para imprimir con una altura de capa variable. Habilitado por defecto." +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" +msgstr "Levantar Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1490 -msgid "Spacing between interface lines. Set zero to get a solid interface." -msgstr "Espaciado entre líneas de interfaz. Establezca cero para obtener una interfaz sólida." +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" +"Si establece esto en un valor positivo, Z se levantará rápidamente cada vez " +"que se active una retracción. Cuando se usan múltiples extrusores , solo se " +"considerará la configuración del primer extrusor." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1526 -msgid "Spacing between support material lines." -msgstr "Espaciado entre las líneas de material de soporte." +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "Encima de Z" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:398 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:278 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:635 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:747 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:979 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1201 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1251 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1302 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1625 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:71 -msgid "Speed" -msgstr "Velocidad" +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" +msgstr "Solo levantar Z mayor que" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1203 -msgid "Speed (baud) of USB/serial port for printer connection." -msgstr "Velocidad (baudios) del puerto USB / serie para la conexión de la impresora." +#: src/libslic3r/PrintConfig.cpp:1561 +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 "" +"Si establece esto en un valor positivo, la elevación de Z solo tendrá lugar " +"por encima de la Z absoluta especificada. Puede ajustar esta configuración " +"para omitir el levantamiento en las primeras capas." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:336 -msgid "Speed (mm/s)" -msgstr "Velocidad (mm/s)" +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" +msgstr "Por debajo de Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:636 -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 "Velocidad para llenar pequeños espacios usando movimientos cortos de zigzag. Mantenga esto razonablemente bajo para evitar demasiados problemas de vibración y sacudidas. Establezca cero para desactivar el llenado de huecos." +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "Solo levantar Z menor que" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:411 -msgid "Speed for non-print moves" -msgstr "Velocidad para movimientos sin impresión" +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" +"Si configura esto en un valor positivo, la elevación Z solo tendrá lugar por " +"debajo de la Z absoluta especificada. Puede ajustar esta configuración para " +"limitar la elevación a las primeras capas." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:980 -msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." -msgstr "Velocidad para perímetros (contornos, también conocidos como conchas verticales). Establecer a cero para auto." +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "Longitud adicional en el reinicio" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:399 -msgid "Speed for print moves" -msgstr "Velocidad para movimientos de impresión" +#: src/libslic3r/PrintConfig.cpp:1581 +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 "" +"Cuando la retracción se compensa después de un movimiento, el extrusor " +"necesitará introducir más filamento. Este ajuste raramente se necesita." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:119 -msgid "Speed for printing bridges." -msgstr "Velocidad para imprimir puentes." +#: src/libslic3r/PrintConfig.cpp:1590 +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "" +"Cuando la retracción se compensa después de cambiar la herramienta, el " +"extrusor empujará esta cantidad adicional de filamento." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1303 -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 "Velocidad para imprimir regiones sólidas (superior / inferior / conchas horizontales internas). Esto se puede expresar como un porcentaje (por ejemplo: 80%) sobre la velocidad de relleno predeterminada anterior. Establecer a cero para auto." +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "Velocidad de retracción" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1499 -msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." -msgstr "Velocidad para imprimir capas de interfaz de material de soporte. Si se expresa como porcentaje (por ejemplo, 50%), se calculará sobre la velocidad del material de soporte." +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "" +"La velocidad para las retracciones (solo se aplica al motor del extrusor)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1535 -msgid "Speed for printing support material." -msgstr "Velocidad para imprimir material de soporte." +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "Velocidad de deretracción" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:748 -msgid "Speed for printing the internal fill. Set to zero for auto." -msgstr "Velocidad para imprimir el relleno interno. Establecer a cero para auto." +#: src/libslic3r/PrintConfig.cpp:1609 +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 "" +"La velocidad de carga de un filamento en la extrusora después de la " +"retracción (solo se aplica al motor del extrusor). Si se deja a cero, se usa " +"la velocidad de retracción." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1626 -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." -msgstr "Velocidad para imprimir capas sólidas superiores (solo se aplica a las capas externas superiores y no a sus capas sólidas internas). Es posible que desee reducir la velocidad para obtener un acabado de superficie más agradable. Esto se puede expresar como un porcentaje (por ejemplo: 80%) sobre la velocidad de relleno sólido anterior. Establecer a cero para auto." +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" +msgstr "Posición de la costura" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1648 -msgid "Speed for travel moves (jumps between distant extrusion points)." -msgstr "Velocidad para movimientos (saltos entre puntos de extrusión distantes)." +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "Posición de los puntos de inicio del perímetro." -#: xs/src/libslic3r/PrintConfig.cpp:460 -msgid "Speed used for loading the filament on the wipe tower. " -msgstr "Velocidad empleada para cargar el filamento en la torre de limpieza. " +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:468 -msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming). " -msgstr "Velocidad empleada para descargar el filamento en la torre de limpieza (no afecta a la fase inicial de la descarga, sólo después de empujar). " +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1322 -msgid "Spiral vase" -msgstr "Modo vaso" +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:540 -msgid "Spiral Vase" -msgstr "Modo Vaso" +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:188 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:204 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split" -msgstr "Dividir" +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "Dirección" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split the selected object into individual parts" -msgstr "Dividir el objeto seleccionado en partes individuales" +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "Dirección preferida de la costura" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:847 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1342 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1357 -msgid "Start G-code" -msgstr "Comenzar el código G" +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "Dirección de la costura" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "Start new slicing process" -msgstr "Comenzar un nuevo proceso de laminado" +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "Jitter" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:296 -msgid "Status:" -msgstr "Estado:" +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "Dirección preferida de unión jitter" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1539 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1581 -msgid "STL file exported to " -msgstr "Archivo STL exportado a " +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "Dirección preferida de la unión - jitter" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Success!" -msgstr "¡Éxito!" +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "Puerto USB/serial para la conexión con la impresora." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:198 -msgid "support" -msgstr "soporte" +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "Velocidad del puerto serial" -#: xs/src/slic3r/GUI/GUI.cpp:879 -msgid "Support" -msgstr "Soporte" +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." +msgstr "" +"Velocidad (baudios) del puerto USB / serie para la conexión de la impresora." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:620 -msgid "Support Generator" -msgstr "Generador de soportes" +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "Distancia del objeto" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:208 -msgid "support interface" -msgstr "interfaz de soporte" +#: src/libslic3r/PrintConfig.cpp:1680 +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 "" +"Distancia entre falda y objeto(s). Ajuste esto a cero para unir la falda a " +"los objetos y obtener un borde para una mejor adhesión." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:374 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:375 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:191 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1030 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1380 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1387 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1399 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1409 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1417 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1432 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1453 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1464 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1480 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1489 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1498 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1509 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1525 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1533 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1534 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1543 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1551 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1565 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:147 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:89 -msgid "Support material" -msgstr "Material de soporte" +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "Altura de la falda" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1497 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:148 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:90 -msgid "Support material interface" -msgstr "Interfaz del material de soporte" +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." +msgstr "" +"Altura de la falda expresada en capas. Establezca esto en un valor alto para " +"usar la falda como escudo contra corrientes de aire." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1552 -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)." -msgstr "El material de soporte no se generará para voladizos cuyo ángulo de inclinación (90 ° = vertical) esté por encima del umbral dado. En otras palabras, este valor representa la pendiente más horizontal (medida desde el plano horizontal) que puede imprimir sin material de soporte. Ajuste a cero para la detección automática (recomendado)." +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" +msgstr "Bucles (mínimo)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1470 -msgid "Support material/raft interface extruder" -msgstr "Extrusor del material de soporte/soporte de la balsa" +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "Vueltas de la falda" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1444 -msgid "Support material/raft/skirt extruder" -msgstr "Extrusor de material de soporte/falda/balsa" +#: src/libslic3r/PrintConfig.cpp:1699 +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 "" +"Número de vueltas para la falda Si se establece la opción Longitud Mínima de " +"Extrusión, el número de bucles puede ser mayor que el configurado aquí. " +"Ajuste esto a cero para deshabilitar la falda por completo." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1408 -msgid "Support on build plate only" -msgstr "Soporte en la base solamente" +#: src/libslic3r/PrintConfig.cpp:1708 +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" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:617 +#: src/libslic3r/PrintConfig.cpp:1709 msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +"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 "" -"Los soportes funcionan mejor, si la siguiente característica está habilitada: \n" -"- Detectar perímetros de puente\n" -"\n" -"¿Debo ajustar esas configuraciones para los soportes?" +"Si el tiempo de impresión de la capa se estima por debajo de este número de " +"segundos, la velocidad de los movimientos de impresión se reducirá para " +"extender la duración a este valor." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:59 -msgid "Suppress \" - default - \" presets" -msgstr "Suprima los ajustes iniciales \"- predeterminado -\"" +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" +msgstr "Perímetros pequeños" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:61 -msgid "Suppress \" - default - \" presets in the Print / Filament / Printer selections once there are any other valid presets available." -msgstr "Suprima los ajustes iniciales \"- predeterminado -\" en las selecciones Imprimir / Filamento / Impresora una vez que haya otros ajustes preestablecidos disponibles." +#: src/libslic3r/PrintConfig.cpp:1722 +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 "" +"Esta configuración por separado afectará la velocidad de los perímetros con " +"un radio <= 6,5 mm (generalmente agujeros). Si se expresa como porcentaje " +"(por ejemplo: 80%), se calculará en la configuración de velocidad de " +"perímetros anterior. Establecer a cero para auto." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "SVG" -msgstr "SVG" +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" +msgstr "Área del umbral de relleno sólido" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:325 +#: src/libslic3r/PrintConfig.cpp:1734 msgid "" -"Switching to simple settings will discard changes done in the advanced mode!\n" -"\n" -"Do you want to proceed?" +"Force solid infill for regions having a smaller area than the specified " +"threshold." msgstr "" -"¡Cambiar a los ajustes sencillos descartará los cambios realizados en el modo avanzado!\n" -"\n" -"¿Quiere continuar?" +"Forzar el relleno sólido para las regiones que tienen un área más pequeña " +"que el umbral especificado." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1544 -msgid "Synchronize support layers with the object print layers. This is useful with multi-material printers, where the extruder switch is expensive." -msgstr "Sincronizar las capas de soporte con las capas de impresión del objeto. Esto es útil con impresoras de múltiples materiales, donde el cambio de el extrusor es costoso." +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" +msgstr "mm²" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1542 -msgid "Synchronize with object layers" -msgstr "Sincronizar con capas las del objeto" +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "Extrusor de relleno sólido" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "System Info" -msgstr "Información del Sistema" +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "El extrusor que se usa al imprimir relleno sólido." -#: xs/src/slic3r/GUI/Tab.cpp:2286 xs/src/slic3r/GUI/Tab.cpp:2372 -#: xs/src/slic3r/GUI/Preset.cpp:605 xs/src/slic3r/GUI/Preset.cpp:645 -#: xs/src/slic3r/GUI/Preset.cpp:670 xs/src/slic3r/GUI/Preset.cpp:702 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1069 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1122 lib/Slic3r/GUI/Plater.pm:552 -msgid "System presets" -msgstr "Ajustes del sistema" +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "Relleno sólido cada" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Take Configuration Snapshot" -msgstr "Hacer una Instantánea de la Configuración" +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "" +"Esta característica permite forzar una capa sólida en cada número de capas. " +"Cero para deshabilitar. Puede establecer esto en cualquier valor (por " +"ejemplo, 9999); Slic3r seleccionará automáticamente la cantidad máxima " +"posible de capas para combinar según el diámetro de la boquilla y la altura " +"de la capa." -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Taking configuration snapshot" -msgstr "Haciendo una instantánea de la configuración" +#: src/libslic3r/PrintConfig.cpp:1766 +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." +msgstr "" +"Ajuste este valor distinto de cero para establecer un ancho de extrusión " +"manual para el relleno de superficies sólidas. Si se deja en cero, se usará " +"el ancho de extrusión por defecto si se establece, de lo contrario se usará " +"1.125 x diámetro de la boquilla. Si se expresa como porcentaje (por ejemplo, " +"90%), se calculará sobre la altura de la capa." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:794 -msgid "Temperature " -msgstr "Temperatura " +#: src/libslic3r/PrintConfig.cpp:1777 +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 "" +"Velocidad para imprimir regiones sólidas (superior / inferior / conchas " +"horizontales internas). Esto se puede expresar como un porcentaje (por " +"ejemplo: 80%) sobre la velocidad de relleno predeterminada anterior. " +"Establecer a cero para auto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1576 -msgid "Temperature" -msgstr "Temperatura" +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "" +"Número de capas sólidas para generar en las superficies superior e inferior." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1333 -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 "Diferencia de temperatura que se aplicará cuando un extrusor no esté activo. ACtiva una falda \"de sacrificio\" de altura completa en la que las boquillas se limpian periódicamente." +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "Modo vaso" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1332 +#: src/libslic3r/PrintConfig.cpp:1797 +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 "" +"Esta función aumentará Z gradualmente mientras imprime un objeto de pared " +"simple para eliminar cualquier costura visible. Esta opción requiere un " +"perímetro único, sin relleno, sin capas sólidas superiores y sin material de " +"soporte. Todavía puede establecer cualquier cantidad de capas sólidas " +"inferiores, así como bucles de falda / balsa. No funcionará al imprimir más " +"de un objeto." + +#: src/libslic3r/PrintConfig.cpp:1806 msgid "Temperature variation" msgstr "Variación de temperatura" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Temperatures" -msgstr "Temperaturas" +#: src/libslic3r/PrintConfig.cpp:1807 +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 "" +"Diferencia de temperatura que se aplicará cuando un extrusor no esté activo. " +"ACtiva una falda \"de sacrificio\" de altura completa en la que las " +"boquillas se limpian periódicamente." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1004 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1072 -msgid "Test" -msgstr "Test" +#: src/libslic3r/PrintConfig.cpp:1818 +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 "" +"Este procedimiento de inicio se inserta en el principio, después de que la " +"cama ha llegado a la temperatura objetivo y el extrusor ha comenzado a " +"calentarse, y después de que haya completado el calentamiento. Si Slic3r " +"detecta un M104 o M190 en los g-codes custom, estos comandos no se iniciarán " +"automaticamente por lo que eres libre de personalizar el orden de " +"calentamiento y otras acciones. Fíjate que puedes utilizar variables de " +"marcación de posición para todos los ajustes de Slic3r, como que puedes usar " +"\"M109 S[first_layer_temperature]\" donde quieras." + +#: src/libslic3r/PrintConfig.cpp:1834 +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 "" +"Este procedimiento de inicio se inserta en el principio, después de que la " +"impresora haya realizado el g-code de inicio. Si Slic3r detecta un M104, " +"M109, M140 o M190 en los g-codes custom, estos comandos no se iniciarán " +"automaticamente por lo que eres libre de personalizar el orden de " +"calentamiento y otras acciones. Fíjate que puedes utilizar variables de " +"marcación de posición para todos los ajustes de Slic3r, como que puedes usar " +"\"M109 S[first_layer_temperature]\" donde quieras. Si tienes varios " +"extrusores, el g-code se procesará en el orden de estos." + +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "Extrusor único de múltiples materiales" -# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -msgid "The " -msgstr "El " +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "La impresora multiplexa los filamentos en un solo fusor." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:309 -msgid "The extruder to use (unless more specific extruder settings are specified). This value overrides perimeter and infill extruders, but not the support extruders." -msgstr "La extrusora que se usa (a menos que se especifiquen configuraciones de extrusión más específicas). Este valor anula los extrusores de perímetro y relleno, pero no los extrusores de soporte." +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:703 -msgid "The extruder to use when printing infill." -msgstr "El extrusor que se usa cuando se imprime relleno." +#: src/libslic3r/PrintConfig.cpp:1858 +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:1864 +msgid "Generate support material" +msgstr "Generar material de soporte" + +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "Habilite la generación de material de soporte." + +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:959 -msgid "The extruder to use when printing perimeters and brim. First extruder is 1." -msgstr "El extrusor que se usa al imprimir perímetros y borde. El primer extrusor es 1." +#: src/libslic3r/PrintConfig.cpp:1873 +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 "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1273 -msgid "The extruder to use when printing solid infill." -msgstr "El extrusor que se usa al imprimir relleno sólido." +#: src/libslic3r/PrintConfig.cpp:1880 +msgid "XY separation between an object and its support" +msgstr "Separación XY entre un objeto y su soporte" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1472 -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 "La extrusora que se usa al imprimir la interfaz de material de soporte (1+, 0 para usar la extrusora actual para minimizar los cambios de herramientas). Esto también afecta a la balsa." +#: src/libslic3r/PrintConfig.cpp:1882 +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 "" +"Separación XY entre un objeto y su soporte. Si se expresa como porcentaje " +"(por ejemplo 50%), se calculará sobre el ancho del perímetro externo." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1446 -msgid "The extruder to use when printing support material, raft and skirt (1+, 0 to use the current extruder to minimize tool changes)." -msgstr "El extrusor que se usa al imprimir material de soporte, balsa y falda (1+, 0 para usar la extrusora actual para minimizar los cambios de herramientas)." +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" +msgstr "Ángulo del patrón" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:209 -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 "La primera capa se contraerá en el plano XY por el valor configurado para compensar el aplatamiento de la 1ª capa, también conocido como efecto Pie de Elefante." +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." +msgstr "" +"Use esta configuración para rotar el patrón de material de soporte en el " +"plano horizontal." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1734 -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 "El objeto se crecerá / reducirá en el plano XY por el valor configurado (negativo = hacia adentro, positivo = hacia afuera). Esto podría ser útil para ajustar el tamaño de los orificios." +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"Only create support if it lies on a build plate. Don't create support on a " +"print." +msgstr "" +"Solo crear soportes si está en contacto con la plataforma. No crea soporte " +"en la impresión." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1031 -msgid "The object will be raised by this number of layers, and support material will be generated under it." -msgstr "El objeto será elevado por este número de capas y se generará material de soporte debajo de él." +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "Distancia Z de contacto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1374 -msgid "The printer multiplexes filaments into a single hot end." -msgstr "La impresora multiplexa los filamentos en un solo fusor." +#: src/libslic3r/PrintConfig.cpp:1915 +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 "" +"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." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:324 -msgid "The selected file contains no geometry." -msgstr "El archivo seleccionado no contiene geometría." +#: src/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:328 -msgid "The selected file contains several disjoint areas. This is not supported." -msgstr "El archivo seleccionado contiene varias áreas disjuntas. Esto no es compatible." +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1112 -msgid "The selected object can't be split because it contains more than one volume/material." -msgstr "El objeto seleccionado no se puede dividir porque contiene más de un volumen / material." +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "Forzar soportes para la primera" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1121 -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/libslic3r/PrintConfig.cpp:1931 +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." +msgstr "" +"Generar material de soporte para la cantidad especificada de capas contando " +"desde abajo, independientemente de si el material de soporte normal está " +"habilitado o no e independientemente de cualquier umbral de ángulo. Es útil " +"para obtener una mayor adhesión de los objetos que tienen una huella muy " +"delgada o deficiente en la placa de construcción." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1144 -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 "La velocidad de carga de un filamento en la extrusora después de la retracción (solo se aplica al motor del extrusor). Si se deja a cero, se usa la velocidad de retracción." +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "Aplicar soportes para las primeras n capas" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1136 -msgid "The speed for retractions (it only applies to the extruder motor)." -msgstr "La velocidad para las retracciones (solo se aplica al motor del extrusor)." +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "Extrusor de material de soporte/falda/balsa" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:533 -#, no-c-format +#: src/libslic3r/PrintConfig.cpp:1945 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?" +"The extruder to use when printing support material, raft and skirt (1+, 0 to " +"use the current extruder to minimize tool changes)." msgstr "" -"El modo Vaso requiere: \n" -"- un perímetro \n" -"- sin capas sólidas superiores \n" -"- densidad de relleno del 0% \n" -"- sin material de soporte \n" -"- no ensure_vertical_shell_thickness \n" -"\n" -"¿Debo ajustar esos ajustes para habilitar el modo Vaso?" +"El extrusor que se usa al imprimir material de soporte, balsa y falda (1+, 0 " +"para usar la extrusora actual para minimizar los cambios de herramientas)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1560 -msgid "The supplied name is empty. It can't be saved." -msgstr "El nombre proporcionado está vacío. No se puede guardar." +#: src/libslic3r/PrintConfig.cpp:1955 +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." +msgstr "" +"Ajuste este valor distinto de cero para establecer un ancho de extrusión " +"manual para el material de soporte. Si se deja en cero, se usará el ancho de " +"extrusión por defecto si se establece, de lo contrario se usará el diámetro " +"de la boquilla. Si se expresa como porcentaje (por ejemplo, 90%), se " +"calculará sobre la altura de la capa." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1788 -msgid "The supplied name is not available." -msgstr "El nombre proporcionado no está disponible." +#: src/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "Bucles de interfaz" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1785 -msgid "The supplied name is not valid; the following characters are not allowed:" -msgstr "El nombre proporcionado no es válido; los siguientes caracteres no están permitidos:" +#: src/libslic3r/PrintConfig.cpp:1966 +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "" +"Cubrir la capa de contacto superior de los soportes con bucles. Desactivado " +"por defecto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1418 -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 "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/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "Extrusor del material de soporte/soporte de la balsa" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1312 +#: src/libslic3r/PrintConfig.cpp:1974 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?" +"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 "" +"La extrusora que se usa al imprimir la interfaz de material de soporte (1+, " +"0 para usar la extrusora actual para minimizar los cambios de herramientas). " +"Esto también afecta a la balsa." + +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" +msgstr "Capas de interfaz" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:581 +#: src/libslic3r/PrintConfig.cpp:1984 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?" +"Number of interface layers to insert between the object(s) and support " +"material." msgstr "" -"Actualmente, la Torre de Limpieza solo admite los soportes no solubles si se imprimen con la extrusora actual sin activar un cambio de herramienta.\n" -"(ambos support_material_extruder y support_material_interface_extruder deben configurarse en 0). \n" -"\n" -"¿Debo ajustar esos ajustes para habilitar la Torre de Limpieza?" +"Número de capas de interfaz para insertar entre el (los) objeto(s) y el " +"material de soporte." + +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "Espaciado de patrón de interfaz" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:60 -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." -msgstr "Este código se inserta entre los objetos cuando se utiliza la impresión secuencial. Por defecto, el extrusor y la temperatura de la cama se reinician utilizando un comando de no espera; sin embargo, si se detectan M104, M109, M140 o M190 en este código personalizado, Slic3r no agregará comandos de temperatura. Tenga en cuenta que puede usar variables de marcador de posición para todas las configuraciones de Slic3r, por lo que puede poner un comando \"M109 S [first_layer_temperature]\" donde lo desee." +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." +msgstr "" +"Espaciado entre líneas de interfaz. Establezca cero para obtener una " +"interfaz sólida." + +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." +msgstr "" +"Velocidad para imprimir capas de interfaz de material de soporte. Si se " +"expresa como porcentaje (por ejemplo, 50%), se calculará sobre la velocidad " +"del material de soporte." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:767 -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 "Este código personalizado se inserta en cada cambio de capa, justo después del movimiento Z y antes de que el extrusor se mueva al primer punto de capa. Tenga en cuenta que puede usar variables de marcador de posición para todos los ajustes de Slic3r, así como [layer_num] y [layer_z]." +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "Patrón" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:49 -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 "Este código personalizado se inserta en cada cambio de capa, justo antes del movimiento Z. Tenga en cuenta que puede usar variables de marcador de posición para todos los ajustes de Slic3r, así como [layer_num] y [layer_z]." +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "Patrón utilizado para generar material de soporte." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1603 -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 "Este código personalizado se inserta justo antes de cada cambio de extrusor. Tenga en cuenta que puede usar variables de marcador de posición para todas las configuraciones de Slic3r, así como para [previous_extruder] y [next_extruder]." +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:228 -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 "Este procedimiento final se inserta al final del archivo de salida, antes del gcode final. Tenga en cuenta que puede usar variables de marcador de posición para todas las configuraciones de Slic3r. Si tiene extrusores múltiples, el gcode se procesa en el orden del extrusor." +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "Espaciado entre patrones" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:218 -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 "Este procedimiento final se inserta al final del archivo de salida. Tenga en cuenta que puede usar variables de marcador de posición para todas las configuraciones de Slic3r." +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "Espaciado entre las líneas de material de soporte." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:827 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:838 -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." -msgstr "Esta configuración experimental se usa para limitar la velocidad de cambio en la velocidad de extrusión. Un valor de 1,8 mm³ / s² asegura que se cambia la velocidad de extrusión de 1,8 mm³ / s (ancho de extrusión de 0,45 mm, altura de extrusión de 0,2 mm, avance de 20 mm / s) a 5,4 mm³ / s (avance de 60 mm / s) durará al menos 2 segundos." +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "Velocidad para imprimir material de soporte." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:818 -msgid "This experimental setting is used to set the maximum volumetric speed your extruder supports." -msgstr "Esta configuración experimental se usa para establecer la velocidad volumétrica máxima que admite el extrusor." +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "Sincronizar con capas las del objeto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1657 -msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." -msgstr "Esta configuración experimental utiliza comandos G10 y G11 para que el firmware maneje la retracción. Esto solo se admite en Marlin reciente." +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." +msgstr "" +"Sincronizar las capas de soporte con las capas de impresión del objeto. Esto " +"es útil con impresoras de múltiples materiales, donde el cambio de el " +"extrusor es costoso." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1671 -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 "Este ajuste experimental utiliza como salida del E valores en milímetros cúbicos en lugar de milímetros lineales. Si su firmware aún no conoce el (los) diámetro (s) del filamento, puede poner comandos como 'M200 D [filament_diameter_0] T0' en su código G inicial para activar el modo volumétrico y usar el diámetro del filamento asociado al filamento seleccionado. en Slic3r. Esto solo se admite en Marlin reciente." +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" +msgstr "Umbral de voladizos" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:108 -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." -msgstr "Este factor afecta la cantidad de plástico para formar puentes. Puede disminuirlo ligeramente para extraer los extruidos y evitar el combado, aunque la configuración predeterminada suele ser buena y debe experimentar con la refrigeración (usar un ventilador) antes de ajustar esto." +#: src/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "" +"El material de soporte no se generará para voladizos cuyo ángulo de " +"inclinación (90 ° = vertical) esté por encima del umbral dado. En otras " +"palabras, este valor representa la pendiente más horizontal (medida desde el " +"plano horizontal) que puede imprimir sin material de soporte. Ajuste a cero " +"para la detección automática (recomendado)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:368 -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." -msgstr "Este factor cambia la cantidad de flujo proporcionalmente. Es posible que necesite ajustar esta configuración para obtener un buen acabado superficial y corregir el ancho de una sola pared. Los valores usuales están entre 0.9 y 1.1. Si cree que necesita cambiar esto más, verifique el diámetro del filamento y los pasos del E en el firmware." +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "Con protección alrededor del soporte" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:98 -msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "La velocidad de este ventilador se aplica durante todos los puentes y voladizos." +#: src/libslic3r/PrintConfig.cpp:2073 +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 "" +"Añadir una funda (una sola línea de perímetro) alrededor de la base del " +"soporte. Esto hace el soporte más fiable pero también más difícil de retirar." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:692 -msgid "This feature allows to combine infill and speed up your print by extruding thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "Esta característica permite combinar el relleno y acelerar la impresión mediante la extrusión de capas de relleno más gruesas a la vez que se preservan los finos perímetros y, por lo tanto, la precisión." +#: src/libslic3r/PrintConfig.cpp:2081 +msgid "" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." +msgstr "" +"Temperatura del extrusor para capas después del primera. Ajuste esto a cero " +"para desactivar los comandos de control de temperatura en la salida." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1281 -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." -msgstr "Esta característica permite forzar una capa sólida en cada número de capas. Cero para deshabilitar. Puede establecer esto en cualquier valor (por ejemplo, 9999); Slic3r seleccionará automáticamente la cantidad máxima posible de capas para combinar según el diámetro de la boquilla y la altura de la capa." +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "Temperatura" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1323 -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 "Esta función aumentará Z gradualmente mientras imprime un objeto de pared simple para eliminar cualquier costura visible. Esta opción requiere un perímetro único, sin relleno, sin capas sólidas superiores y sin material de soporte. Todavía puede establecer cualquier cantidad de capas sólidas inferiores, así como bucles de falda / balsa. No funcionará al imprimir más de un objeto." +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "Detecta paredes delgadas" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:663 +#: src/libslic3r/PrintConfig.cpp:2092 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" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." 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?\n" +"Detecta muros de ancho único (partes donde dos extrusiones no se ajustan y " +"tenemos que colapsarlas en un solo rastro)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:164 -msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." -msgstr "Este indicador habilita la lógica de enfriamiento automático que ajusta la velocidad de impresión y la velocidad del ventilador según el tiempo de impresión de la capa." +#: src/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" +msgstr "Núcleos" -#: xs/src/slic3r/GUI/GUI.cpp:899 -msgid "This flag enables the brim that will be printed around each object on the first layer." -msgstr "Esta opción activa el margen que se imprimirá alrededor del objeto en la primera capa." +#: src/libslic3r/PrintConfig.cpp:2100 +msgid "" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." +msgstr "" +"Núcleos usados para tareas multi-recurso. Número óptimo de núcleos es " +"ligeramente sobre el numero de núcleos/procesadores disponibles." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1066 -msgid "This flag enforces a retraction whenever a Z move is done." -msgstr "Esta bandera impone una retractación cada vez que se realiza un movimiento Z." +#: src/libslic3r/PrintConfig.cpp:2112 +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 "" +"Este código personalizado se inserta justo antes de cada cambio de extrusor. " +"Tenga en cuenta que puede usar variables de marcador de posición para todas " +"las configuraciones de Slic3r, así como para [previous_extruder] y " +"[next_extruder]." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1689 -msgid "This flag will move the nozzle while retracting to minimize the possible blob on leaky extruders." -msgstr "Esta bandera moverá la boquilla mientras se retrae para minimizar la posible mancha en los extrusores con fugas." +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "" +"Ajuste este valor distinto de cero para establecer un ancho de extrusión " +"manual para el relleno de las superficies superiores. Es posible que desee " +"utilizar extrusiones más delgadas para llenar todas las regiones estrechas y " +"obtener un acabado más suave. Si se deja en cero, se usará el ancho de " +"extrusión por defecto si se establece, de lo contrario se usará el diámetro " +"de la boquilla. Si se expresa como porcentaje (por ejemplo, 90%), se " +"calculará sobre la altura de la capa." + +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "" +"Velocidad para imprimir capas sólidas superiores (solo se aplica a las capas " +"externas superiores y no a sus capas sólidas internas). Es posible que desee " +"reducir la velocidad para obtener un acabado de superficie más agradable. " +"Esto se puede expresar como un porcentaje (por ejemplo: 80%) sobre la " +"velocidad de relleno sólido anterior. Establecer a cero para auto." + +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "Superior" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:343 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:406 -msgid "This is only used in the Slic3r interface as a visual help." -msgstr "Esto solo se usa en la interfaz de Slic3r como ayuda visual." +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "Número de capas sólidas para generar en las superficies superiores." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:171 -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." -msgstr "Esta es la aceleración después de que se usen los valores de aceleración específicos de cada función (perímetro / relleno). Establezca cero para evitar restablecer la aceleración." +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "Capas solidas superiores" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:78 -msgid "This is the acceleration your printer will use for bridges. Set zero to disable acceleration control for bridges." -msgstr "Esta es la aceleración que su impresora usará para los puentes. Establezca cero para deshabilitar el control de aceleración para puentes." +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "" +"Velocidad para movimientos (saltos entre puntos de extrusión distantes)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:574 -msgid "This is the acceleration your printer will use for first layer. Set zero to disable acceleration control for first layer." -msgstr "Esta es la aceleración que su impresora usará para la primera capa. Establezca cero para deshabilitar el control de aceleración para la primera capa." +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "Usar la retracción del firmware" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:682 -msgid "This is the acceleration your printer will use for infill. Set zero to disable acceleration control for infill." -msgstr "Esta es la aceleración que su impresora usará para el relleno. Establezca cero para deshabilitar el control de aceleración para el relleno." +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." +msgstr "" +"Esta configuración experimental utiliza comandos G10 y G11 para que el " +"firmware maneje la retracción. Esto solo se admite en Marlin reciente." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:949 -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 "Esta es la aceleración que su impresora usará para los perímetros. Un valor alto como 9000 generalmente da buenos resultados si su hardware está a la altura del trabajo. Establezca cero para deshabilitar el control de aceleración para los perímetros." +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "Usar las distancias relativas en E" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:895 -msgid "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" -msgstr "Este es el diámetro de la boquilla de su extrusor (por ejemplo: 0.5, 0.35, etc.)" +#: src/libslic3r/PrintConfig.cpp:2177 +msgid "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." +msgstr "" +"Si su firmware requiere valores E relativos, verifique esto, de lo " +"contrario, deje sin marcar. La mayoría de los firmwares usan valores " +"absolutos." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:797 -#, no-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." -msgstr "Esta es la altura más alta imprimible de capa para este extrusor, que se utiliza para cubrir la altura de la capa variable y la altura de la capa de soporte. La altura máxima recomendada de la capa es del 75% del ancho de extrusión para lograr una adhesión razonable entre capas. Si se establece en 0, la altura de la capa se limita al 75% del diámetro de la boquilla." +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" +msgstr "Usar E volumétrico" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:858 -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." -msgstr "Esta es la altura más baja de la capa imprimible para este extrusor y limita la resolución para la altura de la capa variable. Los valores típicos están entre 0.05 mm y 0.1 mm." +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" +"Este ajuste experimental utiliza como salida del E valores en milímetros " +"cúbicos en lugar de milímetros lineales. Si su firmware aún no conoce el " +"(los) diámetro (s) del filamento, puede poner comandos como 'M200 D " +"[filament_diameter_0] T0' en su código G inicial para activar el modo " +"volumétrico y usar el diámetro del filamento asociado al filamento " +"seleccionado. en Slic3r. Esto solo se admite en Marlin reciente." + +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "Habilitar la función de altura de capa variable" -#: xs/src/libslic3r/PrintConfig.cpp:1816 -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 "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/libslic3r/PrintConfig.cpp:2197 +msgid "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." +msgstr "" +"Algunas impresoras o configuraciones de impresora pueden tener dificultades " +"para imprimir con una altura de capa variable. Habilitado por defecto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:990 -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." -msgstr "Esta opción establece la cantidad de perímetros que se generarán para cada capa. Tenga en cuenta que Slic3r puede aumentar este número automáticamente cuando detecta superficies inclinadas que se benefician de un mayor número de perímetros si la opción Perímetros adicionales está habilitada." +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "Limpiar mientras se retrae" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:923 -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 "Esta opción reducirá la temperatura de las extrusoras inactivas para evitar el goteo. Permitirá una falda alta automáticamente y moverá los extrusores fuera de dicha falda cuando cambie la temperatura." +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." +msgstr "" +"Esta bandera moverá la boquilla mientras se retrae para minimizar la posible " +"mancha en los extrusores con fugas." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:728 -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." -msgstr "Esta opción limitará el relleno a las áreas realmente necesarias para soportar techos (actuará como material de soporte interno). Si está habilitado, ralentiza la generación del código G debido a las múltiples comprobaciones involucradas." +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." +msgstr "" +"Las impresoras de varios materiales pueden necesitar cebar o purgar " +"extrusoras en los cambios de herramientas. Extruya el exceso de material en " +"la torre de limpieza." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:721 -msgid "This option will switch the print order of perimeters and infill, making the latter first." -msgstr "Esta opción cambiará el orden de impresión de los perímetros y el relleno, haciendo que el último sea el primero." +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" +msgstr "Volumen de purga - volumen de carga/descarga" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:279 -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." -msgstr "Esta configuración independiente afectará la velocidad de los perímetros externos (los visibles). Si se expresa como porcentaje (por ejemplo: 80%), se calculará en la configuración de velocidad de perímetros anterior. Establecer a cero para auto." +#: src/libslic3r/PrintConfig.cpp:2221 +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 "" +"Este vector guarda los volúmenes necesarios para cambiar desde/hasta cada " +"herramienta usada en la torre de limpieza. Estos valores se emplean para " +"simplificar la creación de los volúmenes totales de purga más abajo. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1252 -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 "Esta configuración por separado afectará la velocidad de los perímetros con un radio <= 6,5 mm (generalmente agujeros). Si se expresa como porcentaje (por ejemplo: 80%), se calculará en la configuración de velocidad de perímetros anterior. Establecer a cero para auto." +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" +msgstr "Volúmenes de purga - matriz" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:737 -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." -msgstr "Esta configuración aplica una superposición adicional entre relleno y perímetros para una mejor unión. Teóricamente, esto no debería ser necesario, pero la reacción puede causar huecos. Si se expresa como porcentaje (ejemplo: 15%), se calcula sobre el ancho de extrusión del perímetro." +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" +"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. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:779 -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 "Esta configuración controla la altura (y, por tanto, el número total) de las láminas / capas. Las capas más delgadas brindan una mayor precisión pero requieren más tiempo para imprimir." +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" +msgstr "Posición X" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:788 -msgid "This setting represents the maximum speed of your fan." -msgstr "Esta configuración representa la velocidad máxima de su ventilador." +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "Coordenada X de la esquina frontal izquierda de la torre de limpieza" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:849 -msgid "This setting represents the minimum PWM your fan needs to work." -msgstr "Este ajuste representa el PWM mínimo que el ventilador necesita para funcionar." +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "Posición Y" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 -#, c-format -msgid "This Slic3r PE version: %s" -msgstr "Esta versión de Slic3r: %s" +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "Coordenada Y de la esquina delantera izquierda de la torre de limpieza" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1358 -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 "Este procedimiento de inicio se inserta en el principio, después de que la impresora haya realizado el g-code de inicio. Si Slic3r detecta un M104, M109, M140 o M190 en los g-codes custom, estos comandos no se iniciarán automaticamente por lo que eres libre de personalizar el orden de calentamiento y otras acciones. Fíjate que puedes utilizar variables de marcación de posición para todos los ajustes de Slic3r, como que puedes usar \"M109 S[first_layer_temperature]\" donde quieras. Si tienes varios extrusores, el g-code se procesará en el orden de estos." +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "Ancho de la torre de limpieza" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1343 -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 "Este procedimiento de inicio se inserta en el principio, después de que la cama ha llegado a la temperatura objetivo y el extrusor ha comenzado a calentarse, y después de que haya completado el calentamiento. Si Slic3r detecta un M104 o M190 en los g-codes custom, estos comandos no se iniciarán automaticamente por lo que eres libre de personalizar el orden de calentamiento y otras acciones. Fíjate que puedes utilizar variables de marcación de posición para todos los ajustes de Slic3r, como que puedes usar \"M109 S[first_layer_temperature]\" donde quieras." +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "Ángulo de rotación de la torre de limpieza" -#: xs/src/libslic3r/PrintConfig.cpp:487 -msgid "This string is edited by RammingDialog and contains ramming specific parameters " -msgstr "Esta cadena se modifica con el Diálogo de Empuje y contiene parámetros específicos de empuje " +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "Ángulo de rotación de la torre de limpieza con respecto al eje X " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1743 -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 "Este valor será añadido (o eliminado) de todas las coordenadas Z en el G-code de salida. Se usa para compensar una mala posición del final de carrera Z: por ejemplo, si tu interruptor deja la boquilla a 0.3mm de la base de impresión, ajustalo a -0.3 (o arregla tu interruptor)." +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "grados" -#: xs/src/libslic3r/PrintConfig.cpp:1808 -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 "Este vector guarda los volúmenes necesarios para cambiar desde/hasta cada herramienta usada en la torre de limpieza. Estos valores se emplean para simplificar la creación de los volúmenes totales de purga más abajo. " +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 +#: src/libslic3r/PrintConfig.cpp:2273 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" -"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" +"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 "" -"Esta versión de Slic3r PE no es compatible con los grupos de configuraciones instaladas. Esto sucede probablemente por ejecutar una versión de Slic3r PE después de haber usado una más reciente.\n" -"\n" -"Puedes salir de Slic3r 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 Slic3r.\n" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1590 -msgid "Threads" -msgstr "Núcleos" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1591 -msgid "Threads are used to parallelize long-running tasks. Optimal threads number is slightly above the number of available cores/processors." -msgstr "Núcleos usados para tareas multi-recurso. Número óptimo de núcleos es ligeramente sobre el numero de núcleos/procesadores disponibles." -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -msgid "Time" -msgstr "Tiempo" +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:477 -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. " -msgstr "Tiempo de espera después de que se ha descargado el filamento. Puede ayudar para conseguir cambios de herramienta fiables con materiales flexibles que pueden necesitar más tiempo para encogerse a su tamaño original. " +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" -#: xs/src/slic3r/GUI/Tab.cpp:750 -msgid "To do that please specify a new name for the preset." -msgstr "Para hacerlo por favor especifique un nuevo nombre para esos ajustes." +#: src/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" +msgstr "Distancia máxima de puentes" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 -msgid "To download, follow the link below." -msgstr "Para descargar, sigue el enlace que hay más abajo." +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "Distancia máxima entre soportes en las secciones con relleno ligero. " -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:338 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:72 -msgid "Tool" -msgstr "Herramienta" +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "Compensación de tamaño XY" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:238 -msgid "Tool #" -msgstr "Herramienta nº" +#: src/libslic3r/PrintConfig.cpp:2299 +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 "" +"El objeto se crecerá / reducirá en el plano XY por el valor configurado " +"(negativo = hacia adentro, positivo = hacia afuera). Esto podría ser útil " +"para ajustar el tamaño de los orificios." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1144 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1602 -msgid "Tool change G-code" -msgstr "Código G de cambio de herramienta" +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" +msgstr "Ajuste en altura Z" -#: xs/src/slic3r/GUI/Tab.cpp:1315 -msgid "Toolchange parameters with single extruder MM printers" -msgstr "Parámetros del cambio de herramienta para impresoras de un único extrusor MM" +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" +"Este valor será añadido (o eliminado) de todas las coordenadas Z en el G-" +"code de salida. Se usa para compensar una mala posición del final de carrera " +"Z: por ejemplo, si tu interruptor deja la boquilla a 0.3mm de la base de " +"impresión, ajustalo a -0.3 (o arregla tu interruptor)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1638 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top" -msgstr "Superior" +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:187 -msgid "top solid infill" -msgstr "relleno sólido superior" +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1613 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1624 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:143 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:85 -msgid "Top solid infill" -msgstr "Relleno sólido superior" +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1642 -msgid "Top solid layers" -msgstr "Capas solidas superiores" +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top View" -msgstr "Vista superior" +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:246 -msgid "Top/bottom fill pattern" -msgstr "Patrón de relleno superior/inferior" +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:245 -msgid "Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded." -msgstr "El volumen total de purga se calcula sumando dos valors más abajo, dependiendo de qué filamentos se carguen/descarguen." +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:84 -msgid "Total rammed volume" -msgstr "Volumen total empujado" +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -msgid "Total ramming time" -msgstr "Tiempo de empuje total" +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1647 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:95 -msgid "Travel" -msgstr "Recorrido" +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1107 -msgid "Type of the printer." -msgstr "Tipo de impresora." +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Uniformly…" -msgstr "Uniformemente…" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 -msgid "Unknown" -msgstr "Desconocido" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:232 -msgid "unloaded" -msgstr "descargado" +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:467 -msgid "Unloading speed" -msgstr "Velocidad de descarga" +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2483 -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." +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" msgstr "" -"El CANDADO ABIERTO indica que algunos de los ajustes cambiaron y que no son iguales a los valores del sistema para el grupo de opciones actual. \n" -"Haz clic para restaurar los ajustes del grupo de opciones actual a los valores del sistema." -#: xs/src/slic3r/GUI/Tab.cpp:2498 +#: src/libslic3r/PrintConfig.cpp:2403 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." +"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 "" -"El CANDADO ABIERTO indica que el valor cambió y ya no es igual al valor del sistema. \n" -"Haz clic para devolver el valor al valor del sistema." -#: xs/src/slic3r/GUI/Tab.cpp:2445 -msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to the system values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system values." +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" msgstr "" -"CANDADO CERRADO;indica que algunos de los ajustes se modificaron y no son iguales a los valores almacenados para el grupo de opciones actual.\n" -"Haz clic en el CANDADO CERRADO para devolver los valores del grupo de opciones actual a los valores del sistema." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:97 -msgid "Unretractions" -msgstr "Desretracciones" +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1492 -msgid "Unsaved Changes" -msgstr "Cambios no guardados" +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:750 -msgid "Unsaved Presets" -msgstr "Ajustes iniciales no guardados" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "Update available" -msgstr "Actualización disponible" +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:279 xs/src/slic3r/GUI/Preferences.cpp:67 -msgid "Update built-in Presets automatically" -msgstr "Actualiza los ajustes de fábrica automáticamente" +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Updates" -msgstr "Actualizaciones" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:283 -msgid "Updates are never applied without user's consent and never overwrite user's customized settings." -msgstr "Las actualizaciones nunca se realizan sin el consentimiento del usuario y nunca sobre-escriben ajustes personalizados del usuario." +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 -msgid "Upgrade" -msgstr "Actualización" +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Upload a firmware image into an Arduino based printer" -msgstr "Cargar una imagen de firmware a una impresora basada en Arduino" +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:989 -msgid "USB/Serial connection" -msgstr "Conexión USB/Serial" +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1194 -msgid "USB/serial port for printer connection." -msgstr "Puerto USB/serial para la conexión con la impresora." +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1656 -msgid "Use firmware retraction" -msgstr "Usar la retracción del firmware" +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:75 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "Usar el renderizado OpenGL 1.1" +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1663 -msgid "Use relative E distances" -msgstr "Usar las distancias relativas en E" +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:361 -msgid "Use this option to set the axis letter associated to your printer's extruder (usually E but some printers use A)." -msgstr "Utiliza esta opción para ajustar la letra asociada al extrusor de tu impresora (normalmente se usa E pero otras usan A)." +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1400 -msgid "Use this setting to rotate the support material pattern on the horizontal plane." -msgstr "Use esta configuración para rotar el patrón de material de soporte en el plano horizontal." +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1670 -msgid "Use volumetric E" -msgstr "Usar E volumétrico" +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:449 -msgid "Used Filament (g)" -msgstr "Filamento usado (g)" +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:447 -msgid "Used Filament (m)" -msgstr "Filamento usado (m)" +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:448 -msgid "Used Filament (mm³)" -msgstr "Filamento usado (mm³)" +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 -msgid "User" -msgstr "Usuario" +#: src/libslic3r/PrintConfig.cpp:2531 +msgid "" +"Controls the bridge type between two neigboring 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 "" -#: xs/src/slic3r/GUI/Preset.cpp:649 xs/src/slic3r/GUI/Preset.cpp:706 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1127 lib/Slic3r/GUI/Plater.pm:553 -msgid "User presets" -msgstr "Ajustes de usuario" +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 -msgid "Value is the same as the system value" -msgstr "El valor es el mismo que el del sistema" +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 -msgid "Value was changed and is not equal to the system value or the last saved preset" -msgstr "El valor ha cambiado y ya no es igual al valor del sistema o al último valor guardado" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "variants" -msgstr "variantes" +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:755 -msgid "vendor" -msgstr "fabricante" +#: src/libslic3r/PrintConfig.cpp:2548 +msgid "" +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:644 -msgid "Verbose G-code" -msgstr "Código G detallado" +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid "Version " -msgstr "Versión " +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 -msgid "version" -msgstr "versión" +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "" -#: xs/src/slic3r/GUI/AboutDialog.cpp:60 -msgid "Version" -msgstr "Versión" +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:318 -msgid "Vertical shells" -msgstr "Carcasas verticales" +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:65 -msgid "View" -msgstr "Vista" +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:409 -msgid "Volume" -msgstr "Volumen" +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241 -msgid "Volume to purge (mm³) when the filament is being" -msgstr "Volumen a purgar (mm³) cuando el filamento está siendo" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Volumetric" -msgstr "Volumétrico" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 -msgid "Volumetric flow rate" -msgstr "Tasa de caudal volumétrico" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." +msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:370 -msgid "Volumetric flow rate (mm3/s)" -msgstr "Tasa de flujo volumétrico (mm3/seg)" +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:86 -msgid "Volumetric speed" -msgstr "Velocidad volumétrica" +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "" +"How many support points (approximately) should be placed on horizontal " +"surface." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:500 -msgid "Warning" -msgstr "Peligro" +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -msgid "Welcome" -msgstr "Bienvenido" +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -#, c-format -msgid "Welcome to the Slic3r %s" -msgstr "Bienvenido a Slic3r %s" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:131 -msgid "What do you want to print today? ™" -msgstr "¿Qué quieres imprimir hoy? ™" +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:69 -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 "Cuando está marcada, los ajustes preestablecidos de impresión y filamento se muestran en el editor de ajustes preestablecidos, incluso si están marcados como incompatibles con la impresora activa" +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:219 -msgid "when printing " -msgstr "cuando se imprime " +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:136 -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 "Al imprimir objetos multi-material, esta configuración hará que slic3r recorte las partes del objeto superpuestas una por la otra (la 2da parte será recortada por la 1ra, la 3ra parte será recortada por la 1ra y 2da, etc.)." +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:155 -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 "Al imprimir múltiples objetos o copias, esta característica completará cada objeto antes de pasar al siguiente (y comenzará desde la capa inferior). Esta función es útil para evitar el riesgo de impresiones arruinadas. Slic3r debería advertirte y evitar las colisiones del extrusor, pero ten cuidado." +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:605 -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." -msgstr "Al imprimir con alturas de capa muy bajas, es posible que desee imprimir una capa inferior más gruesa para mejorar la adhesión y la tolerancia de las placas de construcción no perfectas. Esto se puede expresar como un valor absoluto o como un porcentaje (por ejemplo: 150%) sobre la altura de capa predeterminada." +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1082 -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 "Cuando se desencadena la retracción antes de cambiar la herramienta, el filamento se retira en la cantidad especificada (la longitud se mide en el filamento sin procesar, antes de que entre en el extrusor)." +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1073 -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 "Cuando se activa la retracción, el filamento se retira en la cantidad especificada (la longitud se mide en el filamento sin procesar, antes de que entre en el extrusor)." +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:808 -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." -msgstr "Al establecer otras configuraciones de velocidad en 0, Slic3r calculará automáticamente la velocidad óptima para mantener constante la presión en el extrusor. Esta configuración experimental se utiliza para establecer la velocidad de impresión más alta que desea permitir." +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1127 -msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." -msgstr "Cuando la retracción se compensa después de cambiar la herramienta, el extrusor empujará esta cantidad adicional de filamento." +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1119 -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 "Cuando la retracción se compensa después de un movimiento, el extrusor necesitará introducir más filamento. Este ajuste raramente se necesita." +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2486 -msgid "WHITE BULLET icon indicates a non system preset." -msgstr "El símbolo de VIÑETA BLANCA indica un ajuste que no es del sistema." +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2489 -msgid "WHITE BULLET icon indicates that the settings are the same as in the last saved preset for the current option group." -msgstr "El símbolo de VIÑETA BLANCA indica que los ajustes son los mismos que los de la última vez que salvaste los ajustes para el grupo de opciones actual." +#: src/libslic3r/PrintConfig.cpp:3031 +msgid "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2504 -msgid "WHITE BULLET icon indicates that the value is the same as in the last saved preset." -msgstr "El símbolo de VIÑETA BLANCA indica que los valores son los mismos que los de los ajustes guardados la última vez." +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2451 -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." -msgstr "El símbolo de VIÑETA BLANCA;para el botón izquierdo: indica un ajuste no original, para el botón derecho: indica que el ajuste no se ha modificado." +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1716 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:70 -msgid "Width" -msgstr "Ancho" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:334 -msgid "Width (mm)" -msgstr "Ancho (mm)" +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1717 -msgid "Width of a wipe tower" -msgstr "Ancho de la torre de limpieza" +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:41 -#, c-format -msgid "will always run at %d%% " -msgstr "siempre funcionará al %d %% " +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:50 -msgid "will be turned off." -msgstr "será apagada." +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:442 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:149 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:91 -msgid "Wipe tower" -msgstr "Torre de limpieza" +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:564 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:585 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:602 -msgid "Wipe Tower" -msgstr "Torre de limpieza" +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:142 -msgid "Wipe tower - Purging volume adjustment" -msgstr "Torre de limpieza - Ajuste del volumen de purga" +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1847 -msgid "Wipe tower rotation angle" -msgstr "Ángulo de rotación de la torre de limpieza" +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1848 -msgid "Wipe tower rotation angle with respect to x-axis " -msgstr "Ángulo de rotación de la torre de limpieza con respecto al eje X " +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1688 -msgid "Wipe while retracting" -msgstr "Limpiar mientras se retrae" +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1058 -msgid "With bowden extruders, it may be wise to do some amount of quick retract before doing the wipe movement." -msgstr "Con extrusores bowden, puede ser recomendable realizar una retracción rápida antes de realizar el movimiento de limpiar." +#: src/libslic3r/PrintConfig.cpp:3076 +msgid "" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1564 -msgid "With sheath around the support" -msgstr "Con protección alrededor del soporte" +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 +#: src/libslic3r/PrintConfig.cpp:3082 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:" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." 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:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1703 -msgid "X coordinate of the left front corner of a wipe tower" -msgstr "Coordenada X de la esquina frontal izquierda de la torre de limpieza" +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1386 -msgid "XY separation between an object and its support" -msgstr "Separación XY entre un objeto y su soporte" +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1388 -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 "Separación XY entre un objeto y su soporte. Si se expresa como porcentaje (por ejemplo 50%), se calculará sobre el ancho del perímetro externo." +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1732 -msgid "XY Size Compensation" -msgstr "Compensación de tamaño XY" +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1710 -msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "Coordenada Y de la esquina delantera izquierda de la torre de limpieza" +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1970 -msgid "Yes" -msgstr "Sí" +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:885 -msgid "You can put here your personal notes. This text will be added to the G-code header comments." -msgstr "Puede poner sus notas personales aquí. Este texto se añadirá al código G como comentarios." +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:413 -msgid "You can put your notes regarding the filament here." -msgstr "Puede poner sus notas con respecto al filamento aquí." +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1015 -msgid "You can put your notes regarding the printer here." -msgstr "Puede poner sus notas con respecto a la impresora aquí." +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:181 -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." -msgstr "Puedes configurarlo como un valor positivo para desactivar el ventilador durante todas las capas iniciales, de manera que no empeora la adhesión." +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:931 -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 "Puedes usar todas las opciones de configuración como las variables dentro de esta muestra. Por ejemplo [layer_height], [fill_density] etc.También puedes usar [timestamp], [year], [month], [day], [hour], [minute], [second], [version], [input_filename], [input_filename_base]." +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" +msgstr "Mezclado" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid "You have unsaved changes " -msgstr "Tienes cambios sin guardar " +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "Altura (mm)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:101 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "Es necesario reiniciar Slic3r para hacer los cambios efectivos." +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" +msgstr "Ancho (mm)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Your file was repaired." -msgstr "Tu fichero fue reparado." +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "Velocidad (mm/s)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:744 -msgid "Your object appears to be too large, so it was automatically scaled down to fit your print bed." -msgstr "Tu pieza parece demasiado grande, así que se ha escalado automáticamente para que pueda caber en la base de impresión." +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "Tasa de flujo volumétrico (mm3/seg)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1742 -msgid "Z offset" -msgstr "Ajuste en altura Z" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:91 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:492 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1170 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1181 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1401 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1557 -msgid "°" -msgstr "°" +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:484 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 -msgid "°C" -msgstr "°C" +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "" diff --git a/resources/localization/fr_FR/Slic3rPE.mo b/resources/localization/fr_FR/Slic3rPE.mo index 3718025baa5e2f0d5e3d3c6c950b1d795e2328cf..a304f789a64001ca777cc8316073ba952365a5f9 100644 GIT binary patch delta 21866 zcmZwP2YeO90`Kvi5PI(&4lSYg-h1yIDH@U!2qg(AAc!2QAVq|rhbBc(K$;TqSSV6N z1RF)F2#O-uQLL!E-~Y^TANRhupF4bKW@l$-r|l--J$EF>)kQf1pB0LH#^YF;#q-MG z3jR10>3MmYDcAD~^z^)PSPHEA-=FEQj79c$zv*AkA_3PdF&8Qo_glf

9D!x~+4Iv-7cNItydKNr7SvF@>--oOkiLkU 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\n" +"Language-Team: \n" "Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 2.0.8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Oleksandra Iushchenko \n" -"Language-Team: \n" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"et il y a les changements non sauvegardés suivants :" +#: src/slic3r/GUI/AboutDialog.cpp:33 +msgid "About Slic3r" +msgstr "A propos de Slic3r" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1491 -msgid "" -"\n" -"\n" -"Discard changes and continue anyway?" -msgstr "" -"\n" -"\n" -"Annuler les changements et continuer malgré tout ?" +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 +msgid "Version" +msgstr "Version" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1489 -msgid "" -"\n" -"\n" -"has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"a les changements suivants non-enregistrés :" +#: src/slic3r/GUI/BedShapeDialog.cpp:43 +msgid "Shape" +msgstr "Forme" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" -msgstr "" -"\n" -"\n" -"n'est pas compatible avec l'imprimante\n" +#: src/slic3r/GUI/BedShapeDialog.cpp:50 +msgid "Rectangular" +msgstr "Rectangle" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:34 -msgid "" -"\n" -"During the other layers, fan " -msgstr "" -"\n" -"Pendant les autres couches, le ventilateur " +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 +msgid "Size" +msgstr "Taille" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:30 -#, 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%%." -msgstr "" -"\n" -"Si le temps estimé pour la couche est supérieur, mais cependant inférieur à ~%ds, le ventilateur tournera à une vitesse proportionnellement décroissante entre %d%% et %d%%." +#: src/slic3r/GUI/BedShapeDialog.cpp:55 +msgid "Size in X and Y of the rectangular plate." +msgstr "Taille en X et Y du plateau rectangulaire." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:927 -msgid "" -"\n" -"Non-positive value." -msgstr "" -"\n" -"Valeur non-positive." +#: src/slic3r/GUI/BedShapeDialog.cpp:61 +msgid "Origin" +msgstr "Origine" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:928 +#: src/slic3r/GUI/BedShapeDialog.cpp:62 msgid "" -"\n" -"Not a numeric value." +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." msgstr "" -"\n" -"Valeur non-numérique." - -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid " - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr " - Pensez à vérifier les mises à jours sur http://github.com/prusa3d/slic3r/releases" +"Distance des coordonnées 0,0 du G-code depuis le coin avant gauche du " +"rectangle." -# Used in this context: _("Save ") + title + _(" as:") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -msgid " as:" -msgstr " sous :" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:226 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " à une vitesse de filament de %3.2f mm/s." +#: src/slic3r/GUI/BedShapeDialog.cpp:66 +msgid "Circular" +msgstr "Circulaire" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1035 -msgid " Browse " -msgstr " Parcourir " +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 +msgid "mm" +msgstr "mm" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:215 -msgid " flow rate is maximized " -msgstr " le débit est maximisé " +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 +msgid "Diameter" +msgstr "Diamètre" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -#, no-c-format +#: src/slic3r/GUI/BedShapeDialog.cpp:71 msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." msgstr "" -" le motif de remplissage n'est pas supposé fonctionner à une densité de 100%.\n" -"\n" -"Dois-je passer au motif de remplissage rectiligne ?" +"Diamètre du plateau d'impression. Il est supposé que l'origine (0,0) est " +"située au centre." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1470 -msgid " preset\n" -msgstr " préréglage\n" +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 +msgid "Custom" +msgstr "Personnalisé" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid " preset" -msgstr " préréglage" +#: src/slic3r/GUI/BedShapeDialog.cpp:79 +msgid "Load shape from STL..." +msgstr "Charger une forme depuis un STL..." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1583 -msgid " Preset" -msgstr " Préréglage" +#: src/slic3r/GUI/BedShapeDialog.cpp:125 +msgid "Settings" +msgstr "Réglages" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:942 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1637 -msgid " Set " -msgstr " Appliquer " +#: src/slic3r/GUI/BedShapeDialog.cpp:298 +msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "" +"Choisir un fichier à partir duquel importer la forme du plateau (STL/OBJ/" +"AMF/3MF/PRUSA) :" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid " the selected preset?" -msgstr " le préréglage sélectionné ?" +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 +msgid "Error! " +msgstr "Erreur ! " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:548 -msgid " was successfully sliced." -msgstr " a été découpé avec succès." +#: src/slic3r/GUI/BedShapeDialog.cpp:324 +msgid "The selected file contains no geometry." +msgstr "Le fichier sélectionné ne contient aucune géométrie." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:220 -msgid " with a volumetric rate " -msgstr " avec un débit volumétrique " +#: src/slic3r/GUI/BedShapeDialog.cpp:328 +msgid "" +"The selected file contains several disjoint areas. This is not supported." +msgstr "" +"Le fichier sélectionné contient plusieurs zones disjointes. Cela n'est pas " +"utilisable." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:99 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:504 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:789 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:850 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1060 -msgid "%" -msgstr "%" +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape" +msgstr "Forme du plateau" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:224 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f mm³/s" +#: src/slic3r/GUI/BonjourDialog.cpp:54 +msgid "Network lookup" +msgstr "Recherche réseau" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1958 -#, perl-format -msgid "%d (%d shells)" -msgstr "%d (%d coques)" +#: src/slic3r/GUI/BonjourDialog.cpp:67 +msgid "Address" +msgstr "Adresse" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1965 -#, perl-format -msgid "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d facets reversed, %d backwards edges" -msgstr "%d faces invalides, %d arrêtes corrigées, %d faces retirées, %d faces ajoutées, %d faces inversées, %d arrêtes à l'envers" +#: src/slic3r/GUI/BonjourDialog.cpp:68 +msgid "Hostname" +msgstr "Nom d'hôte" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:269 -#, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d lignes : %.2lf mm" +#: src/slic3r/GUI/BonjourDialog.cpp:69 +msgid "Service name" +msgstr "Nom du service" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:687 -#, perl-format -msgid "%d presets successfully imported." -msgstr "%d préréglages importés avec succès." +#: src/slic3r/GUI/BonjourDialog.cpp:70 +msgid "OctoPrint version" +msgstr "Version d'OctoPrint" -#: xs/src/slic3r/GUI/Field.cpp:102 -#, c-format -msgid "%s doesn't support percentage" -msgstr "%s ne supporte pas un pourcentage" +#: src/slic3r/GUI/BonjourDialog.cpp:188 +msgid "Searching for devices" +msgstr "Recherche des dispositifs" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "&About Slic3r" -msgstr "&A propos de Slic3r" +#: src/slic3r/GUI/BonjourDialog.cpp:195 +msgid "Finished" +msgstr "Terminé" -#: xs/src/slic3r/GUI/GUI.cpp:466 -msgid "&Configuration" -msgstr "&Configuration" +#: src/slic3r/GUI/ButtonsDescription.cpp:15 +msgid "Buttons And Text Colors Description" +msgstr "Description des Boutons et des Couleurs de Texte" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "&Export Config Bundle…" -msgstr "&Exporter le Lot de Configurations…" +#: src/slic3r/GUI/ButtonsDescription.cpp:40 +msgid "Value is the same as the system value" +msgstr "La valeur est identique à la valeur du système" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "&Export Config…\tCtrl+E" -msgstr "&Exporter la configuration…\tCtrl+E" +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" +"La valeur a été changée et n'est pas égale à la valeur du système ou au " +"dernier préréglage sauvegardé" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:418 -msgid "&File" -msgstr "&Fichier" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 +msgid "Upgrade" +msgstr "Mise à jour" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:791 -msgid "&Finish" -msgstr "&Fin" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 +msgid "Downgrade" +msgstr "Rétrograder" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:426 -msgid "&Help" -msgstr "&Aide" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 +msgid "Before roll back" +msgstr "Avant le retour en arrière" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "&Load Config Bundle…" -msgstr "&Charger le Lot de Configurations…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 +msgid "User" +msgstr "Utilisateur" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "&Load Config…\tCtrl+L" -msgstr "&Charger la configuration…\tCtrl+L" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 +msgid "Unknown" +msgstr "Inconnu" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:420 -msgid "&Object" -msgstr "&Objet" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 +msgid "Active: " +msgstr "Actif : " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:419 -msgid "&Plater" -msgstr "&Plateau" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +msgid "slic3r version" +msgstr "version de slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "&Quit" -msgstr "&Quitter" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 +msgid "print" +msgstr "imprimer" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" -msgstr "&Répéter la dernière découpe rapide\tCtrl+Shift+U" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +msgid "filaments" +msgstr "filaments" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:422 -msgid "&View" -msgstr "&Vue" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 +msgid "printer" +msgstr "imprimer" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:421 -msgid "&Window" -msgstr "&Fenêtre" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 +msgid "vendor" +msgstr "fabriquant" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "(&Re)Slice Now\tCtrl+S" -msgstr "(&Re)Découper maintenant\tCtrl+S" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +msgid "version" +msgstr "version" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:994 -msgid "(minimum)" -msgstr "(minimum)" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 +msgid "min slic3r version" +msgstr "version minimale de slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid ") not found." -msgstr ") non trouvé." +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 +msgid "max slic3r version" +msgstr "version maximale de slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid ". Discard changes and continue anyway?" -msgstr ". Annuler les changements et continuer malgré tout ?" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "model" +msgstr "modèle" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:63 -msgid "1 Layer" -msgstr "1 Couche" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "variants" +msgstr "variantes" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:138 -msgid "2D" -msgstr "2D" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 +msgid "Incompatible with this Slic3r" +msgstr "Incompatible avec ce Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:104 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2124 -msgid "3D" -msgstr "3D" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 +msgid "Activate" +msgstr "Activer" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1608 -msgid "3MF file exported to " -msgstr "Fichier 3MF exporté vers " +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 +msgid "Configuration Snapshots" +msgstr "Instantanés de Configuration" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:185 -msgid "45° ccw" -msgstr "45° ccw" +#: src/slic3r/GUI/ConfigWizard.cpp:92 +msgid "nozzle" +msgstr "buse" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:186 -msgid "45° cw" -msgstr "45° cw" +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" +msgstr "défaut" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:148 -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 "Une expression booléenne utilisant les valeurs de configuration d'un profil d'imprimante actif. Si cette expression est évaluée comme vraie, ce profil est considéré comme compatible avec le profil d'imprimante actif." +#: src/slic3r/GUI/ConfigWizard.cpp:116 +msgid "Select all" +msgstr "Tout sélectionner" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:480 -msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." -msgstr "La règle générale est 160 à 230 °C pour le PLA et 215 à 250 °C pour l'ABS." +#: src/slic3r/GUI/ConfigWizard.cpp:117 +msgid "Select none" +msgstr "Ne sélectionner aucun" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 -msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." -msgstr "La règle générale est 60 °C pour le PLA et 110 °C pour l'ABS. Laissez à zéro si vous n'avez pas de lit chauffant." +#: src/slic3r/GUI/ConfigWizard.cpp:226 +#, c-format +msgid "Welcome to the Slic3r %s" +msgstr "Bienvenue sur Slic3r %s" -#: xs/src/slic3r/GUI/AboutDialog.cpp:32 -msgid "About Slic3r" -msgstr "A propos de Slic3r" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +msgid "Welcome" +msgstr "Bienvenue" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1099 -msgid "Above Z" -msgstr "Au-delà de Z" +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 +#, c-format +msgid "Run %s" +msgstr "Run %s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:417 -msgid "Acceleration control (advanced)" -msgstr "Contrôle de l'accélération (avancé)" +#: src/slic3r/GUI/ConfigWizard.cpp:234 +#, 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." +msgstr "" +"Bonjour, bienvenu dans Slic3r Prusa Edition ! Ce %s vous aide à la " +"configuration initiale ; juste quelques paramètres et vous serez prêt à " +"imprimer." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 -msgid "Activate" -msgstr "Activer" +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" +msgstr "" +"Supprimer les profils d'utilisateur - installation à partir de zéro (un " +"snapshot sera fait avant)" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 -msgid "Active: " -msgstr "Actif : " +#: src/slic3r/GUI/ConfigWizard.cpp:263 +msgid "Other vendors" +msgstr "Autres fabriquants" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1566 -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 "Ajouter une enveloppe (une ligne unique de périmètre) autour de la base du support. Ceci rend le support plus fiable, mais aussi plus difficile à retirer." +#: src/slic3r/GUI/ConfigWizard.cpp:265 +msgid "Custom setup" +msgstr "Configuration personnalisée" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:299 -#, no-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." -msgstr "Ajouter plus de périmètres si nécessaire pour éviter des trous dans les parois inclinées. Slic3r ajoute des périmètres, jusqu'à ce que plus de 70% de la boucle immédiatement au-dessus soit supportée." +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Automatic updates" +msgstr "Mises à jour automatiques" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:240 -msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)." -msgstr "Ajouter un remplissage plein à proximité des surfaces inclinées pour garantir une épaisseur de coque verticale (couches solides supérieures+inférieures)." +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Updates" +msgstr "Mises à jour" -#: xs/src/slic3r/GUI/Tab.cpp:754 -msgid "Additional information:" -msgstr "Informations complémentaires :" +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 +msgid "Check for application updates" +msgstr "Vérifier les mises à jour de l'application" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:288 -msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied." -msgstr "De plus, un instantané de sauvegarde de l'ensemble de la configuration est créé avant qu'une mise à jour ne soit appliquée." +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" +"Si activé, Slic3r vérifie en ligne l'existence de nouvelles versions de " +"Slic3r PE. Lorsqu'une nouvelle version est disponible, une notification est " +"affichée au démarrage suivant de l'application (jamais pendant l'utilisation " +"du programme). Ceci est uniquement un mécanisme de notification, aucune " +"installation automatique n'est faite." -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 -msgid "Address" -msgstr "Adresse" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:177 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:195 -msgid "Add…" -msgstr "Ajouter…" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:342 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:356 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:449 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:452 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:831 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:107 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:208 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:736 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1733 -msgid "Advanced" -msgstr "Avancé" - -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:319 -msgid "Advanced: avrdude output log" -msgstr "Avancé : journal de sortie avrdude" +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 +msgid "Update built-in Presets automatically" +msgstr "Mettre à jour automatiquement les Préréglages intégrés" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1138 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:766 -msgid "After layer change G-code" -msgstr "G-Code après changement de couche" +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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 "" +"Si activé, Slic3r télécharge les mises à jours des préréglages système " +"intégrés en arrière-plan. Ces mises à jour sont téléchargées dans un " +"répertoire temporaire séparé. Lorsqu'une nouvelle version de préréglages est " +"disponible, elle est proposée au démarrage de l'application." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1636 -msgid "All" -msgstr "Tous" +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" +"Les mises à jour ne sont jamais appliquées sans l'accord de l'utilisateur et " +"n'annulent jamais les réglages personnalisés de l'utilisateur." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Along X axis…" -msgstr "Le long de l'axe X…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Along Y axis…" -msgstr "Le long de l'axe Y…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Along Z axis…" -msgstr "Le long de l'axe Z…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1592 -msgid "AMF file exported to " -msgstr "Fichier AMF exporté vers " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Another export job is currently running." -msgstr "Une autre tâche d'export est actuellement en cours." +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." +msgstr "" +"De plus, un instantané de sauvegarde de l'ensemble de la configuration est " +"créé avant qu'une mise à jour ne soit appliquée." -#: xs/src/slic3r/GUI/Tab.cpp:749 -msgid "Any modifications should be saved as a new preset inherited from this one. " -msgstr "Toute modification doit être enregistrée comme un nouveau préréglage hérité de celui-ci. " +#: src/slic3r/GUI/ConfigWizard.cpp:320 +msgid "Other Vendors" +msgstr "Autres Fabriquants" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:901 -msgid "API Key" -msgstr "Clé API" +#: src/slic3r/GUI/ConfigWizard.cpp:322 +msgid "Pick another vendor supported by Slic3r PE:" +msgstr "Choisissez un autre fabriquant supporté par Slic3r PE :" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:299 -msgid "Application preferences" -msgstr "Préférences de l'application" +#: src/slic3r/GUI/ConfigWizard.cpp:381 +msgid "Firmware Type" +msgstr "Type de Firmware" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Application will be restarted" -msgstr "L'application va être redémarrée" +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 +msgid "Firmware" +msgstr "Firmware" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:397 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1242 -msgid "approximate seconds" -msgstr "secondes approximatives" +#: src/slic3r/GUI/ConfigWizard.cpp:385 +msgid "Choose the type of firmware used by your printer." +msgstr "Choisissez le type de firmware utilisé par votre imprimante." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid "Are you sure you want to " -msgstr "Êtes-vous sûr de vouloir " +#: src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape and Size" +msgstr "Forme du Plateau et Taille" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:365 -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/ConfigWizard.cpp:422 +msgid "Set the shape of your printer's bed." +msgstr "Réglez la forme du plateau de votre imprimante." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Around X axis…" -msgstr "Autour de l'axe X…" +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Filament and Nozzle Diameters" +msgstr "Diamètres du Filament et de la Buse" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Around Y axis…" -msgstr "Autour de l'axe Y…" +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Print Diameters" +msgstr "Diamètres d'Impression" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Around Z axis…" -msgstr "Autour de l'axe Z…" +#: src/slic3r/GUI/ConfigWizard.cpp:452 +msgid "Enter the diameter of your printer's hot end nozzle." +msgstr "" +"Entrez le diamètre de la buse de la tête d'impression de votre imprimante." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:180 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:198 -msgid "Arrange" -msgstr "Agencer" +#: src/slic3r/GUI/ConfigWizard.cpp:455 +msgid "Nozzle Diameter:" +msgstr "Diamètre de la Buse :" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:224 -msgid "Array of language names and identifiers should have the same size." -msgstr "Les tableaux de noms et d'identifiants de langue doivent avoir la même taille." +#: src/slic3r/GUI/ConfigWizard.cpp:465 +msgid "Enter the diameter of your filament." +msgstr "Entrez le diamètre de votre filament." -#: xs/src/slic3r/GUI/GUI.cpp:688 -msgid "Attempt to free unreferenced scalar" -msgstr "Tentative de libération d'un scalaire non référencé" +#: src/slic3r/GUI/ConfigWizard.cpp:466 +msgid "" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." +msgstr "" +"Une bonne précision est requise, utilisez un pied à coulisse et calculez la " +"moyenne de plusieurs mesures le long du filament." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Attention!" -msgstr "Attention !" +#: src/slic3r/GUI/ConfigWizard.cpp:469 +msgid "Filament Diameter:" +msgstr "Diamètre du Filament :" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:35 -msgid "Auto-center parts" -msgstr "Centrer automatiquement les pièces" +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Extruder and Bed Temperatures" +msgstr "Températures de l'Extrudeur et du Lit" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1960 -#, perl-format -msgid "Auto-repaired (%d errors)" -msgstr "Réparé automatiquement (%d erreurs)" +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Temperatures" +msgstr "Températures" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Automatic updates" -msgstr "Mises à jour automatiques" +#: src/slic3r/GUI/ConfigWizard.cpp:503 +msgid "Enter the temperature needed for extruding your filament." +msgstr "Entrez la température nécessaire pour extruder votre filament." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Automatically repair an STL file" -msgstr "Réparer automatiquement un fichier STL" +#: src/slic3r/GUI/ConfigWizard.cpp:504 +msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." +msgstr "" +"La règle générale est 160 à 230 °C pour le PLA et 215 à 250 °C pour l'ABS." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:424 -msgid "Autospeed (advanced)" -msgstr "Vitesse automatique (avancé)" +#: src/slic3r/GUI/ConfigWizard.cpp:507 +msgid "Extrusion Temperature:" +msgstr "Température d'Extrusion :" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:26 -msgid "Avoid crossing perimeters" -msgstr "Éviter de traverser les périmètres" +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 +msgid "°C" +msgstr "°C" -#: xs/src/slic3r/GUI/Tab.cpp:2491 +#: src/slic3r/GUI/ConfigWizard.cpp:517 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." +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." 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é." +"Entrez la température du lit nécessaire pour que votre filament colle à " +"votre lit chauffant." -#: xs/src/slic3r/GUI/Tab.cpp:2505 +#: src/slic3r/GUI/ConfigWizard.cpp:518 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." +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " +"no heated bed." 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é." +"La règle générale est 60 °C pour le PLA et 110 °C pour l'ABS. Laissez à zéro " +"si vous n'avez pas de lit chauffant." -#: xs/src/slic3r/GUI/Tab.cpp:2455 -msgid "" -"BACK ARROW;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." +#: src/slic3r/GUI/ConfigWizard.cpp:521 +msgid "Bed Temperature:" +msgstr "Température du Plateau :" + +#: src/slic3r/GUI/ConfigWizard.cpp:833 +msgid "< &Back" msgstr "" -"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 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é." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:43 -msgid "Background processing" -msgstr "Tâche en arrière plan" +#: src/slic3r/GUI/ConfigWizard.cpp:834 +msgid "&Next >" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:800 -msgid "Bed" -msgstr "Plateau" +#: src/slic3r/GUI/ConfigWizard.cpp:835 +msgid "&Finish" +msgstr "&Fin" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:940 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:34 -msgid "Bed shape" -msgstr "Forme du plateau" +#: src/slic3r/GUI/ConfigWizard.cpp:906 +msgid "Configuration Wizard" +msgstr "Assistant de Configuration" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.hpp:42 -msgid "Bed Shape" -msgstr "Forme du plateau" +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "&Assistant de Configuration" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:395 -msgid "Bed Shape and Size" -msgstr "Forme du Plateau et Taille" +#: src/slic3r/GUI/ConfigWizard.cpp:909 +msgid "Configuration Assistant" +msgstr "Assistant de Configuration" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:42 -msgid "Bed temperature" -msgstr "Température du plateau" +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "&Assistant de Configuration" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:39 -msgid "Bed temperature for layers after the first one. Set this to zero to disable bed temperature control commands in the output." -msgstr "Température du plateau pour les couches après la première. Mettez ceci à zéro pour désactiver les commandes de contrôle de température du plateau dans la sortie." +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 -msgid "Bed Temperature:" -msgstr "Température du Plateau :" +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1132 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:48 -msgid "Before layer change G-code" -msgstr "G-Code avant changement de couche" +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "%s ne supporte pas un pourcentage" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 -msgid "Before roll back" -msgstr "Avant le retour en arrière" +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 +msgid "" +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1108 -msgid "Below Z" -msgstr "En-deçà de Z" +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "La valeur entrée est hors plage" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:59 -msgid "Between objects G-code" -msgstr "Entre le G-code des objets" +#: src/slic3r/GUI/Field.cpp:176 +#, 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." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1150 -msgid "Between objects G-code (for sequential printing)" -msgstr "Entre le G-code des objets (pour une impression séquentielle)" +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:68 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom" -msgstr "Dessous" +#: src/slic3r/GUI/FirmwareDialog.cpp:133 +msgid "Flash!" +msgstr "Flash !" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:72 -msgid "Bottom solid layers" -msgstr "Couches solides inférieures" +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 +msgid "Cancel" +msgstr "Annuler" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom View" -msgstr "Vue du Dessous" +#: src/slic3r/GUI/FirmwareDialog.cpp:135 +msgid "Flashing in progress. Please do not disconnect the printer!" +msgstr "" +"Processus de flash en cours. Veuillez ne pas déconnecter l'imprimante !" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:77 -msgid "Bridge" -msgstr "Pont" +#: src/slic3r/GUI/FirmwareDialog.cpp:245 +msgid "Flashing succeeded!" +msgstr "Flash effectué avec succès !" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:106 -msgid "Bridge flow ratio" -msgstr "Ratio de flux pour les ponts" +#: src/slic3r/GUI/FirmwareDialog.cpp:246 +msgid "Flashing failed. Please see the avrdude log below." +msgstr "" +"Le processus de flash a échoué. Veuillez consulter le journal avrdude ci-" +"dessous." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:144 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:86 -msgid "Bridge infill" -msgstr "Remplissage du pont" +#: src/slic3r/GUI/FirmwareDialog.cpp:247 +msgid "Flashing cancelled." +msgstr "Processus de flash annulé." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:117 -msgid "Bridges" -msgstr "Ponts" +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:97 -msgid "Bridges fan speed" -msgstr "Vitesse du ventilateur pour les ponts" +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:86 -msgid "Bridging angle" -msgstr "Angle du pont" +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:88 -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." -msgstr "Contournement de l'angle du pont. Si laissé à zéro, l'angle du pont sera calculé automatiquement. Sinon, l'angle fourni sera utilisé pour tous les ponts. Utilisez 180° pour un angle nul." +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Bridging volumetric" -msgstr "Volumétrie des ponts" +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:371 -msgid "Brim" -msgstr "Bordure" +#: src/slic3r/GUI/FirmwareDialog.cpp:690 +msgid "Firmware flasher" +msgstr "Outil de flash du firmware" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:127 -msgid "Brim width" -msgstr "Largeur de la bordure" +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "Image du firmware :" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 -msgid "Buttons And Text Colors Description" -msgstr "Description des Boutons et des Couleurs de Texte" +#: src/slic3r/GUI/FirmwareDialog.cpp:716 +msgid "Serial port:" +msgstr "Port série :" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:218 -msgid "by the print profile maximum" -msgstr "par le maximum du profil de l'imprimante" +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:85 -msgid "Cancel" -msgstr "Annuler" +#: src/slic3r/GUI/FirmwareDialog.cpp:719 +msgid "Rescan" +msgstr "Scanner à nouveau" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:213 -msgid "Cancelling..." -msgstr "Annulation..." +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" +msgstr "Progression :" -#: xs/src/slic3r/GUI/Tab.cpp:2124 -msgid "Cannot overwrite a system profile." -msgstr "Impossible d'écraser un profil système." +#: src/slic3r/GUI/FirmwareDialog.cpp:729 +msgid "Status:" +msgstr "État :" -#: xs/src/slic3r/GUI/Tab.cpp:2128 -msgid "Cannot overwrite an external profile." -msgstr "Impossible d'écraser un profil externe." +#: src/slic3r/GUI/FirmwareDialog.cpp:730 +msgid "Ready" +msgstr "Prêt" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:962 -msgid "Capabilities" -msgstr "Fonctionnalités" +#: src/slic3r/GUI/FirmwareDialog.cpp:750 +msgid "Advanced: avrdude output log" +msgstr "Avancé : journal de sortie avrdude" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Capture a configuration snapshot" -msgstr "Capturer un instantané de la configuration" +#: src/slic3r/GUI/FirmwareDialog.cpp:809 +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 !" -#: xs/src/slic3r/GUI/Tab.cpp:1597 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "Fichiers de certificat (*.crt, *.pem)|*.crt;*.pem|Tous les fichiers|*.*" +#: src/slic3r/GUI/FirmwareDialog.cpp:810 +msgid "Confirmation" +msgstr "Confirmation" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:325 -msgid "Change Application Language" -msgstr "Changer la langue de l'application" +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Change the number of copies of the selected object" -msgstr "Changer le nombre de copies de l'objet sélectionné" +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 +msgid "Detected object outside print volume" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:272 xs/src/slic3r/GUI/Preferences.cpp:59 -msgid "Check for application updates" -msgstr "Vérifier les mises à jour de l'application" +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:298 -msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Choisir un fichier à partir duquel importer la forme du plateau (STL/OBJ/AMF/3MF/PRUSA) :" +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "Pivoter" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:457 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Choisir un fichier à découper (STL/OBJ/AMF/3MF/PRUSA) :" +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI.pm:286 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Choisir un ou plusieurs fichiers (STL/OBJ/AMF/3MF/PRUSA) :" +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "Redimensionner" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:360 -msgid "Choose the type of firmware used by your printer." -msgstr "Choisissez le type de firmware utilisé par votre imprimante." +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:62 -msgid "Circular" -msgstr "Circulaire" +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:135 -msgid "Clip multi-part objects" -msgstr "Dissocier les objets multi-pièces" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:405 -msgid "Color" -msgstr "Couleur" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:690 -msgid "Combine infill every" -msgstr "Combiner le remplissage toutes les" +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:696 -msgid "Combine infill every n layers" -msgstr "Combiner le remplissage toutes les n couches" +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:509 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:869 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1668 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:143 -msgid "Compatible printers" -msgstr "Imprimantes compatibles" +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:147 -msgid "Compatible printers condition" -msgstr "Condition de compatibilité des imprimantes" +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:154 -msgid "Complete individual objects" -msgstr "Compléter les objets individuels" +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:846 -msgid "Configuration Assistant" -msgstr "Assistant de Configuration" +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:884 -msgid "Configuration notes" -msgstr "Notes de configuration" +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Configuration Snapshots" -msgstr "Instantanés de Configuration" +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 -msgid "Configuration update" -msgstr "Mise à jour de la configuration" +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -msgid "Configuration update is available" -msgstr "Une mise à jour de la configuration est disponible" +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "Couper" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:844 -msgid "Configuration Wizard" -msgstr "Assistant de Configuration" +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:366 -msgid "Confirmation" -msgstr "Confirmation" +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1020 -msgid "Connection failed." -msgstr "La connexion a échoué." +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "Remarque" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:211 -msgid "Connection to OctoPrint works correctly." -msgstr "La connexion avec OctoPrint fonctionne correctement." +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "Tentative de libération d'un scalaire non référencé" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Connection to printer works correctly." -msgstr "La connexion avec l'imprimante fonctionne correctement." +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "Alerte" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1416 -msgid "Contact Z distance" -msgstr "Distance de contact Z" +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:120 -msgid "Controller" -msgstr "Contrôleur" +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Choisir un ou plusieurs fichiers (STL/OBJ/AMF/3MF/PRUSA) :" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:805 -msgid "Cooling" -msgstr "Refroidissement" +#: src/slic3r/GUI/GUI_App.cpp:451 +msgid "Array of language names and identifiers should have the same size." +msgstr "" +"Les tableaux de noms et d'identifiants de langue doivent avoir la même " +"taille." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:826 -msgid "Cooling thresholds" -msgstr "Seuils de refroidissement" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Select the language" +msgstr "Sélectionner la langue" -#: xs/src/libslic3r/PrintConfig.cpp:178 -msgid "Cooling tube length" -msgstr "Longueur du tube de refroidissement" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Language" +msgstr "Langue" -#: xs/src/libslic3r/PrintConfig.cpp:170 -msgid "Cooling tube position" -msgstr "Position du tube de refroidissement" +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 +msgid "Default" +msgstr "Défaut" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:221 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Copies" -msgstr "Copies" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "Instantanés de &Configuration" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:476 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:450 -msgid "Cost" -msgstr "Coût" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "Inspect / activate configuration snapshots" +msgstr "Inspecter / activer les instantanés de configuration" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Could not connect to OctoPrint" -msgstr "Impossible de se connecter à OctoPrint" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" +msgstr "Prendre un &snapshot de la configuration" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1465 -msgid "Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "Recouvrir la couche de contact supérieure des supports avec des boucles. Désactivé par défaut." +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Capture a configuration snapshot" +msgstr "Capturer un instantané de la configuration" -#: xs/src/slic3r/GUI/Tab.cpp:743 -msgid "Current preset is inherited from " -msgstr "Le préréglage en cours a hérité de " +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" +msgstr "&Préférences" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 -msgid "Current version:" -msgstr "Version actuelle :" +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "Application preferences" +msgstr "Préférences de l'application" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:71 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:92 -msgid "Custom" -msgstr "Personnalisé" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:846 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1119 -msgid "Custom G-code" -msgstr "G-code personnalisé" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple View Mode" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:240 -msgid "Custom setup" -msgstr "Configuration personnalisée" +#: src/slic3r/GUI/GUI_App.cpp:617 src/slic3r/GUI/GUI_ObjectList.cpp:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "Avancé" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:189 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:205 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Cut…" -msgstr "Couper…" +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Decrease copies" -msgstr "Réduire les copies" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:300 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:170 -msgid "Default" -msgstr "Défaut" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Field.cpp:42 -msgid "default" -msgstr "défaut" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid "Default " -msgstr "Défaut " +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:489 -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." -msgstr "Angle de base par défaut pour l'orientation du remplissage. Des croisements seront appliqués à cette valeur. Les ponts seront remplis avec la meilleure direction que Slic3r peut détecter, ce réglage ne les affecteront donc pas." +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" +msgstr "Changer la &langue de l'application" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:376 -msgid "Default extrusion width" -msgstr "Largeur d'extrusion par défaut" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" +msgstr "Flasher le &firmware de l'imprimante" -#: xs/src/slic3r/GUI/Tab.cpp:767 -msgid "default filament profile" -msgstr "profil du filament par défaut" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Upload a firmware image into an Arduino based printer" +msgstr "Charger un firmware dans une imprimante basée sur un Arduino" -#: xs/src/libslic3r/PrintConfig.cpp:196 -msgid "Default filament profile" -msgstr "Profil de filament par défaut" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Taking configuration snapshot" +msgstr "Snapshot de la configuration en cours" -#: xs/src/libslic3r/PrintConfig.cpp:197 -msgid "Default filament profile associated with the current printer profile. On selection of the current printer profile, this filament profile will be activated." -msgstr "Profil de filament par défaut associé au profil d'imprimante courant. En sélectionnant le profil d'imprimante courant, ce profil de filament sera activé." +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Snapshot name" +msgstr "Nom du snapshot" -#: xs/src/slic3r/GUI/Tab.cpp:2287 xs/src/slic3r/GUI/Tab.cpp:2373 -msgid "Default presets" -msgstr "Préréglages par défaut" +#: src/slic3r/GUI/GUI_App.cpp:674 +msgid "Application will be restarted" +msgstr "L'application va être redémarrée" -#: xs/src/libslic3r/PrintConfig.cpp:202 -msgid "Default print profile" -msgstr "Profil de filament par défaut" +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 +msgid "Attention!" +msgstr "Attention !" -#: xs/src/slic3r/GUI/Tab.cpp:764 -msgid "default print profile" -msgstr "profil d'impression par défaut" +#: src/slic3r/GUI/GUI_App.cpp:691 +msgid "&Configuration" +msgstr "&Configuration" -#: xs/src/libslic3r/PrintConfig.cpp:203 -msgid "Default print profile associated with the current printer profile. On selection of the current printer profile, this print profile will be activated." -msgstr "Profil de filament par défaut associé au profil d'imprimante courant. En sélectionnant le profil d'imprimante courant, ce profil de filament sera activé." +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "You have unsaved changes " +msgstr "Les modifications n'ont pas été sauvegardées " -#: xs/src/libslic3r/PrintConfig.cpp:1849 -msgid "degrees" -msgstr "degrés" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid ". Discard changes and continue anyway?" +msgstr ". Annuler les changements et continuer malgré tout ?" -#: xs/src/libslic3r/PrintConfig.cpp:476 -msgid "Delay after unloading" -msgstr "Délai après le déchargement" +#: src/slic3r/GUI/GUI_App.cpp:712 +msgid "Unsaved Presets" +msgstr "Préréglages Non Sauvegardés" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:178 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:196 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Delete" -msgstr "Supprimer" +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "Couches et Périmètres" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "delete" -msgstr "supprimer" +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "Remplissage" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:179 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:197 -msgid "Delete All" -msgstr "Tout Supprimer" +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "Support" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:51 -msgid "Delete this preset" -msgstr "Supprimer ce préréglage" +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "Vitesse" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:440 -msgid "Density" -msgstr "Densité" +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "Extrudeurs" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:503 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." -msgstr "Densité du remplissage interne, exprimée en pourcentage de 0% à 100%." +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "Largeur d'Extrusion" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:507 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:867 -msgid "Dependencies" -msgstr "Dépendances" +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1142 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1143 -msgid "Deretraction Speed" -msgstr "Vitesse de Réinsertion" +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:940 -msgid "Detect bridging perimeters" -msgstr "Détecter les périmètres faisant des ponts" +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "Nom" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1584 -msgid "Detect single-width walls (parts where two extrusions don't fit and we need to collapse them into a single trace)." -msgstr "Détecter les parois de largeur unique (où deux extrusions côte à côte ne rentrent pas et doivent êtres fusionnées en un seul trait)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1582 -msgid "Detect thin walls" -msgstr "Détecter les parois fines" +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:66 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:431 -msgid "Diameter" -msgstr "Diamètre" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:67 -msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." -msgstr "Diamètre du plateau d'impression. Il est supposé que l'origine (0,0) est située au centre." +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1169 -msgid "Direction" -msgstr "Direction" +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:53 -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 "Désactiver la communication avec l'imprimante via un câble série / USB. Ceci simplifie l'interface utilisateur dans le cas où l'imprimante n'est jamais connectée à l'ordinateur." +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:180 -msgid "Disable fan for the first" -msgstr "Désactiver le ventilateur pour le(s) première(s)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:51 -msgid "Disable USB/serial connection" -msgstr "Désactiver la connexion USB/série" +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:916 -msgid "Disables retraction when the travel path does not exceed the upper layer's perimeters (and thus any ooze will be probably invisible)." -msgstr "Désactiver la rétraction lorsque le chemin de déplacement ne franchit pas les périmètres des couches supérieures (et donc les coulures seront probablement invisibles)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:198 -msgid "Distance between copies" -msgstr "Distance entre les copies" +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "Extrudeur" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1213 -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 "Distance entre le ou les objet(s) et la jupe. Mettez zéro pour attacher la jupe a(ux) objet(s) et obtenir une bordure pour une meilleure adhésion." +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1212 -msgid "Distance from object" -msgstr "Distance de l'objet" +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:58 -msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." -msgstr "Distance des coordonnées 0,0 du G-code depuis le coin avant gauche du rectangle." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:171 -msgid "Distance of the center-point of the cooling tube from the extruder tip " -msgstr "Distance entre le point central du tube de refroidissement et la pointe de l'extrudeur. " +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1032 -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 "Distance entre la pointe de l'extrudeur et la position où le filament est positionné en attente lorsqu'il est déchargé. Cela doit correspondre à la valeur dans le firmware de l'imprimante. " +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:199 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "Distance utilisée par la fonction d'agencement automatique du plateau." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 -msgid "Don't notify about new releases any more" -msgstr "Ne plus me notifier au sujet des nouvelles publications" +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:190 -msgid "Don't support bridges" -msgstr "Ne pas supporter les ponts" +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 -msgid "Downgrade" -msgstr "Rétrograder" +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:132 -msgid "Drag your objects here" -msgstr "Glissez vos objets ici" +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:207 -msgid "Elephant foot compensation" -msgstr "Compensation de l'effet patte d'éléphant" +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:806 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:922 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1695 -msgid "Enable" -msgstr "Activer" +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:163 -msgid "Enable auto cooling" -msgstr "Activer le refroidissement automatique" +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:394 -msgid "Enable fan if layer print time is below" -msgstr "Activer le ventilateur si le temps d'impression de la couche est inférieur à" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1381 -msgid "Enable support material generation." -msgstr "Activer la génération des supports." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:645 -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." -msgstr "Activez ceci pour obtenir un fichier G-code commenté, avec chaque ligne expliquée par un texte descriptif. Si vous imprimez depuis une carte SD, le poids supplémentaire du fichier pourrait ralentir le firmware de votre imprimante." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 +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." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1681 -msgid "Enable variable layer height feature" -msgstr "Activer la fonction de hauteur de couche variable" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:853 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1126 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:217 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:227 -msgid "End G-code" -msgstr "G-code de fin" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1431 -msgid "Enforce support for the first" -msgstr "Renforcer le support sur le(s) première(s)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1439 -msgid "Enforce support for the first n layers" -msgstr "Renforcer le support pour les n premières couches" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:238 -msgid "Ensure vertical shell thickness" -msgstr "S'assurer de l'épaisseur de la coque verticale" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 -msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." -msgstr "Entrez la température du lit nécessaire pour que votre filament colle à votre lit chauffant." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:441 -msgid "Enter the diameter of your filament." -msgstr "Entrez le diamètre de votre filament." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:428 -msgid "Enter the diameter of your printer's hot end nozzle." -msgstr "Entrez le diamètre de la buse de la tête d'impression de votre imprimante." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -msgid "Enter the new max size for the selected object:" -msgstr "Entrez la nouvelle taille maximale pour l'objet sélectionné :" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "The supplied name is not valid;" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1030 -#, perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" -msgstr "Entrez la nouvelle taille pour l'objet sélectionné (plateau d'impression : %s mm) :" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "the following characters are not allowed:" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Enter the number of copies of the selected object:" -msgstr "Entrez le nombre de copies de l'objet sélectionné :" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#, no-perl-format -msgid "Enter the scale % for the selected object:" -msgstr "Entrez l'échelle en % pour l'objet sélectionné :" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:479 -msgid "Enter the temperature needed for extruding your filament." -msgstr "Entrez la température nécessaire pour extruder votre filament." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:477 -msgid "Enter your filament cost per kg here. This is only for statistical information." -msgstr "Entrez le coût par Kg de votre filament. Ceci est uniquement pour l'information statistique." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:441 -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." -msgstr "Entrez ici la densité de votre filament. Ceci est uniquement pour des informations statistiques. Un bon moyen d'obtenir cette valeur est de peser un morceau de filament d'une longueur connue et de calculer le rapport de sa longueur par son poids. Le mieux est de calculer le volume directement par déplacement." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:432 -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 "Entrez le diamètre de votre filament ici. Une bonne précision est requise, utilisez un pied à coulisse et calculez la moyenne de plusieurs mesures le long du filament." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:488 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:470 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Error" -msgstr "Erreur" +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "Vue" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1612 -msgid "Error exporting 3MF file " -msgstr "Erreur d'export du fichier 3MF " +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "Type de fonctionnalité" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1596 -msgid "Error exporting AMF file " -msgstr "Erreur d'export du fichier AMF " +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "Hauteur" -#: xs/src/slic3r/Utils/OctoPrint.cpp:47 -msgid "Error while uploading to the OctoPrint server" -msgstr "Erreur lors du téléchargement vers le serveur OctoPrint" +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "Largeur" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:315 -msgid "Error! " -msgstr "Erreur ! " +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "Débit volumétrique" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:451 -msgid "Estimated printing time" -msgstr "Temps d'impression estimé" +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "Outil" -#: xs/src/slic3r/GUI/GUI.cpp:885 -msgid "Everywhere" -msgstr "Partout" +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:44 -#, c-format -msgid "except for the first %d layers" -msgstr "sauf pour les %d première couches" +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "Afficher" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:48 -msgid "except for the first layer" -msgstr "sauf pour la première couche" +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "Types de fonctionnalité" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 -msgid "Exit Slic3r" -msgstr "Quitter Slic3r" +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "Périmètre" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:192 -msgid "Experimental option for preventing support material from being generated under bridged areas." -msgstr "Option expérimentale pour empêcher la génération de support sous les ponts." +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "Périmètre externe" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:942 -msgid "Experimental option to adjust flow for overhangs (bridge flow will be used), to apply bridge speed to them and enable fan." -msgstr "Option expérimentale qui ajuste le flux pour les surplombs (le flux pour les ponts sera utilisé), leur applique la vitesse pour les ponts et active le ventilateur." +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "Périmètre en surplomb" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "Export all presets to file" -msgstr "Exporter tous les préréglage vers un fichier" +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "Remplissage interne" -#: lib/Slic3r/GUI/Plater.pm:1416 -msgid "Export cancelled" -msgstr "Exportation annulée" +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "Remplissage solide" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "Export current configuration to file" -msgstr "Exporter la configuration actuelle vers un fichier" +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "Remplissage solide supérieur" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export current plate as 3MF" -msgstr "Exporter le plateau courant en 3MF" +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "Remplissage du pont" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export current plate as AMF" -msgstr "Exporter le plateau courant en AMF" +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "Remplissage des trous" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export current plate as G-code" -msgstr "Exporter le plateau courant en G-code" +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "Jupe" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export current plate as STL" -msgstr "Exporter le plateau courant en STL" +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "Interface des supports" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1454 -msgid "Export failed" -msgstr "L'export a échoué" +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" +msgstr "Tour de nettoyage" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export G-code..." -msgstr "Exporter le G-code..." +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "Déplacement" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:236 -msgid "Export G-code…" -msgstr "Exporter le G-code…" +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "Rétractations" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export object as STL…" -msgstr "Exporter l'objet en STL…" +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "Dérétractation" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export plate as 3MF..." -msgstr "Exporter le plateau en 3MF..." +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "Coques" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export plate as AMF..." -msgstr "Exporter le plateau en AMF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export plate as STL..." -msgstr "Exporter le plateau en STL..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:950 -msgid "Export print config" -msgstr "Exporter la configuration d'impression" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:240 -msgid "Export STL…" -msgstr "Exporter le STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export this single object as STL file" -msgstr "Exporter cet unique objet en fichier STL" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:139 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:81 -msgid "External perimeter" -msgstr "Périmètre externe" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "Exporter le G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:267 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:277 -msgid "External perimeters" -msgstr "Périmètres externes" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:151 -msgid "external perimeters" -msgstr "périmètres externes" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:289 -msgid "External perimeters first" -msgstr "Périmètres externes en premier" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1126 -msgid "Extra length on restart" -msgstr "Longueur supplémentaire à la reprise" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:297 -msgid "Extra perimeters if needed" -msgstr "Périmètres supplémentaires si nécessaire" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "Répéter le dernier découpage rapide" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:795 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1234 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:307 -msgid "Extruder" -msgstr "Extrudeur" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "Sélectionner l'Onglet du Plateau" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1187 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:400 -#, c-format -msgid "Extruder %d" -msgstr "Extrudeur %d" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Extruder and Bed Temperatures" -msgstr "Températures de l'Extrudeur et du Lit" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "Sélectionner l'Onglet des Réglages d'Impression" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:224 -msgid "Extruder changed to" -msgstr "Extrudeur changé à" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "Sélectionner l'Onglet des Réglages du Filament" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:479 -msgid "Extruder clearance (mm)" -msgstr "Dégagement de l'extrudeur (mm)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "Sélectionner l'Onglet des Réglages de l'Imprimante" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:342 -msgid "Extruder Color" -msgstr "Couleur de l'extrudeur" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:350 -msgid "Extruder offset" -msgstr "Décalage de l'extrudeur" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:626 -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 "Température de l’extrudeur pour la première couche. Si vous voulez contrôler manuellement la température au cours de l’impression, mettez à zéro pour désactiver les commandes de contrôle de température dans le fichier de sortie." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1573 -msgid "Extruder temperature for layers after the first one. Set this to zero to disable temperature control commands in the output." -msgstr "Température de l'extrudeur pour les couches après la première. Mettez zéro pour désactiver les commandes de contrôle de la température dans le fichier de sortie." - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:431 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:308 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:702 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:958 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1445 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1471 -msgid "Extruders" -msgstr "Extrudeurs" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "Préférences" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:360 -msgid "Extrusion axis" -msgstr "Axe d'extrusion" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:367 -msgid "Extrusion multiplier" -msgstr "Multiplicateur d'extrusion" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:483 -msgid "Extrusion Temperature:" -msgstr "Température d'Extrusion :" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:268 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:377 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:592 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:710 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:967 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1292 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1454 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1614 -msgid "Extrusion Width" -msgstr "Largeur d'Extrusion" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:453 -msgid "Extrusion width" -msgstr "Largeur d'extrusion" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:410 -msgid "Facets" -msgstr "Faces" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:36 -msgid "Fan " -msgstr "Ventilateur " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:817 -msgid "Fan settings" -msgstr "Réglages du ventilateur" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "Agencer" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:818 -msgid "Fan speed" -msgstr "Vitesse du ventilateur" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:330 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:68 -msgid "Feature type" -msgstr "Type de fonctionnalité" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:78 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:79 -msgid "Feature types" -msgstr "Types de fonctionnalité" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "Tout Supprimer" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:183 -msgid "Fewer" -msgstr "Moins" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:786 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:787 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:368 -msgid "Filament" -msgstr "Filament" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Filament and Nozzle Diameters" -msgstr "Diamètres du Filament et de la Buse" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 -msgid "Filament Diameter:" -msgstr "Diamètre du Filament :" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:412 -msgid "Filament notes" -msgstr "Notes du filament" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1031 -msgid "Filament parking position" -msgstr "Position d'attente du filament" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:832 -msgid "Filament properties" -msgstr "Propriétés du filament" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:202 -msgid "Filament Settings" -msgstr "Réglages du filament" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:450 -msgid "Filament type" -msgstr "Type de filament" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 -msgid "filaments" -msgstr "filaments" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1445 -msgid "File added to print queue" -msgstr "Fichier ajouté à la file d'impression" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:475 -msgid "File Not Found" -msgstr "Fichier non trouvé" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:487 -msgid "Fill angle" -msgstr "Angle du remplissage" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:501 -msgid "Fill density" -msgstr "Densité du remplissage" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:539 -msgid "Fill pattern" -msgstr "Motif de remplissage" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:541 -msgid "Fill pattern for general low-density infill." -msgstr "Motif pour les remplissages de faible densité." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:248 -msgid "Fill pattern for top/bottom infill. This only affects the external visible layer, and not its adjacent solid shells." -msgstr "Motif pour les remplissages supérieurs/inférieurs. Ceci affecte seulement la couche externe visible, et non les coques solides adjacentes." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 -msgid "Finished" -msgstr "Terminé" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1110 -msgid "Firmware" -msgstr "Firmware" +#: src/slic3r/GUI/MainFrame.cpp:53 +msgid "" +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +msgstr "" +" - Pensez à vérifier les mises à jours sur http://github.com/prusa3d/slic3r/" +"releases" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:266 -msgid "Firmware flasher" -msgstr "Outil de flash du firmware" +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" +msgstr "Plateau" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:293 -msgid "Firmware image:" -msgstr "Image du firmware :" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "&Ouvrir" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1314 -msgid "Firmware Retraction" -msgstr "Rétraction du Firmware" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:356 -msgid "Firmware Type" -msgstr "Type de Firmware" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:573 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:582 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:591 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:625 -msgid "First layer" -msgstr "Première couche" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:603 -msgid "First layer height" -msgstr "Hauteur de la première couche" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:615 -msgid "First layer speed" -msgstr "Vitesse de la première couche" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "First layer volumetric" -msgstr "Volume de la première couche" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Flash printer firmware" -msgstr "Flasher le firmware de l'imprimante" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:84 -msgid "Flash!" -msgstr "Flash !" +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:147 -msgid "Flashing cancelled." -msgstr "Processus de flash annulé." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "Charger le fichier de configuration exporté" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:146 -msgid "Flashing failed. Please see the avrdude log below." -msgstr "Le processus de flash a échoué. Veuillez consulter le journal avrdude ci-dessous." +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:123 -msgid "Flashing in progress. Please do not disconnect the printer!" -msgstr "Processus de flash en cours. Veuillez ne pas déconnecter l'imprimante !" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:145 -msgid "Flashing succeeded!" -msgstr "Flash effectué avec succès !" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:466 -msgid "Flow" -msgstr "Flux" - -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 -msgid "For more information please visit our wiki page:" -msgstr "Pour plus d'informations, merci de visiter notre page wiki :" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "Charger les préréglages à partir d'un lot" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:599 -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?" +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" 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.\n" -"\n" -"Dois-je synchroniser les couches de support pour pouvoir activer la tour de nettoyage ?" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1264 -msgid "Force solid infill for regions having a smaller area than the specified threshold." -msgstr "Forcer un remplissage solide pour les zones ayant une surface plus petite que la valeur indiquée." +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "Exporter le &G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:758 -msgid "Force the generation of solid shells between adjacent materials/volumes. Useful for multi-extruder prints with translucent materials or manual soluble support material." -msgstr "Force la génération de coques solides entre des volumes/matériaux adjacents. Utile pour des impressions multi-extrudeurs avec des matériaux translucides ou avec un support manuel soluble." +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "Exporter le plateau courant en G-code" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:260 -msgid "From" -msgstr "De" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "Exporter le plateau en &STL" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front" -msgstr "Avant" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "Exporter le plateau courant en STL" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front View" -msgstr "Vue Avant" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "Exporter le plateau en &AMF" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "G-code" -msgstr "G-code" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "Exporter le plateau courant en AMF" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1451 -msgid "G-code file exported to " -msgstr "Fichier G-code exporté vers " +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" +msgstr "Exporter la &configuration" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:652 -msgid "G-code flavor" -msgstr "Version du G-code" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "Exporter la configuration actuelle vers un fichier" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:444 -msgid "g/cm³" -msgstr "g/cm³" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:634 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:145 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:87 -msgid "Gap fill" -msgstr "Remplissage des trous" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "Exporter tous les préréglage vers un fichier" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:937 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:11 -msgid "General" -msgstr "Général" +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:875 -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." -msgstr "Nombre minimum de contours à générer afin de consommer la quantité de filament spécifiée sur la couche inférieure. Pour les machines multi-extrudeurs, ce minimum s'applique à chaque extrudeur." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1379 -msgid "Generate support material" -msgstr "Générer des supports" +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "Découper un fichier en G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1433 -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." -msgstr "Générer des supports pour le nombre de couches spécifié à partir du bas, que les supports normaux soient activés ou non et sans tenir compte de seuils d'inclinaison. Ceci est utile pour obtenir une meilleure adhésion pour des objets ayant une surface de contact très fine ou limitée sur le plateau." +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 -msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." -msgstr "Une bonne précision est requise, utilisez un pied à coulisse et calculez la moyenne de plusieurs mesures le long du filament." +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "Découper un fichier en G-code, enregistrer sous" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:583 -msgid "Heated build plate temperature for the first layer. Set this to zero to disable bed temperature control commands in the output." -msgstr "Température du plateau chauffant pour la première couche. Mettez ceci à zéro pour désactiver les commandes de contrôle de température du plateau dans la sortie." +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:320 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:69 -msgid "Height" -msgstr "Hauteur" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "(Re)Découper mai&ntenant" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:332 -msgid "Height (mm)" -msgstr "Hauteur (mm)" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "Démarrer un nouveau processus de découpe" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1222 -msgid "Height of skirt expressed in layers. Set this to a tall value to use skirt as a shield against drafts." -msgstr "Hauteur de la jupe exprimée en couches. Mettez une valeur élevée pour utiliser la jupe comme un bouclier contre les flux d'airs." +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "&Réparer le fichier STL" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:213 -#, 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." -msgstr "Bonjour, bienvenu dans Slic3r Prusa Edition ! Ce %s vous aide à la configuration initiale ; juste quelques paramètres et vous serez prêt à imprimer." +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "Réparer automatiquement un fichier STL" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218 -msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." -msgstr "Ici vous pouvez ajuster le volume de purge nécessaire (mm³) pour une paire d'outils donnée." +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "&Quitter" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:329 -msgid "Horizontal shells" -msgstr "Coques horizontales" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "Quitter Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:128 -msgid "Horizontal width of the brim that will be printed around each object on the first layer." -msgstr "Largeur horizontale de la bordure qui sera imprimée autour de chaque objet sur la première couche." +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 -msgid "Hostname" -msgstr "Nom d'hôte" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:991 -msgid "Hostname, IP or URL" -msgstr "Nom d'hôte, IP ou URL" +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:113 -msgid "" -"Hover the cursor over buttons to find more information \n" -"or click this button." +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" msgstr "" -"Passez le curseur au dessus des boutons pour obtenir plus d'informations\n" -"ou cliquez sur ce bouton." -#: xs/src/slic3r/GUI/Tab.cpp:1612 -msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." -msgstr "Le fichier HTTPS CA est optionnel. Il est uniquement requis si vous utilisez le HTTPS avec un certificat auto-signé." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:275 xs/src/slic3r/GUI/Preferences.cpp:61 -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 application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done." -msgstr "Si activé, Slic3r vérifie en ligne l'existence de nouvelles versions de Slic3r PE. Lorsqu'une nouvelle version est disponible, une notification est affichée au démarrage suivant de l'application (jamais pendant l'utilisation du programme). Ceci est uniquement un mécanisme de notification, aucune installation automatique n'est faite." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:282 xs/src/slic3r/GUI/Preferences.cpp:69 -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 "Si activé, Slic3r télécharge les mises à jours des préréglages système intégrés en arrière-plan. Ces mises à jour sont téléchargées dans un répertoire temporaire séparé. Lorsqu'une nouvelle version de préréglages est disponible, elle est proposée au démarrage de l'application." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "L'Onglet du &Plateau" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:26 -#, 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 "Si le temps de couche estimé est inférieur à ~%d s, le ventilateur tournera à %d%% et la vitesse d'impression sera réduite pour qu'au moins %d s soient passées sur cette couche (cependant, la vitesse ne sera jamais réduite en-dessous de %d mm/s)." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "Afficher le plateau" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:616 -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." -msgstr "Si exprimée avec une valeur absolue en mm/s, cette vitesse sera appliquée à tous les déplacements d'impression de la première couche, quel que soit leur type. Si exprimée comme un pourcentage (par exemple 40%), cela modulera la vitesse par défaut." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "L'Onglet des Réglages d'&Impression" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:395 -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." -msgstr "Si le temps d'impression estimé de la couche est inférieur à ce nombre de secondes, le ventilateur sera activé et sa vitesse calculée par interpolation des vitesses minimum et maximum." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "Afficher les réglages d'impression" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1240 -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 "Si le temps d'impression estimé de la couche est inférieur à ce nombre de secondes, la vitesse des déplacements d'impression sera réduite afin d'atteindre cette valeur." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" +msgstr "L'Onglet des Réglages du &Filament" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:388 -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." -msgstr "Si ceci est activé, le ventilateur ne sera jamais désactivé et sera maintenu au moins à sa vitesse minimum. Utile pour le PLA, mais risqué pour l'ABS." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "Afficher les réglages de filament" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:37 -msgid "If this is enabled, Slic3r will auto-center objects around the print bed center." -msgstr "Si ceci est activé, Slic3r centrera automatique les objets autour du centre du plateau d'impression." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" +msgstr "L'Onglet des Réglages de l'Impri&mante" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:45 -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." -msgstr "Si ceci est activé, Slic3r va pré-calculer les objets dès qu'ils sont chargés pour gagner du temps lors de l'export du G-code." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "Afficher les réglages de l'imprimante" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:29 -msgid "If this is enabled, Slic3r will prompt the last output directory instead of the one containing the input files." -msgstr "Si ceci est activé, Slic3r affichera le dernier répertoire de sortie au lieu de celui contenant les fichiers d'entrée." +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:77 -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 "Si vous avez des soucis de rendu causés par un driver OpenGL 2.0 bogué, vous pouvez essayer de cocher cette case. Ceci désactivera l'édition de la hauteur de couche et l'anti-aliasing, vous avez donc intérêt à mettre à jour vos drivers graphiques." +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1091 -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 "Si vous indiquez une valeur positive, l'axe Z est rapidement élevé à chaque rétraction. Lorsque vous utilisez plusieurs extrudeurs, seul le réglage du premier extrudeur sera pris en compte." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1101 -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 "Si vous indiquez une valeur positive, le levage de l'axe Z ne sera déclenché qu'à partir de la valeur absolue indiquée pour l'axe Z. Vous pouvez modifier ce réglage pour éviter le levage de l'axe Z sur les premières couches." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1110 -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 "Si vous indiquez une valeur positive, le levage de l'axe Z ne sera déclenché que jusqu'à la valeur absolue indiquée pour l'axe Z. Vous pouvez modifier ce réglage pour limiter le levage de l'axe Z aux premières couches." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:451 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1002 -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." -msgstr "Si vous voulez traiter le G-code de sortie à l'aide de scripts personnalisés, listez simplement leurs chemins absolus ici. Séparez les divers scripts avec un point virgule. Les scripts vont recevoir en premier argument le chemin absolu du fichier G-code, et ils peuvent accéder aux réglages de configuration de Slic3r en lisant des variables d'environnement." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:351 -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)." -msgstr "Si le firmware de votre imprimante ne gère pas le décalage de l'extrudeur, c'est au G-code d'en tenir compte. Cette option vous permet de spécifier le décalage de chaque extrudeur par rapport au premier. Des valeurs positives sont attendues (elles seront soustraites des coordonnées XY)." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "&Isométrique" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1664 -msgid "If your firmware requires relative E values, check this, otherwise leave it unchecked. Most firmwares use absolute values." -msgstr "Si votre firmware requiert des valeurs relatives pour E, cochez cette case, sinon laissez-la décochée. La plupart des firmwares utilisent des valeurs absolues." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "Vue Isométrique" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 -msgid "Incompatible bundles:" -msgstr "Lots incompatibles :" +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "du Dess&us" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 -msgid "Incompatible with this Slic3r" -msgstr "Incompatible avec ce Slic3r" +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "Vue du Dessus" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Increase copies" -msgstr "Augmenter les copies" +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "du Dess&ous" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:346 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:347 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:664 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:87 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:247 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:488 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:502 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:540 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:681 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:691 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:709 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:746 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1263 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1280 -msgid "Infill" -msgstr "Remplissage" +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "Vue du Dessous" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:169 -msgid "infill" -msgstr "remplissage" +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "&Avant" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:720 -msgid "Infill before perimeters" -msgstr "Remplissage avant les périmètres" +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "Vue Avant" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:701 -msgid "Infill extruder" -msgstr "Extrudeur pour le remplissage" +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "A&rrière" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:735 -msgid "Infill/perimeters overlap" -msgstr "Chevauchement remplissage/périmètres" +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "Vue Arrière" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:398 -msgid "Info" -msgstr "Info" +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "&Gauche" -#: xs/src/libslic3r/PrintConfig.cpp:819 -msgid "Inherits profile" -msgstr "Hérite du profil" +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "Vue Gauche" -#: xs/src/slic3r/GUI/Field.cpp:111 -msgid "Input value is out of range" -msgstr "La valeur entrée est hors plage" +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "&Droite" -#: xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Inspect / activate configuration snapshots" -msgstr "Inspecter / activer les instantanés de configuration" +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "Vue Droite" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1479 -msgid "Interface layers" -msgstr "Couches d'interface" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "&Drivers Prusa 3D" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1463 -msgid "Interface loops" -msgstr "Boucles d'interface" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "" +"Ouvrir la page de téléchargement des drivers Prusa3D dans votre navigateur" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1488 -msgid "Interface pattern spacing" -msgstr "Espacement du motif d'interface" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "&Publication de la Prusa Edition" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:757 -msgid "Interface shells" -msgstr "Coques d'interface" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "" +"Ouvrir la page des publications de la Prusa Edition dans votre navigateur" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:141 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:83 -msgid "Internal infill" -msgstr "Remplissage interne" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "Site &Web de Slic3r" -#: xs/src/slic3r/Utils/OctoPrint.cpp:120 -msgid "Invalid API key" -msgstr "Clé API invalide" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "Ouvrir le site web de Slic3r dans votre navigateur" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -msgid "Invalid scaling value entered" -msgstr "Valeur de mise à l'échelle entrée invalide" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "&Manuel de Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso" -msgstr "Isométrique" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "Ouvrir la manuel de Slic3r dans votre navigateur" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso View" -msgstr "Vue Isométrique" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "&Informations sur le Système" -#: xs/src/slic3r/GUI/Tab.cpp:748 -msgid "It can't be deleted or modified. " -msgstr "Il ne peut être supprimé ou modifié. " +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "Afficher les informations système" -#: xs/src/slic3r/GUI/Tab.cpp:741 -msgid "It's a default preset." -msgstr "C'est un préréglage par défaut." +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "Afficher le Répertoire de &Configuration" -#: xs/src/slic3r/GUI/Tab.cpp:742 -msgid "It's a system preset." -msgstr "C'est un préréglage système." +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "Afficher le répertoire de configuration utilisateur (datadir)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1180 -msgid "Jitter" -msgstr "Gigue" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "Signaler un p&roblème" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:387 -msgid "Keep fan always on" -msgstr "Garder le ventilateur toujours actif" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "Signaler un problème sur la Prusa Edition de Slic3r" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Language" -msgstr "Langue" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "&A propos de Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:192 -msgid "Layer Editing" -msgstr "Édition de Couche" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "Afficher la boîte de dialogue à propos" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:207 -msgid "Layer editing" -msgstr "Édition de couche" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:314 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:777 -msgid "Layer height" -msgstr "Hauteur de couche" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1194 -msgid "Layer height limits" -msgstr "Limites de hauteur de couche" +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "&Fichier" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:183 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:694 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1033 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1224 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1285 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1437 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1482 -msgid "layers" -msgstr "couches" +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:157 -msgid "Layers" -msgstr "Couches" +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "Fe&nêtre" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:69 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:239 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:290 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:298 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:604 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:762 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:778 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:941 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:989 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1152 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1583 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1639 -msgid "Layers and Perimeters" -msgstr "Couches et Périmètres" +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "&Vue" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:313 -msgid "Layers and perimeters" -msgstr "Couches et périmètres" +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "&Aide" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left" -msgstr "Gauche" +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Choisir un fichier à découper (STL/OBJ/AMF/3MF/PRUSA) :" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left View" -msgstr "Vue Gauche" +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "Aucun fichier précédemment découpé." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1071 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1080 -msgid "Length" -msgstr "Longueur" +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "Erreur" -#: xs/src/libslic3r/PrintConfig.cpp:179 -msgid "Length of the cooling tube to limit space for cooling moves inside it " -msgstr "Longueur du tube de refroidissement pour limiter l'espace pour les déplacements de refroidissement à l'intérieur de celui-ci " +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "Fichier précédemment découpé (" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1090 -msgid "Lift Z" -msgstr "Levage de l'axe Z" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr ") non trouvé." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "Load exported configuration file" -msgstr "Charger le fichier de configuration exporté" +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "Fichier non trouvé" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "Load presets from a bundle" -msgstr "Charger les préréglages à partir d'un lot" +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "Enregistrer " -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:75 -msgid "Load shape from STL..." -msgstr "Charger une forme depuis un STL..." +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "SVG" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:692 -msgid "Loaded " -msgstr "Chargé " +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "G-code" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 -msgid "loaded" -msgstr "chargé" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:459 -msgid "Loading speed" -msgstr "Vitesse de chargement" +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -msgid "Loading…" -msgstr "Chargement…" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "Découpe en cours" -#: xs/src/slic3r/GUI/Tab.cpp:2481 -msgid "LOCKED LOCK icon indicates that the settings are the same as the system values for the current option group" -msgstr "L'icône VERROU VERROUILLE indique que les paramètres sont les mêmes que les valeurs système pour le groupe d'options en cours" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "Traitement " -#: xs/src/slic3r/GUI/Tab.cpp:2497 -msgid "LOCKED LOCK icon indicates that the value is the same as the system value." -msgstr "L'icône VERROU VERROUILLE indique que la valeur est la même que la valeur système." +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr " a été découpé avec succès." -#: xs/src/slic3r/GUI/Tab.cpp:2442 -msgid "LOCKED LOCK;indicates that the settings are the same as the system values for the current option group" -msgstr "VERROU VERROUILLE;indique que les paramètres sont les mêmes que les valeurs système pour le groupe d'options en cours" +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "Découpe Effectuée !" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1229 -msgid "Loops (minimum)" -msgstr "Boucles (minimum)" +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "Sélectionner le fichier STL à réparer :" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:412 -msgid "Manifold" -msgstr "Variété" +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "" +"Enregistrer le fichier OBJ (moins enclin aux erreurs de coordonnées que le " +"STL) sous :" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:411 -msgid "Materials" -msgstr "Matériaux" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "Votre fichier a été réparé." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:787 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:796 -msgid "Max" -msgstr "Maximum" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "Réparer" -#: xs/src/libslic3r/PrintConfig.cpp:876 -msgid "Max print height" -msgstr "Hauteur maximale d'impression" +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "Enregistrer la configuration sous :" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:807 -msgid "Max print speed" -msgstr "Vitesse d'impression maximale" +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "Sélectionner la configuration à charger :" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 -msgid "max slic3r version" -msgstr "version maximale de slic3r" +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "Enregistrer le lot de préréglages sous :" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:837 -msgid "Max volumetric slope negative" -msgstr "Pente volumétrique négative maximum" +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "%d préréglages importés avec succès." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:826 -msgid "Max volumetric slope positive" -msgstr "Pente volumétrique positive maximum" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "Erreur de Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:817 -msgid "Max volumetric speed" -msgstr "Vitesse volumétrique maximale" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "Slic3r a rencontré une erreur" -#: xs/src/libslic3r/PrintConfig.cpp:1854 -msgid "Maximal bridging distance" -msgstr "Distance maximale de pont" +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1855 -msgid "Maximal distance between supports on sparse infill sections. " -msgstr "Distance maximale entre les supports sur les sections de remplissage épars. " +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:422 -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." -msgstr "Vitesse volumétrique maximale autorisée pour ce filament. Limite la vitesse volumétrique d'une impression au minimum des vitesses volumétriques d'impression et de filament. Mettez à zéro pour enlever la limite." +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "Volume" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:848 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:857 -msgid "Min" -msgstr "Minimum" +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "Faces" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:866 -msgid "Min print speed" -msgstr "Vitesse d'impression minimale" +#: src/slic3r/GUI/Plater.cpp:128 +msgid "Materials" +msgstr "Matériaux" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 -msgid "min slic3r version" -msgstr "version minimale de slic3r" +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "Variété" -#: xs/src/libslic3r/PrintConfig.cpp:951 -msgid "Minimal filament extrusion length" -msgstr "Longueur minimale d'extrusion de filament" +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "Informations de découpage" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1040 -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." -msgstr "Résolution minimale pour les détails, utilisée pour simplifier le fichier d'entrée afin d'accélérer le découpage et de réduire l'utilisation de la mémoire. Les modèles haute-résolution possèdent souvent plus de détails que ce que les imprimantes peuvent produire. Mettez à zéro pour désactiver toute simplification et utiliser la résolution complète de l'entrée." +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "Filament Utilisé (m)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1050 -msgid "Minimum travel after retraction" -msgstr "Trajet minimal après une rétraction" +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "Filament Utilisé (mm³)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror" -msgstr "Symétrie" +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "Filament Utilisé (g)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror the selected object" -msgstr "Symétriser l'objet sélectionné" +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "Coût" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -msgid "Mirror the selected object along the X axis" -msgstr "Symétriser l'objet sélectionné selon l'axe X" +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "Temps d'impression estimé" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -msgid "Mirror the selected object along the Y axis" -msgstr "Symétriser l'objet sélectionné selon l'axe Y" +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -msgid "Mirror the selected object along the Z axis" -msgstr "Symétriser l'objet sélectionné selon l'axe Z" +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "Support" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:65 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:200 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:211 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:325 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:336 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:355 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:434 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:781 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:801 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:860 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:878 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:896 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1044 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1052 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1094 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1103 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1121 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1215 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1491 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1527 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1704 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1711 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1718 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1737 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1747 -msgid "mm" -msgstr "mm" +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "Choisissez le type de support dont vous avez besoin" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1075 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1085 -msgid "mm (zero to disable)" -msgstr "mm (zéro pour désactiver)" +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "Aucun" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:609 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:740 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1390 -msgid "mm or %" -msgstr "mm ou %" +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "Support sur le plateau uniquement" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:382 -msgid "mm or % (leave 0 for auto)" -msgstr "mm ou % (laissez à 0 pour le mode automatique)" +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "Partout" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:597 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:715 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:972 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1296 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1458 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1619 -msgid "mm or % (leave 0 for default)" -msgstr "mm ou % (laissez à 0 pour la valeur par défaut)" +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "Bordure" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:638 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:749 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:811 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:868 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:981 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1137 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1146 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1536 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1649 -msgid "mm/s" -msgstr "mm/s" +#: src/slic3r/GUI/Plater.cpp:381 +msgid "" +"This flag enables the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Cette option permet l'impression de la bordure qui entoure chaque objet lors " +"de la première couche." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:282 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:619 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1255 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1306 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1501 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1631 -msgid "mm/s or %" -msgstr "mm/s ou %" +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "Volumes de purge" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:80 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:174 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:576 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:684 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:952 -msgid "mm/s²" -msgstr "mm/s²" +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "Réglages d'impression" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1265 -msgid "mm²" -msgstr "mm²" +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "Filament" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:425 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:820 -msgid "mm³/s" -msgstr "mm³/s" +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:831 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:842 -msgid "mm³/s²" -msgstr "mm³/s²" +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "model" -msgstr "modèle" +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "Imprimante" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:414 -msgid "Modifiers" -msgstr "Modificateurs" +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "Envoyer à l'imprimante" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:478 -msgid "money/kg" -msgstr "€/kg" +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "Découper maintenant" + +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "%d (%d coques)" + +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "Réparé automatiquement (%d erreurs)" + +#: src/slic3r/GUI/Plater.cpp:795 +#, c-format +msgid "" +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " +"facets reversed, %d backwards edges" +msgstr "" +"%d faces invalides, %d arrêtes corrigées, %d faces retirées, %d faces " +"ajoutées, %d faces inversées, %d arrêtes à l'envers" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:182 -msgid "More" -msgstr "Plus" +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" +msgstr "Oui" + +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1696 -msgid "Multi material printers may need to prime or purge extruders on tool changes. Extrude the excess material into the wipe tower." -msgstr "Les imprimantes multi-matériaux peuvent avoir besoin de préparer ou de purger leurs extrudeurs lors d'un changement d'outil. Extruder le matériau en excès dans la tour de nettoyage." +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "Chargement" + +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "Traitement du fichier d'entrée %s\n" + +#: src/slic3r/GUI/Plater.cpp:1366 +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 "" +"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?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:666 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:683 +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 msgid "Multi-part object detected" msgstr "Objet multi-pièces détecté" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:430 -msgid "Multiple Extruders" -msgstr "Extrudeurs Multiples" +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:680 +#: src/slic3r/GUI/Plater.cpp:1408 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" @@ -2182,2291 +2136,4969 @@ msgstr "" "Au lieu de les considérer comme plusieurs objets, dois-je considérer\n" "ces fichiers comment représentant un objets ayant plusieurs pièces ?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:220 -msgid "Name" -msgstr "Nom" +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "Chargé" -#: xs/src/libslic3r/PrintConfig.cpp:1126 -msgid "Name of the printer variant. For example, the printer variants may be differentiated by a nozzle diameter." -msgstr "Nom de la variante d'imprimante. Par exemple, la variante d'imprimante peut être différenciée par un diamètre de buse." +#: src/slic3r/GUI/Plater.cpp:1492 +msgid "" +"Your object appears to be too large, so it was automatically scaled down to " +"fit your print bed." +msgstr "" +"Votre objet semble être trop grand, il a donc été automatiquement réduit " +"afin de l'adapter à votre plateau d'impression." -#: xs/src/libslic3r/PrintConfig.cpp:1121 -msgid "Name of the printer vendor." -msgstr "Nom du fabriquant de l'imprimante." +#: src/slic3r/GUI/Plater.cpp:1493 +msgid "Object too large?" +msgstr "Objet trop grand ?" -#: xs/src/libslic3r/PrintConfig.cpp:820 -msgid "Name of the profile, from which this profile inherits." -msgstr "Nom du profil, duquel hérite ce profil." +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "Exporter la configuration d'impression" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 -msgid "Network lookup" -msgstr "Recherche réseau" +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "New version of Slic3r PE is available" -msgstr "Une nouvelle version de Slic3r PE est disponible" +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 -msgid "New version:" -msgstr "Nouvelle version :" +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:469 -msgid "No previously sliced file." -msgstr "Aucun fichier précédemment découpé." +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:28 -msgid "NO RAMMING AT ALL" -msgstr "PAS D'EXPULSION DU TOUT" +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:137 -msgid "None" -msgstr "Aucun" +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "Note : une version d'Octoprint supérieure ou égale à 1.1.0 est requise." - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:500 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:501 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:859 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:860 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1156 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1157 -msgid "Notes" -msgstr "Notes" +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:493 -msgid "Notice" -msgstr "Remarque" +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:85 -msgid "nozzle" -msgstr "buse" +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "" +"The selected object can't be split because it contains more than one volume/" +"material." +msgstr "" +"L'objet sélectionné ne peut être scindé car il contient plus d'un volume/" +"matériau." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:894 -msgid "Nozzle diameter" -msgstr "Diamètre de la buse" +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "Annulation" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:431 -msgid "Nozzle Diameter:" -msgstr "Diamètre de la Buse :" +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "Une autre tâche d'export est actuellement en cours." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:967 -msgid "Number of extruders of the printer." -msgstr "Nombre d'extrudeurs de l'imprimante." +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "L'export a échoué" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1481 -msgid "Number of interface layers to insert between the object(s) and support material." -msgstr "Nombre de couches d'interface à insérer entre le(s) objet(s) et les supports." +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1231 -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 "Nombre de boucles pour la jupe. Si la Longueur Minimale d'Extrusion est paramétrée, le nombre de boucles minimal sera plus grand que celui configuré ici. Mettez à zéro pour désactiver complètement la jupe." +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "Supprimer" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:70 -msgid "Number of solid layers to generate on bottom surfaces." -msgstr "Nombre de couches solides à générer sur les surfaces inférieures." +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "Retirer l'objet sélectionné" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1315 -msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "Nombre de couches solides à générer sur les surfaces supérieures et inférieures." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "Augmenter les copies" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1640 -msgid "Number of solid layers to generate on top surfaces." -msgstr "Nombre de couches solides à générer sur les surfaces supérieures." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "Placer une copie supplémentaire de l'objet sélectionné" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:745 -msgid "Object too large?" -msgstr "Objet trop grand ?" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "Réduire les copies" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1032 -msgid "OctoPrint upload" -msgstr "Envoi vers OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "Retirer une copie de l'objet sélectionné" -#: lib/Slic3r/GUI/Plater.pm:1511 -msgid "OctoPrint upload finished." -msgstr "Envoi vers OctoPrint terminé." +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "Choisir le nombre de copies" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 -msgid "OctoPrint version" -msgstr "Version d'OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "Changer le nombre de copies de l'objet sélectionné" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1410 -msgid "Only create support if it lies on a build plate. Don't create support on a print." -msgstr "Créer uniquement des supports reposant sur le plateau. Ne pas créer pas de supports sur une impression." +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "Recharger depuis le Disque" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:726 -msgid "Only infill where needed" -msgstr "Remplissage seulement où cela est nécessaire" +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "Recharger le fichier sélectionné depuis le Disque" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1205 -msgid "Only lift Z" -msgstr "Lever Z seulement" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1100 -msgid "Only lift Z above" -msgstr "Lever Z seulement au-dessus de" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "Exporter cet unique objet en fichier STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1109 -msgid "Only lift Z below" -msgstr "Lever Z seulement en-dessous de" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "Symétriser l'objet sélectionné selon l'axe X" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "Symétriser l'objet sélectionné selon l'axe Y" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "Symétriser l'objet sélectionné selon l'axe Z" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "Symétrie" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "Symétriser l'objet sélectionné" + +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "Scinder" + +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" +msgstr "Sauvegarder le fichier G-code en tant que :" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" +msgstr "Fichier STL exporté vers %s" + +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" +msgstr "Fichier AMF exporté vers %s" + +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" +msgstr "Erreur d'export du fichier AMF %s" + +#: src/slic3r/GUI/Plater.cpp:2891 +#, c-format +msgid "3MF file exported to %s" +msgstr "Fichier 3MF exporté vers %s" + +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "Général" + +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "Se souvenir du répertoire de sortie" + +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "" +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." +msgstr "" +"Si ceci est activé, Slic3r affichera le dernier répertoire de sortie au lieu " +"de celui contenant les fichiers d'entrée." + +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "Centrer automatiquement les pièces" + +#: src/slic3r/GUI/Preferences.cpp:44 +msgid "" +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." +msgstr "" +"Si ceci est activé, Slic3r centrera automatique les objets autour du centre " +"du plateau d'impression." + +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "Tâche en arrière plan" + +#: src/slic3r/GUI/Preferences.cpp:52 +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." +msgstr "" +"Si ceci est activé, Slic3r va pré-calculer les objets dès qu'ils sont " +"chargés pour gagner du temps lors de l'export du G-code." + +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "Supprimer les préréglages \" - par défaut - \"" + +#: src/slic3r/GUI/Preferences.cpp:76 +msgid "" +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." +msgstr "" +"Supprimer les préréglages \" - par défaut - \" dans les choix Impression / " +"Filament / Imprimante une fois qu'il y a d'autres préréglages valides " +"disponibles." + +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "Afficher les préréglages d'impression et de filament incompatibles" + +#: src/slic3r/GUI/Preferences.cpp:84 +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 "" +"Lorsqu'ils sont sélectionnés, les préréglages de l'imprimante et du filament " +"sont visibles dans l'éditeur de préréglage même s'ils sont désignés comme " +"incompatibles avec l'imprimante en cours d'utilisation" + +#: src/slic3r/GUI/Preferences.cpp:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "Utiliser le rendu de legacy OpenGL 1.1" + +#: src/slic3r/GUI/Preferences.cpp:92 +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 "" +"Si vous avez des soucis de rendu causés par un driver OpenGL 2.0 bogué, vous " +"pouvez essayer de cocher cette case. Ceci désactivera l'édition de la " +"hauteur de couche et l'anti-aliasing, vous avez donc intérêt à mettre à jour " +"vos drivers graphiques." + +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "" +"Vous devez redémarrer Slic3r afin que les modifications soient appliquées." + +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "" + +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "Préréglages système" + +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "Préréglages utilisateur" + +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" +msgstr "" + +#: 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 "" +"Si le temps de couche estimé est inférieur à ~%d s, le ventilateur tournera " +"à %d%% et la vitesse d'impression sera réduite pour qu'au moins %d s soient " +"passées sur cette couche (cependant, la vitesse ne sera jamais réduite en-" +"dessous de %d mm/s)." + +#: 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%%." +msgstr "" +"\n" +"Si le temps estimé pour la couche est supérieur, mais cependant inférieur à ~" +"%ds, le ventilateur tournera à une vitesse proportionnellement décroissante " +"entre %d%% et %d%%." + +#: src/slic3r/GUI/PresetHints.cpp:36 +msgid "" +"\n" +"During the other layers, fan " +msgstr "" +"\n" +"Pendant les autres couches, le ventilateur " + +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "Ventilateur " + +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "fonctionnera toujours à %d%% " + +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "sauf pour les %d première couches" + +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "sauf pour la première couche" + +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "sera désactivé." + +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "périmètres externes" + +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" +msgstr "périmètres" + +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "remplissage" + +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "remplissage solide" + +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "remplissage solide supérieur" + +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "support" + +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "interface du support" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "Volume de la première couche" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "Volumétrie des ponts" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "Volumétrique" + +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr " le débit est maximisé " + +#: src/slic3r/GUI/PresetHints.cpp:220 +msgid "by the print profile maximum" +msgstr "par le maximum du profil de l'imprimante" + +#: src/slic3r/GUI/PresetHints.cpp:221 +msgid "when printing " +msgstr "pendant l'impression des " + +#: src/slic3r/GUI/PresetHints.cpp:222 +msgid " with a volumetric rate " +msgstr " avec un débit volumétrique " + +#: src/slic3r/GUI/PresetHints.cpp:226 +#, c-format +msgid "%3.2f mm³/s" +msgstr "%3.2f mm³/s" + +#: src/slic3r/GUI/PresetHints.cpp:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr " à une vitesse de filament de %3.2f mm/s." + +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." +msgstr "" +"Épaisseur des parois fines de l'objet recommandée : Non disponible car la " +"hauteur de couche est invalide." + +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "" +"Épaisseur des parois fines de l'objet recommandée pour la hauteur de couche " +"%.2f et " + +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "%d lignes : %.2lf mm" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" +msgstr "PAS D'EXPULSION DU TOUT" + +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" +msgstr "Durée" + +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "s" + +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "Vitesse volumétrique" + +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "Imprimantes compatibles" + +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "Sélectionner les imprimantes avec lesquelles ce profil est compatible." + +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "Enregistrer l'état actuel " + +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "Supprimer ce préréglage" + +#: src/slic3r/GUI/Tab.cpp:131 +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/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "C'est un préréglage par défaut." + +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "C'est un préréglage système." + +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "Le préréglage en cours a hérité de " + +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " +msgstr "Il ne peut être supprimé ou modifié. " + +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "" +"Toute modification doit être enregistrée comme un nouveau préréglage hérité " +"de celui-ci. " + +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "Pour faire cela veuillez spécifier un nouveau nom pour le préréglage." + +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "Informations complémentaires :" + +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" +msgstr "modèle de l'imprimante" + +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" +msgstr "profil d'impression par défaut" + +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" +msgstr "profil du filament par défaut" + +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "Couches et périmètres" + +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "Hauteur de couche" + +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "Parois verticales" + +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "Coques horizontales" + +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "Couches solides" + +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "Qualité (découpage plus lent)" + +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "Réduction du temps d'impression" + +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "Jupe et bordure" + +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "Radeau" + +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "Options pour le matériau de support et le radeau" + +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "Vitesse pour les déplacements d'impression" + +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "Vitesse pour les déplacements sans impression" + +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "Modificateurs" + +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "Contrôle de l'accélération (avancé)" + +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "Vitesse automatique (avancé)" + +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "Extrudeurs Multiples" + +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "Prévention des coulures" + +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "Largeur d'extrusion" + +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "Chevauchement" + +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "Flux" + +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "Autre" + +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "Options de sortie" + +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "Impression séquentielle" + +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "Dégagement de l'extrudeur (mm)" + +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "Fichier de sortie" + +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "Scripts de post-traitement" + +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "Notes" + +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "Dépendances" + +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "Dépendances du profil" + +#: src/slic3r/GUI/Tab.cpp:1161 +#, 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 "" +"Le mode Vase Spiral requiert :\n" +"-Un périmètre\n" +"-Pas de couches solides supérieures\n" +"-Une densité de remplissage de 0%\n" +"-Pas de supports\n" +"-Pas de ensure_vertical_shell_thickness\n" +"\n" +"Voulez-vous que je modifie ces réglages afin d'activer le Vase Spirale?" + +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "Vase Spiral" + +#: src/slic3r/GUI/Tab.cpp:1191 +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 "" +"A l'heure actuelle la Tour de Nettoyage ne tolère les supports non-" +"solubles \n" +"que s'ils sont imprimés avec l'extrudeur en cours d'utilisation sans " +"déclencher un changement d'outil.\n" +"(support_material_extruder de même que support_material_interface_extruder " +"doivent être réglés sur 0).\n" +"\n" +"Voulez-vous que je modifie ces réglages pour activer la Tour de Nettoyage ?" + +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "Tour de Nettoyage" + +#: src/slic3r/GUI/Tab.cpp:1209 +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 "" +"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.\n" +"\n" +"Dois-je synchroniser les couches de support pour pouvoir activer la tour de " +"nettoyage ?" + +#: src/slic3r/GUI/Tab.cpp:1227 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" +msgstr "" +"Les supports sont plus efficaces, si la fonctionnalité suivante est " +"activée :\n" +"-Détection des périmètres de pont\n" +"\n" +"Voulez-vous que que je modifie les réglages des supports ?" + +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "Générateur de Support" + +# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format +msgid "" +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" +msgstr "" +" le motif de remplissage n'est pas supposé fonctionner à une densité de " +"100%.\n" +"\n" +"Dois-je passer au motif de remplissage rectiligne ?" + +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "Température " + +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" +msgstr "Plateau" + +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "Refroidissement" + +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "Activer" + +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "Réglages du ventilateur" + +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "Vitesse du ventilateur" + +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "Seuils de refroidissement" + +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "Propriétés du filament" + +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "Contournement de la vitesse d'impression" + +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" +msgstr "" +"Paramètres de changement d'outil pour les imprimantes multi-matériaux mono-" +"extrudeur" + +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" +msgstr "Réglages de l'expulsion" + +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "G-code personnalisé" + +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "G-code de début" + +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "G-code de fin" + +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr " Parcourir " + +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "Test" + +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "Réussi !" + +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" +"Le fichier HTTPS CA est optionnel. Il est uniquement requis si vous utilisez " +"le HTTPS avec un certificat auto-signé." + +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "" +"Fichiers de certificat (*.crt, *.pem)|*.crt;*.pem|Tous les fichiers|*.*" + +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" +msgstr "Ouvrir le fichier de certificat CA" + +#: src/slic3r/GUI/Tab.cpp:1676 +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:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "Taille et coordonnées" + +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr " Appliquer " + +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "Fonctionnalités" + +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "Nombre d'extrudeurs de l'imprimante." + +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "Port USB/Série" + +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "Port série" + +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "Rescanner les ports série" + +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "La connexion avec l'imprimante fonctionne correctement." + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "La connexion a échoué." + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "G-Code avant changement de couche" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "G-Code après changement de couche" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "G-code de changement d'outil" + +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "Entre le G-code des objets (pour une impression séquentielle)" + +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" +msgstr "Réglage MM pour extrudeur unique" + +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" +msgstr "Paramètres multimatériaux pour extrudeur unique" + +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "Extrudeur %d" + +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "Limites de hauteur de couche" + +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "Position (pour les imprimantes multi-extrudeurs)" + +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "Rétraction" + +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "Lever Z seulement" + +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" +msgstr "" +"Rétractation lorsque l'outil est désactivé (réglages avancés pour les " +"configurations multi-extrudeurs)" + +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "Aperçu" + +#: src/slic3r/GUI/Tab.cpp:2284 +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/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" +msgstr "Rétraction du Firmware" + +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" +msgstr "Préréglages par défaut (%s)" + +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" +msgstr "a les changements suivants non-enregistrés :" + +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" +msgstr "n'est pas compatible avec l'imprimante" + +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" +msgstr "et il y a les changements non sauvegardés suivants :" + +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" +msgstr "Annuler les changements et continuer malgré tout ?" + +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "Changements Non Sauvegardés" + +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "Le nom proposé est vide. Sauvegarde impossible." + +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." +msgstr "Impossible d'écraser un profil système." + +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." +msgstr "Impossible d'écraser un profil externe." + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "retirer" + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "supprimer" + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "Êtes-vous sûr de vouloir " + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr " le préréglage sélectionné ?" + +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "Retirer" + +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr " Préréglage" + +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "Tous" + +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "" +"VERROU VERROUILLE;indique que les paramètres sont les mêmes que les valeurs " +"système pour le groupe d'options en cours" + +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." +msgstr "" +"CADENAS OUVERT;indique que certains paramètres ont été modifiés et ne sont " +"pas égaux aux valeurs du système 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." + +#: src/slic3r/GUI/Tab.cpp:2878 +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." +msgstr "" +"PUCE BLANCHE;pour le bouton gauche : indique un préréglage non-système, pour " +"le bouton droit : indique que le réglage n'a pas été modifié." + +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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 "" +"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 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/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" +msgstr "" +"L'icône VERROU VERROUILLE indique que les paramètres sont les mêmes que les " +"valeurs système pour le groupe d'options en cours" + +#: src/slic3r/GUI/Tab.cpp:2910 +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." +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 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." + +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "L'icône en forme de PUCE BLANCHE indique un préréglage non-système." + +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." +msgstr "" +"L'icône en forme de PUCE BLANCHE indique que les réglages sont identiques au " +"dernier préréglage sauvegardé pour le groupe d'options actuel." + +#: src/slic3r/GUI/Tab.cpp:2918 +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:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" +"L'icône VERROU VERROUILLE indique que la valeur est la même que la valeur " +"système." + +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" +"L'icône CADENAS OUVERT indique que la valeur a été changée et n'est pas " +"égale à la valeur du système.\n" +"Cliquez pour régler la valeur actuelle sur les valeurs du système." + +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" +"L'icône PUCE BLANCHE indique que la valeur est la même que pour le dernier " +"préréglage sauvegardé." + +#: src/slic3r/GUI/Tab.cpp:2932 +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é." + +# Used in this context: _("Save ") + title + _(" as:") +#: src/slic3r/GUI/Tab.cpp:3031 +msgid " as:" +msgstr " sous :" + +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "Le nom proposé n'est pas disponible." + +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "Couches" + +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "Réglages d'Impression" + +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "Réglages du filament" + +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "Réglages de l'Imprimante" + +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "Enregistrer le préréglage" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "Mise à jour disponible" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "Une nouvelle version de Slic3r PE est disponible" + +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "Pour télécharger, suivez le lien ci-dessous." + +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "Version actuelle :" + +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "Nouvelle version :" + +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "Ne plus me notifier au sujet des nouvelles publications" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "Mise à jour de la configuration" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "Une mise à jour de la configuration est disponible" + +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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 snapshot 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/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "Incompatibilité avec Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "La configuration de Slic3r n'est pas compatible" + +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" +"Cette version de Slic3r PE 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 " +"Slic3r PE après en avoir utilisé une nouvelle.\n" +"\n" +"Vous pouvez soit quitter Slic3r 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 Slic3r.\n" + +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" +msgstr "Version de ce Slic3r PE : %s" + +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "Lots incompatibles :" + +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "Quitter Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "Reconfigurer" + +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format +msgid "" +"Slic3r PE 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 "" +"Slic3r PE 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/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "Pour plus d'informations, merci de visiter notre page wiki :" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "Personnalisation de l'expulsion" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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:78 +msgid "Total ramming time" +msgstr "Durée totale de l'expulsion" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "Volume total expulsé" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "Largeur de la ligne d'expulsion" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "Espacement de la ligne de ramming" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "Tour de nettoyage - Ajustement du volume de purge" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "" +"Ici vous pouvez ajuster le volume de purge nécessaire (mm³) pour une paire " +"d'outils donnée." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "Extrudeur changé à" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "déchargé" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "chargé" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "Outil #" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" +"Le volume de purge total est calculé en additionnant les deux valeurs ci-" +"dessous, en fonction des outils qui sont chargés/déchargés." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "Volume à purger (mm³) lorsque le filament est" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "De" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +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/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "Afficher les réglages simplifiés" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "Afficher les réglages avancés" + +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "La connexion avec OctoPrint fonctionne correctement." + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "Impossible de se connecter à OctoPrint" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "" +"Note : une version d'Octoprint supérieure ou égale à 1.1.0 est requise." + +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "nécessite min. %s et max. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +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 "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" +msgstr "" + +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "" + +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "" + +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" + +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" + +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" + +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" + +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" + +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" + +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" + +#: src/libslic3r/Print.cpp:1255 +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:1257 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" +msgstr "" + +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" + +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" + +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "" + +#: src/libslic3r/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "" + +#: src/libslic3r/Print.cpp:1316 +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 "" + +#: src/libslic3r/Print.cpp:1324 +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:1328 +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 "" + +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "" + +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "Forme du plateau" + +#: src/libslic3r/PrintConfig.cpp:48 +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 "" +"Cette option contrôle l'épaisseur (et donc le nombre total) des couches. Des " +"couches plus fines donneront une meilleure précision mais l'impression sera " +"plus longue." + +#: src/libslic3r/PrintConfig.cpp:56 +msgid "Max print height" +msgstr "Hauteur maximale d'impression" + +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" +"Réglez cette valeur sur la hauteur maximum que peut atteindre votre " +"extrudeur au cours de l'impression." + +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "Éviter de traverser les périmètres" + +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" +"Optimiser les déplacements afin de minimiser le franchissement de " +"périmètres. Ceci est surtout utile avec les extruder Bowden qui sont sujets " +"aux coulures. Cette fonctionnalité ralentit l'impression et la génération du " +"G-code." + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "Autres couches" + +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" +"Température du plateau pour les couches après la première. Mettez ceci à " +"zéro pour désactiver les commandes de contrôle de température du plateau " +"dans la sortie." + +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "Température du plateau" + +#: src/libslic3r/PrintConfig.cpp:93 +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 "" +"Ce code personnalisé est inséré à chaque changement de couche, juste avant " +"le mouvement en Z. Notez que vous pouvez utiliser des variables génériques " +"pour tous les réglages de Slic3r de même que [layer_num] et [layer_z]." + +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "Entre le G-code des objets" + +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" +"Ce code est inséré entre des objets lorsque vous utilisez l'impression " +"séquentielle. Par défaut la température de l'extrudeur et du plateau est " +"réinitialisée et utilise la commande sans-attente ; toutefois si des " +"commandes M104, M109, M140 ou M190 sont détectées dans ce code personnalisé, " +"Slic3r n'ajoutera pas de commandes de température. Notez que vous pouvez " +"utiliser des variables génériques pour tous les réglages de Slic3r, donc " +"vous pouvez entrer une commande \"M109S[first_layer_temperature]\" où vous " +"le souhaitez." + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "Dessous" + +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "Nombre de couches solides à générer sur les surfaces inférieures." + +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "Couches solides inférieures" + +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "Pont" + +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "" +"L'accélération qui sera utilisée par votre imprimante pour les ponts. Régler " +"sur zéro pour désactiver l'accélération pour les ponts." + +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "mm/s²" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "Angle du pont" + +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" +"Contournement de l'angle du pont. Si laissé à zéro, l'angle du pont sera " +"calculé automatiquement. Sinon, l'angle fourni sera utilisé pour tous les " +"ponts. Utilisez 180° pour un angle nul." + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "°" + +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "Vitesse du ventilateur pour les ponts" + +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "" +"Cette vitesse de ventilateur sera utilisée pour les ponts et les surplombs." + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "%" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "Ratio de flux pour les ponts" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" +"Ce facteur affecte la quantité de plastique utilisée pour les ponts. Vous " +"pouvez le diminuer légèrement pour éviter l'affaissement. La valeur par " +"défaut est généralement suffisante et vous devriez expérimenter le " +"refroidissement (utiliser un ventilateur) avant de modifier ceci." + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "Ponts" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "Vitesse d'impression des ponts." + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "mm/s" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:915 -msgid "Only retract when crossing perimeters" -msgstr "Rétracter uniquement lors du franchissement de périmètres" +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "Largeur de la bordure" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:438 -msgid "Ooze prevention" -msgstr "Prévention des coulures" +#: src/libslic3r/PrintConfig.cpp:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Largeur horizontale de la bordure qui sera imprimée autour de chaque objet " +"sur la première couche." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:251 -msgid "Open a model" -msgstr "Ouvrir un modèle" +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "Dissocier les objets multi-pièces" -#: xs/src/slic3r/GUI/Tab.cpp:1598 -msgid "Open CA certificate file" -msgstr "Ouvrir le fichier de certificat CA" +#: src/libslic3r/PrintConfig.cpp:188 +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 "" +"Lorsque vous imprimez des objets multi-matériaux, ce réglage fera en sorte " +"que Slic3r rattache ensemble les parties de l'objet qui se superposent (la " +"2e partie sera rattachée à la 1ere, la 3e partie sera rattachée à la 1ere et " +"la 2e, etc...)." -#: lib/Slic3r/GUI/MainFrame.pm:194 -msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O" -msgstr "Ouvrir STL/OBJ/AMF/3MF…\tCtrl+O" +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Open the 3D cutting tool" -msgstr "Ouvrir l'outil de coupe 3D" +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Open the object editor dialog" -msgstr "Ouvrir la boîte de dialogue d'édition d'objet" +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "Condition de compatibilité des imprimantes" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "Ouvrir la page des publications de la Prusa Edition dans votre navigateur" +#: src/libslic3r/PrintConfig.cpp:208 +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 "" +"Une expression booléenne utilisant les valeurs de configuration d'un profil " +"d'imprimante actif. Si cette expression est évaluée comme vraie, ce profil " +"est considéré comme compatible avec le profil d'imprimante actif." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Open the Prusa3D drivers download page in your browser" -msgstr "Ouvrir la page de téléchargement des drivers Prusa3D dans votre navigateur" +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Open the Slic3r manual in your browser" -msgstr "Ouvrir la manuel de Slic3r dans votre navigateur" +#: src/libslic3r/PrintConfig.cpp:221 +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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Open the Slic3r website in your browser" -msgstr "Ouvrir le site web de Slic3r dans votre navigateur" +#: src/libslic3r/PrintConfig.cpp:235 +msgid "Complete individual objects" +msgstr "Compléter les objets individuels" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:27 -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." -msgstr "Optimiser les déplacements afin de minimiser le franchissement de périmètres. Ceci est surtout utile avec les extruder Bowden qui sont sujets aux coulures. Cette fonctionnalité ralentit l'impression et la génération du G-code." +#: src/libslic3r/PrintConfig.cpp:236 +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 "" +"Lorsque vous imprimez plusieurs objets ou copies, ce réglage permet de " +"terminer un objet avant de passer au suivant (en repartant de sa première " +"couche). Cette fonction est utile pour éviter les risques d'impressions " +"gâchées. Slic3r doit vous avertir et éviter les collisions entre les objets " +"et l'extrudeur, mais soyez vigilant." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:384 -msgid "Options for support material and raft" -msgstr "Options pour le matériau de support et le radeau" +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "Activer le refroidissement automatique" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:57 -msgid "Origin" -msgstr "Origine" +#: src/libslic3r/PrintConfig.cpp:246 +msgid "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." +msgstr "" +"Cette option active la logique de refroidissement automatique, qui ajuste la " +"vitesse d'impression et celle du ventilateur en fonction du temps " +"d'impression de la couche." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:469 -msgid "Other" -msgstr "Autre" +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "Position du tube de refroidissement" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:38 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1572 -msgid "Other layers" -msgstr "Autres couches" +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "" +"Distance entre le point central du tube de refroidissement et la pointe de " +"l'extrudeur. " -#: xs/src/slic3r/GUI/ConfigWizard.cpp:295 -msgid "Other Vendors" -msgstr "Autres Fabriquants" +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "Longueur du tube de refroidissement" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:238 -msgid "Other vendors" -msgstr "Autres fabriquants" +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "" +"Longueur du tube de refroidissement pour limiter l'espace pour les " +"déplacements de refroidissement à l'intérieur de celui-ci " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:488 -msgid "Output file" -msgstr "Fichier de sortie" +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" +"Accélération à laquelle votre imprimante sera réinitialisée suite à une " +"modification de l'accélération des fonctions spécifiques (périmètre/" +"remplissage). Régler sur zéro pour ne pas réinitialiser l'accélération." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:930 -msgid "Output filename format" -msgstr "Format du nom de fichier de sortie" +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "Profil de filament par défaut" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:476 -msgid "Output options" -msgstr "Options de sortie" +#: src/libslic3r/PrintConfig.cpp:282 +msgid "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." +msgstr "" +"Profil de filament par défaut associé au profil d'imprimante courant. En " +"sélectionnant le profil d'imprimante courant, ce profil de filament sera " +"activé." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:140 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:82 -msgid "Overhang perimeter" -msgstr "Périmètre en surplomb" +#: src/libslic3r/PrintConfig.cpp:287 +msgid "Default print profile" +msgstr "Profil de filament par défaut" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1550 -msgid "Overhang threshold" -msgstr "Seuil de surplomb" +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +msgid "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." +msgstr "" +"Profil de filament par défaut associé au profil d'imprimante courant. En " +"sélectionnant le profil d'imprimante courant, ce profil de filament sera " +"activé." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:463 -msgid "Overlap" -msgstr "Chevauchement" +#: src/libslic3r/PrintConfig.cpp:293 +msgid "Disable fan for the first" +msgstr "Désactiver le ventilateur pour le(s) première(s)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1508 -msgid "Pattern" -msgstr "Motif" +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" +"Vous pouvez régler ce paramètre sur une valeur positive pour désactiver " +"complètement le ventilateur pendant les premières couches, afin de ne pas " +"rendre l'adhérence plus difficile." + +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "couches" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1398 -msgid "Pattern angle" -msgstr "Angle du motif" +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "Ne pas supporter les ponts" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1524 -msgid "Pattern spacing" -msgstr "Espacement du motif" +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "" +"Option expérimentale pour empêcher la génération de support sous les ponts." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1510 -msgid "Pattern used to generate support material." -msgstr "Motif utilisé pour générer les supports." +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "Distance entre les copies" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:138 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:80 -msgid "Perimeter" -msgstr "Périmètre" +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "Distance utilisée par la fonction d'agencement automatique du plateau." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:957 -msgid "Perimeter extruder" -msgstr "Extrudeur pour les périmètres" +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "Compensation de l'effet patte d'éléphant" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:948 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:978 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:988 -msgid "Perimeters" -msgstr "Périmètres" +#: src/libslic3r/PrintConfig.cpp:324 +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 "" +"La première couche sera réduite sur le plan XY selon la valeur configurée " +"afin de compenser l'écrasement de la première couche également connu sous le " +"nom d'effet Pied d'Éléphant." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:160 -msgid "perimeters" -msgstr "périmètres" +#: src/libslic3r/PrintConfig.cpp:334 +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 "" +"Cette procédure de fin est insérée à la fin du fichier de sortie. Notez que " +"vous pouvez utiliser des variables génériques pour tous les réglages de " +"Slic3r." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 -msgid "Pick another vendor supported by Slic3r PE:" -msgstr "Choisissez un autre fabriquant supporté par Slic3r PE :" +#: src/libslic3r/PrintConfig.cpp:345 +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 "" +"Cette procédure de fin est insérée à la fin du fichier de sortie, avant le " +"gcode de fin de l'imprimante. Notez que vous pouvez utiliser des variables " +"génériques pour tous les réglages de Slic3r. Si vous avez plusieurs " +"extrudeurs, le gcode sera traité suivant l'ordre des extrudeurs." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Place one more copy of the selected object" -msgstr "Placer une copie supplémentaire de l'objet sélectionné" +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "S'assurer de l'épaisseur de la coque verticale" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:118 -msgid "Plater" -msgstr "Plateau" +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" +"Ajouter un remplissage plein à proximité des surfaces inclinées pour " +"garantir une épaisseur de coque verticale (couches solides supérieures" +"+inférieures)." -#: lib/Slic3r/GUI/Plater.pm:1897 -msgid "Please install the OpenGL modules to use this feature (see build instructions)." -msgstr "Veuillez installer les modules OpenGL pour pouvoir utiliser cette fonctionnalité (voir les instructions de montage)." +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "Motif de remplissage supérieur/inférieur" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1199 -msgid "Position (for multi-extruder printers)" -msgstr "Position (pour les imprimantes multi-extrudeurs)" +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "" +"Motif pour les remplissages supérieurs/inférieurs. Ceci affecte seulement la " +"couche externe visible, et non les coques solides adjacentes." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1153 -msgid "Position of perimeters starting points." -msgstr "Position des points de départ des périmètres." +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1702 -msgid "Position X" -msgstr "Position X" +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1709 -msgid "Position Y" -msgstr "Position Y" +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:494 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1001 -msgid "Post-processing scripts" -msgstr "Scripts de post-traitement" +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.hpp:17 -msgid "Preferences" -msgstr "Préférences" +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1171 -msgid "Preferred direction of the seam" -msgstr "Direction préférée de la jointure" +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "Périmètres externes" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1183 -msgid "Preferred direction of the seam - jitter" -msgstr "Direction préférée de la jointure - gigue" +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" +"Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la " +"largeur d’extrusion pour les périmètres extérieurs. Si la valeur reste sur " +"zéro, la largeur d’extrusion par défaut sera utilisée si définie, sinon la " +"valeur 1.125 x diamètre de la buse sera utilisée. Si la valeur est exprimée " +"en pourcentage (par exemple : 200%), elle sera calculée par rapport à la " +"hauteur de couche." + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "mm ou % (laissez à 0 pour la valeur par défaut)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2125 -msgid "Preview" -msgstr "Aperçu" +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" +"Ce réglage distinct affectera la vitesse des périmètres extérieurs (ceux qui " +"sont visibles). Si cette valeur est exprimée en pourcentage (par exemple: " +"80%) elle sera calculée d'après le réglage de la vitesse de périmètre " +"susmentionnée. Réglez sur zéro pour un ajustement automatique." + +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "mm/s ou %" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid "Previously sliced file (" -msgstr "Fichier précédemment découpé (" +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "Périmètres externes en premier" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 -msgid "print" -msgstr "imprimer" +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "" +"Imprimer les périmètres de l'extérieur vers l'intérieur au lieu de l'ordre " +"par défaut qui est inversé." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:291 -msgid "Print contour perimeters from the outermost one to the innermost one instead of the default inverse order." -msgstr "Imprimer les périmètres de l'extérieur vers l'intérieur au lieu de l'ordre par défaut qui est inversé." +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "Périmètres supplémentaires si nécessaire" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Print Diameters" -msgstr "Diamètres d'Impression" +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" +"Ajouter plus de périmètres si nécessaire pour éviter des trous dans les " +"parois inclinées. Slic3r ajoute des périmètres, jusqu'à ce que plus de 70% " +"de la boucle immédiatement au-dessus soit supportée." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:182 -msgid "Print Settings" -msgstr "Réglages d'Impression" +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"The extruder to use (unless more specific extruder settings are specified). " +"This value overrides perimeter and infill extruders, but not the support " +"extruders." +msgstr "" +"L'extrudeur à utiliser (à moins que d'autres réglages d'extrudeur plus " +"spécifiques soient spécifiés). Cette valeur se substitue aux extrudeurs de " +"périmètre et de remplissage, mais pas aux extrudeurs de support." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:367 -msgid "Print settings" -msgstr "Réglages d'impression" +#: src/libslic3r/PrintConfig.cpp:444 +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." +msgstr "" +"Paramétrez ceci avec la distance verticale entre la pointe de la buse et " +"(habituellement) les tiges du chariot de l'axe X. En d'autres termes, il " +"s'agit de la hauteur du cylindre de dégagement autour de l'extrudeur, et " +"elle représente la profondeur maximum à laquelle peut descendre l'extrudeur " +"avant d'entrer en collision avec d'autres objets imprimés." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:836 -msgid "Print speed override" -msgstr "Contournement de la vitesse d'impression" +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "Rayon" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:369 -msgid "Printer" -msgstr "Imprimante" +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" +"Paramétrez ceci avec le rayon de dégagement autour de l'extrudeur. Si " +"l'extrudeur n'est pas centré, choisissez la plus grande valeur par sécurité. " +"Ce réglage est utilisé pour vérifier les collisions et afficher l'aperçu " +"graphique sur le plateau." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 -msgid "printer" -msgstr "imprimer" +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "Couleur de l'extrudeur" -#: xs/src/slic3r/GUI/Tab.cpp:762 -msgid "printer model" -msgstr "modèle de l'imprimante" +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "" +"Ceci est uniquement utilisé dans l'interface de Slic3r comme indication " +"visuelle." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1014 -msgid "Printer notes" -msgstr "Notes de l'imprimante" +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "Décalage de l'extrudeur" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:228 -msgid "Printer Settings" -msgstr "Réglages de l'Imprimante" +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" +"Si le firmware de votre imprimante ne gère pas le décalage de l'extrudeur, " +"c'est au G-code d'en tenir compte. Cette option vous permet de spécifier le " +"décalage de chaque extrudeur par rapport au premier. Des valeurs positives " +"sont attendues (elles seront soustraites des coordonnées XY)." -#: xs/src/libslic3r/PrintConfig.cpp:1106 -msgid "Printer type" -msgstr "Type d'imprimante" +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "Axe d'extrusion" -#: xs/src/libslic3r/PrintConfig.cpp:1125 -msgid "Printer variant" -msgstr "Variante d'imprimante" +#: src/libslic3r/PrintConfig.cpp:487 +msgid "" +"Use this option to set the axis letter associated to your printer's extruder " +"(usually E but some printers use A)." +msgstr "" +"Utiliser cette option pour indiquer la lettre utilisée par l'extrudeur de " +"votre imprimante (habituellement E, mais certaines imprimantes utilisent A)." -#: xs/src/libslic3r/PrintConfig.cpp:1120 -msgid "Printer vendor" -msgstr "Fabriquant de l'imprimante" +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "Multiplicateur d'extrusion" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:238 -msgid "Print…" -msgstr "Impression…" +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" +"Ce facteur modifie proportionnellement le flux d'extrusion. Vous pouvez " +"avoir besoin de modifier ceci afin d'obtenir un rendu de surface net et une " +"largeur correcte pour les murs uniques. Les valeurs habituelles vont de 0.9 " +"à 1.1. Si vous pensez devoir changer davantage cette valeur, vérifiez le " +"diamètre de votre filament et les E Steps dans le firmware." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Processing " -msgstr "Traitement " +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "Largeur d'extrusion par défaut" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:643 -msgid "Processing input file\n" -msgstr "Traitement du fichier d'entrée\n" +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "" +"Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la " +"largeur d’extrusion. Si la valeur reste sur zéro, Slic3r calcule la largeur " +"d’extrusion en se basant sur le diamètre de la buse (voir l’info-bulle " +"concernant la largeur d’extrusion du périmètre, la largeur d’extrusion du " +"remplissage, etc…). Si la valeur est exprimée en pourcentage (par exemple : " +"230%), elle sera calculée par rapport à la hauteur de couche." + +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "mm ou % (laissez à 0 pour le mode automatique)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:508 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:868 -msgid "Profile dependencies" -msgstr "Dépendances du profil" +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "Garder le ventilateur toujours actif" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:300 -msgid "Progress:" -msgstr "Progression :" +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" +"Si ceci est activé, le ventilateur ne sera jamais désactivé et sera maintenu " +"au moins à sa vitesse minimum. Utile pour le PLA, mais risqué pour l'ABS." + +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "" +"Activer le ventilateur si le temps d'impression de la couche est inférieur à" + +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "" +"Si le temps d'impression estimé de la couche est inférieur à ce nombre de " +"secondes, le ventilateur sera activé et sa vitesse calculée par " +"interpolation des vitesses minimum et maximum." + +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "secondes approximatives" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Prusa 3D Drivers" -msgstr "Drivers Prusa 3D" +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "Couleur" + +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "Notes du filament" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Prusa Edition Releases" -msgstr "Publication de la Prusa Edition" +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "Vous pouvez saisir vos remarques concernant le filament ici." -#: xs/src/slic3r/GUI/GUI.cpp:908 -msgid "Purging volumes" -msgstr "Volumes de purge" +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "Vitesse volumétrique maximale" -#: xs/src/libslic3r/PrintConfig.cpp:1807 -msgid "Purging volumes - load/unload volumes" -msgstr "Volumes de purge - volumes de chargement/déchargement" +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" +"Vitesse volumétrique maximale autorisée pour ce filament. Limite la vitesse " +"volumétrique d'une impression au minimum des vitesses volumétriques " +"d'impression et de filament. Mettez à zéro pour enlever la limite." -#: xs/src/libslic3r/PrintConfig.cpp:1815 -msgid "Purging volumes - matrix" -msgstr "Volumes de purge - matrice" +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "mm³/s" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Q&uick Slice…\tCtrl+U" -msgstr "&Découpage Rapide…\tCtrl+U" +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "Vitesse de chargement" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:335 -msgid "Quality (slower slicing)" -msgstr "Qualité (découpage plus lent)" +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "Vitesse utilisée pour charger le filament sur la tour de nettoyage. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" -msgstr "Découpage Rapide et &Enregistrer Sous…\tCtrl+Alt+U" +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "Quit Slic3r" -msgstr "Quitter Slic3r" +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:331 -msgid "Radius" -msgstr "Rayon" +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "Vitesse de déchargement" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:380 -msgid "Raft" -msgstr "Radeau" +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " +msgstr "" +"Vitesse utilisée pour décharger le filament sur la tour de nettoyage " +"(n'affecte pas l'étape initiale de déchargement juste après l'expulsion). " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1029 -msgid "Raft layers" -msgstr "Couches du radeau" +#: src/libslic3r/PrintConfig.cpp:590 +msgid "Unloading speed at the start" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1319 -msgid "Ramming" -msgstr "Expulsion" +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:14 -msgid "Ramming customization" -msgstr "Personnalisation de l'expulsion" +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "Délai après le déchargement" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/libslic3r/PrintConfig.cpp:600 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." +"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 "" -"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 ..." +"Temps d'attente nécessaire après que le filament ait été déchargé. Peut " +"aider à obtenir des changements d'outils fiables avec des matériaux flexible " +"qui ont besoin de plus de temps pour revenir à leurs dimensions originales. " -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:90 -msgid "Ramming line spacing" -msgstr "Espacement de la ligne de ramming" +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:88 -msgid "Ramming line width" -msgstr "Largeur de la ligne d'expulsion" +#: src/libslic3r/PrintConfig.cpp:611 +msgid "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:486 -msgid "Ramming parameters" -msgstr "Paramètres de l'expulsion" +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1321 -msgid "Ramming settings" -msgstr "Réglages de l'expulsion" +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Re-configure" -msgstr "Reconfigurer" +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:297 -msgid "Ready" -msgstr "Prêt" +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear" -msgstr "Arrière" +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear View" -msgstr "Vue Arrière" +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:262 -#, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "Épaisseur des parois fines de l'objet recommandée pour la hauteur de couche %.2f et " +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:245 -msgid "Recommended object thin wall thickness: Not available due to invalid layer height." -msgstr "Épaisseur des parois fines de l'objet recommandée : Non disponible car la hauteur de couche est invalide." +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:46 -msgid "Rectangular" -msgstr "Rectangle" +#: src/libslic3r/PrintConfig.cpp:651 +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:352 -msgid "Reducing printing time" -msgstr "Réduction du temps d'impression" +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" +msgstr "Paramètres de l'expulsion" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload from Disk" -msgstr "Recharger depuis le Disque" +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" +"Cette chaine est éditée par RammingDialog et contient les paramètres " +"spécifiques d'expulsion " -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload the selected file from Disk" -msgstr "Recharger le fichier sélectionné depuis le Disque" +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:27 -msgid "Remember output directory" -msgstr "Se souvenir du répertoire de sortie" +#: src/libslic3r/PrintConfig.cpp:668 +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -msgid "Remove" -msgstr "Retirer" +#: src/libslic3r/PrintConfig.cpp:677 +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 "" +"Entrez le diamètre de votre filament ici. Une bonne précision est requise, " +"utilisez un pied à coulisse et calculez la moyenne de plusieurs mesures le " +"long du filament." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "remove" -msgstr "retirer" +#: src/libslic3r/PrintConfig.cpp:685 +msgid "Density" +msgstr "Densité" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Remove one copy of the selected object" -msgstr "Retirer une copie de l'objet sélectionné" +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "" +"Entrez ici la densité de votre filament. Ceci est uniquement pour des " +"informations statistiques. Un bon moyen d'obtenir cette valeur est de peser " +"un morceau de filament d'une longueur connue et de calculer le rapport de sa " +"longueur par son poids. Le mieux est de calculer le volume directement par " +"déplacement." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Remove the selected object" -msgstr "Retirer l'objet sélectionné" +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "g/cm³" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:217 -msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)" -msgstr "Supprimer les profils d'utilisateur - installation à partir de zéro (un snapshot sera fait avant)" +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "Type de filament" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Repair" -msgstr "Réparer" +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Repair STL file…" -msgstr "Réparer le fichier STL…" +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "Matériau soluble" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "Repeat last quick slice" -msgstr "Répéter le dernier découpage rapide" +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "" +"Il est probable qu'un matériau soluble soit utilisé pour un support soluble." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an Issue" -msgstr "Signaler un problème" +#: src/libslic3r/PrintConfig.cpp:719 +msgid "" +"Enter your filament cost per kg here. This is only for statistical " +"information." +msgstr "" +"Entrez le coût par Kg de votre filament. Ceci est uniquement pour " +"l'information statistique." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Signaler un problème sur la Prusa Edition de Slic3r" +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "€/kg" -#: xs/src/slic3r/Utils/PresetUpdater.cpp:514 -#, c-format -msgid "requires min. %s and max. %s" -msgstr "nécessite min. %s et max. %s" +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "Angle du remplissage" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:288 -msgid "Rescan" -msgstr "Scanner à nouveau" +#: src/libslic3r/PrintConfig.cpp:731 +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." +msgstr "" +"Angle de base par défaut pour l'orientation du remplissage. Des croisements " +"seront appliqués à cette valeur. Les ponts seront remplis avec la meilleure " +"direction que Slic3r peut détecter, ce réglage ne les affecteront donc pas." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:995 -msgid "Rescan serial ports" -msgstr "Rescanner les ports série" +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "Densité du remplissage" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1039 -msgid "Resolution" -msgstr "Résolution" +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "Densité du remplissage interne, exprimée en pourcentage de 0% à 100%." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1057 -msgid "Retract amount before wipe" -msgstr "Quantité de rétractation avant essuyage" +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "Motif de remplissage" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1065 -msgid "Retract on layer change" -msgstr "Rétracter lors des changements de couche" +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "Motif pour les remplissages de faible densité." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1202 -msgid "Retraction" -msgstr "Rétraction" +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1051 -msgid "Retraction is not triggered when travel moves are shorter than this length." -msgstr "La rétraction n'est pas déclenchée lorsque les déplacements sont plus courts que cette distance." +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1072 -msgid "Retraction Length" -msgstr "Longueur de Rétractation" +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1081 -msgid "Retraction Length (Toolchange)" -msgstr "Longueur de Rétractation (changement d'outil)" +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1134 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1135 -msgid "Retraction Speed" -msgstr "Vitesse de Rétractation" +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1218 -msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" -msgstr "Rétractation lorsque l'outil est désactivé (réglages avancés pour les configurations multi-extrudeurs)" +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:96 -msgid "Retractions" -msgstr "Rétractations" +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right" -msgstr "Droite" +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right View" -msgstr "Vue Droite" +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "Première couche" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate" -msgstr "Pivoter" +#: src/libslic3r/PrintConfig.cpp:817 +msgid "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." +msgstr "" +"L'accélération que l'imprimante utilisera pour la première couche. Régler " +"sur zéro afin de désactiver le contrôle de l'accélération pour la première " +"couche." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate 45° clockwise" -msgstr "Pivoter de 45° dans le sens des aiguilles d'une montre" +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." +msgstr "" +"Température du plateau chauffant pour la première couche. Mettez ceci à zéro " +"pour désactiver les commandes de contrôle de température du plateau dans la " +"sortie." + +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "" +"Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la " +"largeur d’extrusion pour la première couche. Vous pouvez procéder ainsi pour " +"obtenir des extrudats plus épais afin d’avoir une meilleure adhérence. Si la " +"valeur est exprimée en pourcentage (par exemple : 120%), elle sera calculée " +"par rapport à la hauteur de la première couche. Si elle est réglée sur zéro, " +"elle utilisera la largeur d’extrusion par défaut." + +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "Hauteur de la première couche" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate 45° counter-clockwise" -msgstr "Pivoter de 45° dans le sens inverse des aiguilles d'une montre" +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "" +"Lors d'une impression avec de très faibles épaisseurs de couche, vous pouvez " +"choisir d'imprimer une première couche plus épaisse pour améliorer " +"l'adhérence et la tolérance aux plateaux imparfaits. Ce réglage peut être " +"exprimé comme une valeur absolue ou un pourcentage (par exemple 150%) par " +"rapport à l'épaisseur de couche par défaut." + +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "mm ou %" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate the selected object by 45° clockwise" -msgstr "Pivoter l'objet sélectionné de 45° dans le sens des aiguilles d'une montre" +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" +msgstr "Vitesse de la première couche" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate the selected object by 45° counter-clockwise" -msgstr "Pivoter l'objet sélectionné de 45° dans le sens inverse des aiguilles d'une montre" +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "" +"Si exprimée avec une valeur absolue en mm/s, cette vitesse sera appliquée à " +"tous les déplacements d'impression de la première couche, quel que soit leur " +"type. Si exprimée comme un pourcentage (par exemple 40%), cela modulera la " +"vitesse par défaut." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate the selected object by an arbitrary angle" -msgstr "Pivoter l'objet sélectionnée d'un angle donné" +#: src/libslic3r/PrintConfig.cpp:872 +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 "" +"Température de l’extrudeur pour la première couche. Si vous voulez contrôler " +"manuellement la température au cours de l’impression, mettez à zéro pour " +"désactiver les commandes de contrôle de température dans le fichier de " +"sortie." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Rotate the selected object by an arbitrary angle around X axis" -msgstr "Pivoter l'objet sélectionnée d'un angle donné autour de l'axe X" +#: src/libslic3r/PrintConfig.cpp:882 +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 "" +"Vitesse pour combler de petits interstices avec de courts mouvements en " +"zigzag. Gardez un réglage relativement lent afin d'éviter les problèmes de " +"vibration et de résonance. Réglez sur zéro pour désactiver le remplissage " +"d'interstices." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Rotate the selected object by an arbitrary angle around Y axis" -msgstr "Pivoter l'objet sélectionnée d'un angle donné autour de l'axe Y" +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "G-code commenté" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Rotate the selected object by an arbitrary angle around Z axis" -msgstr "Pivoter l'objet sélectionnée d'un angle donné autour de l'axe Z" +#: src/libslic3r/PrintConfig.cpp:891 +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." +msgstr "" +"Activez ceci pour obtenir un fichier G-code commenté, avec chaque ligne " +"expliquée par un texte descriptif. Si vous imprimez depuis une carte SD, le " +"poids supplémentaire du fichier pourrait ralentir le firmware de votre " +"imprimante." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:211 xs/src/slic3r/GUI/GUI.cpp:399 -#, c-format -msgid "Run %s" -msgstr "Run %s" +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "Version du G-code" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 xs/src/slic3r/GUI/RammingChart.cpp:86 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -#: xs/src/libslic3r/PrintConfig.cpp:480 -msgid "s" -msgstr "s" +#: src/libslic3r/PrintConfig.cpp:900 +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 "" +"Certaines commandes G/M-code, dont le contrôle de température et autres, ne " +"sont pas universelles. Paramétrez cette option avec le firmware de votre " +"imprimante pour obtenir une sortie compatible. La version \"sans extrusion\" " +"empêche Slic3r d'exporter toute valeur d'extrusion." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid "Save " -msgstr "Enregistrer " +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:605 -msgid "Save configuration as:" -msgstr "Enregistrer la configuration sous :" +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:50 -msgid "Save current " -msgstr "Enregistrer l'état actuel " +#: src/libslic3r/PrintConfig.cpp:930 +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 "" -#: lib/Slic3r/GUI/Plater.pm:1399 -msgid "Save G-code file as:" -msgstr "Sauvegarder le fichier G-code en tant que :" +#: src/libslic3r/PrintConfig.cpp:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "" +"Il s'agit de l'accélération que votre imprimante utilisera pour le " +"remplissage. Régler sur zéro afin de désactiver le contrôle de " +"l'accélération pour le remplissage." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:580 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "Enregistrer le fichier OBJ (moins enclin aux erreurs de coordonnées que le STL) sous :" +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "Combiner le remplissage toutes les" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:248 -msgid "Save preset" -msgstr "Enregistrer le préréglage" +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" +"Cette fonction permet de combiner le remplissage afin d'accélérer " +"l'impression en extrudant des couches de remplissage plus épaisses tout en " +"conservant des périmètres fins, avec plus de précision." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:646 -msgid "Save presets bundle as:" -msgstr "Enregistrer le lot de préréglages sous :" +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "Combiner le remplissage toutes les n couches" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -msgid "Scale" -msgstr "Redimensionner" +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "Extrudeur pour le remplissage" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -msgid "Scale along " -msgstr "Redimensionner le long de " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale the selected object along a single axis" -msgstr "Redimensionner l'objet sélectionné le long d'un seul axe" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Scale the selected object along the X axis" -msgstr "Redimensionner l'objet sélectionné le long de l'axe X" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Scale the selected object along the XYZ axes" -msgstr "Redimensionner l'objet sélectionné le long des axes XYZ" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Scale the selected object along the Y axis" -msgstr "Redimensionner l'objet sélectionné le long de l'axe Y" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Scale the selected object along the Z axis" -msgstr "Redimensionner l'objet sélectionné le long de l'axe Z" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale to size" -msgstr "Redimensionner à la taille" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:187 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:203 -msgid "Scale…" -msgstr "Redimensionner…" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1151 -msgid "Seam position" -msgstr "Position de la jointure" +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "L'extrudeur à utiliser pour imprimer le remplissage." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1172 -msgid "Seam preferred direction" -msgstr "Direction préférée de la jointure" +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" +"Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la " +"largeur d’extrusion pour le remplissage. Si la valeur reste sur zéro, la " +"largeur d’extrusion par défaut sera utilisée si définie, sinon la valeur " +"1.125 x diamètre de la buse sera utilisée. Vous voudrez peut-être utiliser " +"des extrudats plus épais pour accélérer le remplissage et rendre vos pièces " +"plus solides. Si la valeur est exprimée en pourcentage (par exemple : 90%), " +"elle sera calculée par rapport à la hauteur de couche." + +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "Remplissage avant les périmètres" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1182 -msgid "Seam preferred direction jitter" -msgstr "Gigue de la direction préférée de la jointure" +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "" +"Cette option inverse l'ordre d'impression des périmètres et du remplissage, " +"ce dernier étant alors imprimé en premier." -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 -msgid "Searching for devices" -msgstr "Recherche des dispositifs" +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "Remplissage seulement où cela est nécessaire" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Select &Controller Tab\tCtrl+T" -msgstr "Sélectionner l'Onglet &Contrôleur\tCtrl+T" +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "" +"Cette option limitera le remplissage aux zones nécessaires pour soutenir les " +"couches supérieures (cela agira comme un support interne). Si activé, la " +"génération du G-Code prendra plus de temps à cause des calculs " +"supplémentaires requis." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Select &Filament Settings Tab\tCtrl+3" -msgstr "Sélectionner l'Onglet des Réglages du &Filament\tCtrl+3" +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "Chevauchement remplissage/périmètres" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Select &Plater Tab\tCtrl+1" -msgstr "Sélectionner l'Onglet du &Plateau\tCtrl+1" +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" +"Cette option applique un chevauchement supplémentaire entre les périmètres " +"et le remplissage pour une meilleur fusion. En théorie, cela ne devrait pas " +"être nécessaire, mais le jeu mécanique peut générer des espacements. Si " +"exprimé en pourcentage (par exemple 15%), la valeur sera calculée en " +"fonction de la largeur d'extrusion du périmètre." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:103 -msgid "Select all" -msgstr "Tout sélectionner" +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "" +"Vitesse pour imprimer le remplissage interne. Réglez sur zéro pour un " +"ajustement automatique." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:623 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:667 -msgid "Select configuration to load:" -msgstr "Sélectionner la configuration à charger :" +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "Hérite du profil" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:104 -msgid "Select none" -msgstr "Ne sélectionner aucun" +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "Nom du profil, duquel hérite ce profil." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Select P&rint Settings Tab\tCtrl+2" -msgstr "Sélectionner l'Onglet des Réglages d'&Impression\tCtrl+2" +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "Coques d'interface" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Select Print&er Settings Tab\tCtrl+4" -msgstr "Sélectionner l'Onglet des Réglages de l'Impri&mante\tCtrl+4" +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material." +msgstr "" +"Force la génération de coques solides entre des volumes/matériaux adjacents. " +"Utile pour des impressions multi-extrudeurs avec des matériaux translucides " +"ou avec un support manuel soluble." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Select the language" -msgstr "Sélectionner la langue" +#: src/libslic3r/PrintConfig.cpp:1043 +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 "" +"Ce code personnalisé est inséré à chaque changement de couche, juste après " +"le mouvement Z et avant le déplacement de l'extrudeur au point de départ de " +"la couche suivante. Notez que vous pouvez utiliser des variables génériques " +"pour tous les réglages de Slic3r de même que [layer_num] et [layer_z]." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1667 -msgid "Select the printers this profile is compatible with." -msgstr "Sélectionner les imprimantes avec lesquelles ce profil est compatible." +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:566 -msgid "Select the STL file to repair:" -msgstr "Sélectionner le fichier STL à réparer :" +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" -#: xs/src/slic3r/GUI/GUI.cpp:882 -msgid "Select what kind of support do you need" -msgstr "Choisissez le type de support dont vous avez besoin" +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:239 -msgid "Send to printer" -msgstr "Envoyer à l'imprimante" +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1448 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "Envoi du fichier G-code vers le serveur OctoPrint..." +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:477 -msgid "Sequential printing" -msgstr "Impression séquentielle" +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:990 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1193 -msgid "Serial port" -msgstr "Port série" +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1202 -msgid "Serial port speed" -msgstr "Vitesse du port série" +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:286 -msgid "Serial port:" -msgstr "Port série :" +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 -msgid "Service name" -msgstr "Nom du service" +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Set number of copies…" -msgstr "Choisir le nombre de copies…" +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:398 -msgid "Set the shape of your printer's bed." -msgstr "Réglez la forme du plateau de votre imprimante." +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:378 -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." -msgstr "Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la largeur d’extrusion. Si la valeur reste sur zéro, Slic3r calcule la largeur d’extrusion en se basant sur le diamètre de la buse (voir l’info-bulle concernant la largeur d’extrusion du périmètre, la largeur d’extrusion du remplissage, etc…). Si la valeur est exprimée en pourcentage (par exemple : 230%), elle sera calculée par rapport à la hauteur de couche." +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:269 -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." -msgstr "Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la largeur d’extrusion pour les périmètres extérieurs. Si la valeur reste sur zéro, la largeur d’extrusion par défaut sera utilisée si définie, sinon la valeur 1.125 x diamètre de la buse sera utilisée. Si la valeur est exprimée en pourcentage (par exemple : 200%), elle sera calculée par rapport à la hauteur de couche." +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:593 -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." -msgstr "Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la largeur d’extrusion pour la première couche. Vous pouvez procéder ainsi pour obtenir des extrudats plus épais afin d’avoir une meilleure adhérence. Si la valeur est exprimée en pourcentage (par exemple : 120%), elle sera calculée par rapport à la hauteur de la première couche. Si elle est réglée sur zéro, elle utilisera la largeur d’extrusion par défaut." +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "Maximum" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1293 -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." -msgstr "Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la largeur d’extrusion pour le remplissage ou les surfaces solides. Si la valeur reste sur zéro, la largeur d’extrusion par défaut sera utilisée si définie, sinon la valeur 1.125 x diamètre de la buse sera utilisée. Si la valeur est exprimée en pourcentage (par exemple : 90%), elle sera calculée par rapport à la hauteur de couche." +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "Cette option représente la vitesse maximum du ventilateur." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1615 -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." -msgstr "Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la largeur d’extrusion pour le remplissage ou les surfaces supérieures. Vous voudrez peut-être utiliser des extrudats plus fins pour remplir les zones les plus étroites et obtenir des finitions plus lisses. Si la valeur reste sur zéro, la largeur d’extrusion par défaut sera utilisée si définie, sinon le diamètre de la buse sera utilisé. Si la valeur est exprimée en pourcentage (par exemple : 90%), elle sera calculée par rapport à la hauteur de couche." +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "" +"Ceci est la hauteur de couche imprimable maximum pour cet extrudeur, " +"utilisée pour plafonner la hauteur de couche variable et la hauteur de " +"couche des supports. La hauteur de couche maximum recommandée est 75% de la " +"largeur d'extrusion afin d'obtenir une adhésion inter-couches correcte. Si " +"réglée sur 0, la hauteur de couche est limitée à 75% du diamètre de la buse." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:711 -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." -msgstr "Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la largeur d’extrusion pour le remplissage. Si la valeur reste sur zéro, la largeur d’extrusion par défaut sera utilisée si définie, sinon la valeur 1.125 x diamètre de la buse sera utilisée. Vous voudrez peut-être utiliser des extrudats plus épais pour accélérer le remplissage et rendre vos pièces plus solides. Si la valeur est exprimée en pourcentage (par exemple : 90%), elle sera calculée par rapport à la hauteur de couche." +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "Vitesse d'impression maximale" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:968 -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." -msgstr "Réglez ce paramètre sur une valeur non-nulle pour définir manuellement une largeur d’extrusion pour les périmètres. Vous voudrez peut-être utiliser des extrudats plus fin pour obtenir des surfaces plus nettes. Si la valeur reste sur zéro, la largeur d’extrusion par défaut sera utilisée si définie, sinon la valeur 1.125 x diamètre de la buse sera utilisée. Si la valeur est exprimée en pourcentage (par exemple : 200%), elle sera calculée par rapport à la hauteur de couche." +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "" +"Lorsque vous réglez les autres vitesses à 0, Slic3r calculera " +"automatiquement la vitesse optimale de façon à garder une pression constante " +"dans l'extrudeur. Cette fonction expérimentale est utilisée pour régler la " +"plus haute vitesse que vous souhaitez autoriser." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1455 -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." -msgstr "Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la largeur d’extrusion pour les supports. Si la valeur reste sur zéro, la largeur d’extrusion par défaut sera utilisée si définie, sinon le diamètre de la buse sera utilisée. Si la valeur est exprimée en pourcentage (par exemple : 90%), elle sera calculée par rapport à la hauteur de couche." +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." +msgstr "" +"Ce réglage expérimental est utilisé pour paramétrer la vitesse volumétrique " +"maximum tolérée par votre extrudeur." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:332 -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." -msgstr "Paramétrez ceci avec le rayon de dégagement autour de l'extrudeur. Si l'extrudeur n'est pas centré, choisissez la plus grande valeur par sécurité. Ce réglage est utilisé pour vérifier les collisions et afficher l'aperçu graphique sur le plateau." +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "Pente volumétrique positive maximum" -#: xs/src/libslic3r/PrintConfig.cpp:877 -msgid "Set this to the maximum height that can be reached by your extruder while printing." -msgstr "Réglez cette valeur sur la hauteur maximum que peut atteindre votre extrudeur au cours de l'impression." +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "" +"Ce réglage expérimental sert à limiter la vitesse de changement dans le flux " +"d'extrusion. Une valeur de 1.8 mm³/s² garantit qu'un changement de flux " +"d'extrusion de 1.8 mm³/s (largeur d'extrusion 0.45mm, hauteur d'extrusion " +"0.2mm, alimentation 20 mm/s) à 5.4 mm³/s (alimentation 60 mm/s) prendra au " +"moins 2 secondes." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:321 -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." -msgstr "Paramétrez ceci avec la distance verticale entre la pointe de la buse et (habituellement) les tiges du chariot de l'axe X. En d'autres termes, il s'agit de la hauteur du cylindre de dégagement autour de l'extrudeur, et elle représente la profondeur maximum à laquelle peut descendre l'extrudeur avant d'entrer en collision avec d'autres objets imprimés." +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "mm³/s²" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:120 -msgid "Settings" -msgstr "Réglages" +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" +msgstr "Pente volumétrique négative maximum" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:206 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Settings…" -msgstr "Réglages…" +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "Minimum" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:39 -msgid "Shape" -msgstr "Forme" +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "" +"Cette option représente le PWM minimum dont votre ventilateur a besoin pour " +"tourner." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:98 -msgid "Shells" -msgstr "Coques" +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "" +"Cette valeur est la hauteur de couche imprimable minimum pour cet extrudeur " +"et elle limite la résolution pour la hauteur de couche variable. Les valeurs " +"type se situent entre 0.05 mm et 0.1 mm." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:75 -msgid "Show" -msgstr "Afficher" +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" +msgstr "Vitesse d'impression minimale" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show &Configuration Folder" -msgstr "Afficher le Répertoire de &Configuration" +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "Slic3r ne descendra pas en-dessous de cette vitesse." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "Show about dialog" -msgstr "Afficher la boîte de dialogue à propos" +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" +msgstr "Longueur minimale d'extrusion de filament" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show advanced settings" -msgstr "Afficher les réglages avancés" +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "" +"Nombre minimum de contours à générer afin de consommer la quantité de " +"filament spécifiée sur la couche inférieure. Pour les machines multi-" +"extrudeurs, ce minimum s'applique à chaque extrudeur." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:67 -msgid "Show incompatible print and filament presets" -msgstr "Afficher les préréglages d'impression et de filament incompatibles" +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "Notes de configuration" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show simplified settings" -msgstr "Afficher les réglages simplifiés" +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"Vous pouvez inscrire ici vos commentaires personnels. Ce texte sera ajouté " +"au commentaire en entête du G-Code." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "Show system information" -msgstr "Afficher les informations système" +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "Diamètre de la buse" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Show the filament settings" -msgstr "Afficher les réglages de filament" +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgstr "" +"Il s'agit du diamètre de la buse de votre extrudeur (par exemple: 0.5, 0.35, " +"etc.)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Show the plater" -msgstr "Afficher le plateau" +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Show the print settings" -msgstr "Afficher les réglages d'impression" +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Show the printer controller" -msgstr "Afficher le contrôleur de l'imprimante" +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Show the printer settings" -msgstr "Afficher les réglages de l'imprimante" +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show user configuration folder (datadir)" -msgstr "Afficher le répertoire de configuration utilisateur (datadir)" +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "Nom d'hôte, IP ou URL" -#: xs/src/slic3r/GUI/Tab.cpp:1716 xs/src/slic3r/GUI/Tab.cpp:1722 -msgid "Single extruder MM setup" -msgstr "Réglage MM pour extrudeur unique" +#: src/libslic3r/PrintConfig.cpp:1318 +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." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1373 -msgid "Single Extruder Multi Material" -msgstr "Extrudeur Unique Multi-Matériaux" +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "Rétracter uniquement lors du franchissement de périmètres" -#: xs/src/slic3r/GUI/Tab.cpp:1723 -msgid "Single extruder multimaterial parameters" -msgstr "Paramètres multimatériaux pour extrudeur unique" +#: src/libslic3r/PrintConfig.cpp:1326 +msgid "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." +msgstr "" +"Désactiver la rétraction lorsque le chemin de déplacement ne franchit pas " +"les périmètres des couches supérieures (et donc les coulures seront " +"probablement invisibles)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:50 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:408 -msgid "Size" -msgstr "Taille" +#: src/libslic3r/PrintConfig.cpp:1334 +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 "" +"Cette option abaissera la température des extrudeurs inutilisés pour " +"prévenir le oozing (suintement). Cela active automatiquement la génération " +"d'une grande jupe et le déplacement des extrudeurs hors de cette jupe lors " +"des changements de température." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:938 -msgid "Size and coordinates" -msgstr "Taille et coordonnées" +#: src/libslic3r/PrintConfig.cpp:1342 +msgid "Output filename format" +msgstr "Format du nom de fichier de sortie" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:51 -msgid "Size in X and Y of the rectangular plate." -msgstr "Taille en X et Y du plateau rectangulaire." +#: src/libslic3r/PrintConfig.cpp:1343 +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 "" +"Vous pouvez utiliser toutes les options de configuration comme variables " +"dans ce modèle. Par exemple : [layer_height], [fill_density] etc. Vous " +"pouvez aussi utiliser [timestamp], [year], [month], [day], [hour], [minute], " +"[second], [version], [input_filename], [input_filename_base]." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:365 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:146 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:88 -msgid "Skirt" -msgstr "Jupe" +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "Détecter les périmètres faisant des ponts" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:364 -msgid "Skirt and brim" -msgstr "Jupe et bordure" +#: src/libslic3r/PrintConfig.cpp:1355 +msgid "" +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." +msgstr "" +"Option expérimentale qui ajuste le flux pour les surplombs (le flux pour les " +"ponts sera utilisé), leur applique la vitesse pour les ponts et active le " +"ventilateur." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1221 -msgid "Skirt height" -msgstr "Hauteur de la jupe" +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" +msgstr "Position d'attente du filament" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1230 -msgid "Skirt Loops" -msgstr "Boucles de la Jupe" +#: src/libslic3r/PrintConfig.cpp:1363 +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 "" +"Distance entre la pointe de l'extrudeur et la position où le filament est " +"positionné en attente lorsqu'il est déchargé. Cela doit correspondre à la " +"valeur dans le firmware de l'imprimante. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Slic3r &Manual" -msgstr "&Manuel de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Slic3r &Website" -msgstr "Site &Web de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1373 +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. " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:902 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the API Key required for authentication." -msgstr "Slic3r peut envoyer des fichiers G-code à OctoPrint. Ce champ doit contenir la clé d'API requise pour l'authentification." +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "Périmètres" -#: xs/src/libslic3r/PrintConfig.cpp:992 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the hostname, IP address or URL of the OctoPrint instance." -msgstr "Slic3r peut télécharger des fichiers G-code vers OctoPrint. Ce champ doit contenir le nom d'hôte, l'adresse IP ou l'URL de l'instance OctoPrint." +#: src/libslic3r/PrintConfig.cpp:1383 +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 "" +"L'accélération que votre imprimante utilisera pour les périmètres. Une " +"valeur élevée comme 9000 donne généralement de bons résultats si votre " +"matériel le permet. Régler sur zéro afin de désactiver le contrôle de " +"l'accélération pour les périmètres." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r configuration is incompatible" -msgstr "La configuration de Slic3r n'est pas compatible" +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "Extrudeur pour les périmètres" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:929 -msgid "Slic3r Error" -msgstr "Erreur de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "" +"The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "" +"L'extrudeur à utiliser pour imprimer les périmètres et la bordure. Le " +"premier extrudeur a le numéro 1." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r error" -msgstr "Erreur de Slic3r" +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "" +"Réglez ce paramètre sur une valeur non-nulle pour définir manuellement une " +"largeur d’extrusion pour les périmètres. Vous voudrez peut-être utiliser des " +"extrudats plus fin pour obtenir des surfaces plus nettes. Si la valeur reste " +"sur zéro, la largeur d’extrusion par défaut sera utilisée si définie, sinon " +"la valeur 1.125 x diamètre de la buse sera utilisée. Si la valeur est " +"exprimée en pourcentage (par exemple : 200%), elle sera calculée par rapport " +"à la hauteur de couche." + +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "" +"Vitesse pour les périmètres (contours, parois verticales). Réglez sur zéro " +"pour un ajustement automatique." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r has encountered an error" -msgstr "Slic3r a rencontré une erreur" +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "" +"Cette option définit le nombre de périmètres à générer pour chaque couche. " +"Notez que Slic3r peut augmenter cette valeur automatiquement si il détecte " +"une surface inclinée qui nécessite un plus grand nombre de périmètres, si " +"l'option \"Périmètres supplémentaires\" est sélectionnée." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r incompatibility" -msgstr "Incompatibilité avec Slic3r" +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "(minimum)" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 -#, c-format +#: src/libslic3r/PrintConfig.cpp:1439 msgid "" -"Slic3r PE 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." +"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 "" -"Slic3r PE 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." +"Si vous voulez traiter le G-code de sortie à l'aide de scripts " +"personnalisés, listez simplement leurs chemins absolus ici. Séparez les " +"divers scripts avec un point virgule. Les scripts vont recevoir en premier " +"argument le chemin absolu du fichier G-code, et ils peuvent accéder aux " +"réglages de configuration de Slic3r en lisant des variables d'environnement." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 -msgid "slic3r version" -msgstr "version de slic3r" +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "Type d'imprimante" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:867 -msgid "Slic3r will not scale speed down below this speed." -msgstr "Slic3r ne descendra pas en-dessous de cette vitesse." +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." +msgstr "Type d'imprimante." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Slice a file into a G-code" -msgstr "Découper un fichier en G-code" +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "Notes de l'imprimante" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Slice a file into a G-code, save as" -msgstr "Découper un fichier en G-code, enregistrer sous" +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "Vous pouvez saisir ici vos observations concernant l'imprimante." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice file to a multi-layer SVG" -msgstr "Découper un fichier en un SVG multi-couches" +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" +msgstr "Fabriquant de l'imprimante" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:237 -msgid "Slice now" -msgstr "Découper maintenant" +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." +msgstr "Nom du fabriquant de l'imprimante." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice to SV&G…\tCtrl+G" -msgstr "Découper vers SV&G...\tCtrl+G" +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" +msgstr "Variante d'imprimante" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:438 -msgid "Sliced Info" -msgstr "Informations de découpage" +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "" +"Nom de la variante d'imprimante. Par exemple, la variante d'imprimante peut " +"être différenciée par un diamètre de buse." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1286 -msgid "Slicing cancelled" -msgstr "Découpe annulée" +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" +msgstr "Couches du radeau" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:550 -msgid "Slicing Done!" -msgstr "Découpe Effectuée !" +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." +msgstr "" +"L'objet sera surélevé de ce nombre de couches, et du support sera généré en " +"dessous." + +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" +msgstr "Résolution" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Slicing…" -msgstr "Découpe en cours…" +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "" +"Résolution minimale pour les détails, utilisée pour simplifier le fichier " +"d'entrée afin d'accélérer le découpage et de réduire l'utilisation de la " +"mémoire. Les modèles haute-résolution possèdent souvent plus de détails que " +"ce que les imprimantes peuvent produire. Mettez à zéro pour désactiver toute " +"simplification et utiliser la résolution complète de l'entrée." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1239 -msgid "Slow down if layer print time is below" -msgstr "Ralentir si le temps d'impression de la couche est inférieur à" +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" +msgstr "Trajet minimal après une rétraction" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1250 -msgid "Small perimeters" -msgstr "Périmètres courts" +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "" +"Retraction is not triggered when travel moves are shorter than this length." +msgstr "" +"La rétraction n'est pas déclenchée lorsque les déplacements sont plus courts " +"que cette distance." -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Snapshot name" -msgstr "Nom du snapshot" +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" +msgstr "Quantité de rétractation avant essuyage" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:179 -msgid "solid infill" -msgstr "remplissage solide" +#: src/libslic3r/PrintConfig.cpp:1515 +msgid "" +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." +msgstr "" +"Avec les extrudeurs bowden, il est conseillé d'effectuer une rétractation " +"rapide avant de réaliser le mouvement de nettoyage." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1291 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1301 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:142 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:84 -msgid "Solid infill" -msgstr "Remplissage solide" +#: src/libslic3r/PrintConfig.cpp:1523 +msgid "Retract on layer change" +msgstr "Rétracter lors des changements de couche" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1279 -msgid "Solid infill every" -msgstr "Remplissage solide toutes les" +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "Cette option active la rétractation lors d'un déplacement sur l'axe Z." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1271 -msgid "Solid infill extruder" -msgstr "Extrudeur pour le remplissage solide" +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "Longueur" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1262 -msgid "Solid infill threshold area" -msgstr "Surface de seuil pour le remplissage solide" +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "Longueur de Rétractation" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:330 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1314 -msgid "Solid layers" -msgstr "Couches solides" +#: src/libslic3r/PrintConfig.cpp:1532 +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 "" +"Lorsque la rétractation est déclenchée, le filament est tiré en arrière de " +"la longueur indiquée (la longueur est mesurée sur le filament brut, avant " +"qu'il entre dans l'extrudeur)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:470 -msgid "Soluble material" -msgstr "Matériau soluble" +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "mm (zéro pour désactiver)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:471 -msgid "Soluble material is most likely used for a soluble support." -msgstr "Il est probable qu'un matériau soluble soit utilisé pour un support soluble." +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "Longueur de Rétractation (changement d'outil)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:653 -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 "Certaines commandes G/M-code, dont le contrôle de température et autres, ne sont pas universelles. Paramétrez cette option avec le firmware de votre imprimante pour obtenir une sortie compatible. La version \"sans extrusion\" empêche Slic3r d'exporter toute valeur d'extrusion." +#: src/libslic3r/PrintConfig.cpp:1541 +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 "" +"Lorsque la rétractation est déclenchée avant un changement d'outil, le " +"filament est retiré de la longueur indiquée (la longueur est mesurée sur le " +"filament brut, avant qu'il entre dans l'extrudeur)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1682 -msgid "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default." -msgstr "Certaines imprimantes ou certains réglages d'imprimante peuvent rencontrer des difficultés pour imprimer avec une hauteur de couche variable. Activé par défaut." +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" +msgstr "Levage de l'axe Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1490 -msgid "Spacing between interface lines. Set zero to get a solid interface." -msgstr "Espacement entre les lignes d'interface. Mettez à zéro pour obtenir une interface solide." +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" +"Si vous indiquez une valeur positive, l'axe Z est rapidement élevé à chaque " +"rétraction. Lorsque vous utilisez plusieurs extrudeurs, seul le réglage du " +"premier extrudeur sera pris en compte." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1526 -msgid "Spacing between support material lines." -msgstr "Espacement entre les lignes des supports." +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "Au-delà de Z" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:398 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:278 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:635 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:747 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:979 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1201 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1251 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1302 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1625 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:71 -msgid "Speed" -msgstr "Vitesse" +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" +msgstr "Lever Z seulement au-dessus de" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1203 -msgid "Speed (baud) of USB/serial port for printer connection." -msgstr "Vitesse (baud) du port USB/série pour la connexion à l'imprimante." +#: src/libslic3r/PrintConfig.cpp:1561 +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 "" +"Si vous indiquez une valeur positive, le levage de l'axe Z ne sera déclenché " +"qu'à partir de la valeur absolue indiquée pour l'axe Z. Vous pouvez modifier " +"ce réglage pour éviter le levage de l'axe Z sur les premières couches." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:336 -msgid "Speed (mm/s)" -msgstr "Vitesse (mm/s)" +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" +msgstr "En-deçà de Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:636 -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 "Vitesse pour combler de petits interstices avec de courts mouvements en zigzag. Gardez un réglage relativement lent afin d'éviter les problèmes de vibration et de résonance. Réglez sur zéro pour désactiver le remplissage d'interstices." +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "Lever Z seulement en-dessous de" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:411 -msgid "Speed for non-print moves" -msgstr "Vitesse pour les déplacements sans impression" +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" +"Si vous indiquez une valeur positive, le levage de l'axe Z ne sera déclenché " +"que jusqu'à la valeur absolue indiquée pour l'axe Z. Vous pouvez modifier ce " +"réglage pour limiter le levage de l'axe Z aux premières couches." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:980 -msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." -msgstr "Vitesse pour les périmètres (contours, parois verticales). Réglez sur zéro pour un ajustement automatique." +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "Longueur supplémentaire à la reprise" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:399 -msgid "Speed for print moves" -msgstr "Vitesse pour les déplacements d'impression" +#: src/libslic3r/PrintConfig.cpp:1581 +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 "" +"Lorsque la rétractation est compensée après un déplacement, l'extruder " +"exprimera cette quantité de filament en plus. Ce réglage est rarement " +"nécessaire." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:119 -msgid "Speed for printing bridges." -msgstr "Vitesse d'impression des ponts." +#: src/libslic3r/PrintConfig.cpp:1590 +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "" +"Lorsque la rétractation est compensée après un changement d'outil, " +"l'extrudeur exprimera cette quantité de filament en plus." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1303 -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 "Vitesse pour imprimer des zones solides (supérieures/inférieures/parois horizontales internes). Peut être exprimée en pourcentage (par exemple: 80%) de la vitesse de remplissage par défaut susmentionnée. Réglez sur zéro pour un ajustement automatique." +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "Vitesse de Rétractation" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1499 -msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." -msgstr "Vitesse d'impression des couches d'interface des supports. Si exprimée en pourcentage (par exemple 50%), elle sera calculée à partir de la vitesse d'impression des supports." +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "" +"La vitesse des rétractations (ne s'applique qu'au moteur de l'extrudeur)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1535 -msgid "Speed for printing support material." -msgstr "Vitesse d'impression du support." +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "Vitesse de Réinsertion" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:748 -msgid "Speed for printing the internal fill. Set to zero for auto." -msgstr "Vitesse pour imprimer le remplissage interne. Réglez sur zéro pour un ajustement automatique." +#: src/libslic3r/PrintConfig.cpp:1609 +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 "" +"La vitesse de chargement d'un filament dans l'extrudeur après une " +"rétractation (ne s'applique qu'au moteur de l'extrudeur). Si cette valeur " +"reste sur zéro, la vitesse de rétraction est utilisée." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1626 -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." -msgstr "Vitesse pour imprimer les couches solides supérieures (ne s'applique qu'aux couches externes les plus hautes et pas aux couches internes solides). Vous voudrez peut-être abaisser cette vitesse afin d'avoir une finition de surface plus nette. Peut être exprimé en pourcentage (par exemple: 80%) de la vitesse de remplissage solide susmentionnée. Réglez sur zéro pour un ajustement automatique." +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" +msgstr "Position de la jointure" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1648 -msgid "Speed for travel moves (jumps between distant extrusion points)." -msgstr "Vitesse pour les déplacements (trajet entre deux points d'extrusion distants)." +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "Position des points de départ des périmètres." -#: xs/src/libslic3r/PrintConfig.cpp:460 -msgid "Speed used for loading the filament on the wipe tower. " -msgstr "Vitesse utilisée pour charger le filament sur la tour de nettoyage. " +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:468 -msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming). " -msgstr "Vitesse utilisée pour décharger le filament sur la tour de nettoyage (n'affecte pas l'étape initiale de déchargement juste après l'expulsion). " +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1322 -msgid "Spiral vase" -msgstr "Vase spiral" +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:540 -msgid "Spiral Vase" -msgstr "Vase Spiral" +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:188 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:204 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split" -msgstr "Scinder" +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "Direction" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split the selected object into individual parts" -msgstr "Scinder l'objet sélectionné en pièces individuelles" +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "Direction préférée de la jointure" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:847 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1342 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1357 -msgid "Start G-code" -msgstr "G-code de début" +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "Direction préférée de la jointure" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "Start new slicing process" -msgstr "Démarrer un nouveau processus de découpe" +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "Gigue" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:296 -msgid "Status:" -msgstr "État :" +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "Gigue de la direction préférée de la jointure" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1539 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1581 -msgid "STL file exported to " -msgstr "Fichier STL exporté vers " +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "Direction préférée de la jointure - gigue" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Success!" -msgstr "Réussi !" +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "Port USB/Série pour la connexion de l'imprimante." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:198 -msgid "support" -msgstr "support" +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "Vitesse du port série" -#: xs/src/slic3r/GUI/GUI.cpp:879 -msgid "Support" -msgstr "Support" +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." +msgstr "Vitesse (baud) du port USB/série pour la connexion à l'imprimante." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:620 -msgid "Support Generator" -msgstr "Générateur de Support" +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "Distance de l'objet" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:208 -msgid "support interface" -msgstr "interface du support" +#: src/libslic3r/PrintConfig.cpp:1680 +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 "" +"Distance entre le ou les objet(s) et la jupe. Mettez zéro pour attacher la " +"jupe a(ux) objet(s) et obtenir une bordure pour une meilleure adhésion." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:374 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:375 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:191 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1030 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1380 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1387 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1399 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1409 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1417 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1432 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1453 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1464 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1480 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1489 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1498 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1509 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1525 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1533 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1534 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1543 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1551 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1565 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:147 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:89 -msgid "Support material" -msgstr "Support" +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "Hauteur de la jupe" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1497 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:148 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:90 -msgid "Support material interface" -msgstr "Interface des supports" +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." +msgstr "" +"Hauteur de la jupe exprimée en couches. Mettez une valeur élevée pour " +"utiliser la jupe comme un bouclier contre les flux d'airs." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1552 -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)." -msgstr "Le support ne sera pas généré pour les surplombs dont l'inclinaison (90° = vertical) dépasse le seuil défini. Autrement dit, cette valeur représente l'inclinaison horizontale maximum (mesurée à partir du plan horizontal) que vous pouvez imprimer sans support. Réglez sur zéro pour une détection automatique (recommandé)." +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" +msgstr "Boucles (minimum)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1470 -msgid "Support material/raft interface extruder" -msgstr "Extrudeur pour l'interface des supports/du radeau" +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "Boucles de la Jupe" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1444 -msgid "Support material/raft/skirt extruder" -msgstr "Extrudeur pour support/raft/jupe" +#: src/libslic3r/PrintConfig.cpp:1699 +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 "" +"Nombre de boucles pour la jupe. Si la Longueur Minimale d'Extrusion est " +"paramétrée, le nombre de boucles minimal sera plus grand que celui configuré " +"ici. Mettez à zéro pour désactiver complètement la jupe." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1408 -msgid "Support on build plate only" -msgstr "Support sur le plateau uniquement" +#: src/libslic3r/PrintConfig.cpp:1708 +msgid "Slow down if layer print time is below" +msgstr "Ralentir si le temps d'impression de la couche est inférieur à" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:617 +#: src/libslic3r/PrintConfig.cpp:1709 msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +"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 "" -"Les supports sont plus efficaces, si la fonctionnalité suivante est activée :\n" -"-Détection des périmètres de pont\n" -"\n" -"Voulez-vous que que je modifie les réglages des supports ?" +"Si le temps d'impression estimé de la couche est inférieur à ce nombre de " +"secondes, la vitesse des déplacements d'impression sera réduite afin " +"d'atteindre cette valeur." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:59 -msgid "Suppress \" - default - \" presets" -msgstr "Supprimer les préréglages \" - par défaut - \"" +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" +msgstr "Périmètres courts" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:61 -msgid "Suppress \" - default - \" presets in the Print / Filament / Printer selections once there are any other valid presets available." -msgstr "Supprimer les préréglages \" - par défaut - \" dans les choix Impression / Filament / Imprimante une fois qu'il y a d'autres préréglages valides disponibles." +#: src/libslic3r/PrintConfig.cpp:1722 +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 "" +"Ce réglage distinct affectera la vitesse des périmètre ayant un rayon <= " +"6.5mm (les trous habituellement). Si cette valeur est exprimée en " +"pourcentage (par exemple: 80%) elle sera calculée d'après le réglage de la " +"vitesse de périmètre susmentionnée. Réglez sur zéro pour un ajustement " +"automatique." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "SVG" -msgstr "SVG" +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" +msgstr "Surface de seuil pour le remplissage solide" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:325 +#: src/libslic3r/PrintConfig.cpp:1734 msgid "" -"Switching to simple settings will discard changes done in the advanced mode!\n" -"\n" -"Do you want to proceed?" +"Force solid infill for regions having a smaller area than the specified " +"threshold." msgstr "" -"Basculer vers les réglages simples annulera les changements effectués en mode avancé !\n" -"\n" -"Voulez-vous continuer ?" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1544 -msgid "Synchronize support layers with the object print layers. This is useful with multi-material printers, where the extruder switch is expensive." -msgstr "Synchroniser les couches du support avec les couches d'impression de l'objet. Cela est utile pour les imprimantes multi-matériaux, pour lesquelles le changement d'extrudeur est onéreux." +"Forcer un remplissage solide pour les zones ayant une surface plus petite " +"que la valeur indiquée." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1542 -msgid "Synchronize with object layers" -msgstr "Synchroniser avec les couches de l'objet" +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" +msgstr "mm²" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "System Info" -msgstr "Informations sur le Système" +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "Extrudeur pour le remplissage solide" -#: xs/src/slic3r/GUI/Tab.cpp:2286 xs/src/slic3r/GUI/Tab.cpp:2372 -#: xs/src/slic3r/GUI/Preset.cpp:605 xs/src/slic3r/GUI/Preset.cpp:645 -#: xs/src/slic3r/GUI/Preset.cpp:670 xs/src/slic3r/GUI/Preset.cpp:702 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1069 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1122 lib/Slic3r/GUI/Plater.pm:552 -msgid "System presets" -msgstr "Préréglages système" +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "L'extrudeur à utiliser pour imprimer les remplissages solides." -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Take Configuration Snapshot" -msgstr "Prendre un snapshot de la configuration" +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "Remplissage solide toutes les" -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Taking configuration snapshot" -msgstr "Snapshot de la configuration en cours" +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "" +"Cette fonction permet de forcer l'impression d'une couche solide après le " +"nombre de couches indiqué. Réglez sur zéro pour la désactiver. Vous pouvez " +"indiquer n'importe quelle valeur (par exemple 9999); Slic3r choisira " +"automatiquement le nombre maximum de couches a combiner en fonction du " +"diamètre de la buse et de l'épaisseur des couches." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1576 -msgid "Temperature" -msgstr "Température" +#: src/libslic3r/PrintConfig.cpp:1766 +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." +msgstr "" +"Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la " +"largeur d’extrusion pour le remplissage ou les surfaces solides. Si la " +"valeur reste sur zéro, la largeur d’extrusion par défaut sera utilisée si " +"définie, sinon la valeur 1.125 x diamètre de la buse sera utilisée. Si la " +"valeur est exprimée en pourcentage (par exemple : 90%), elle sera calculée " +"par rapport à la hauteur de couche." + +#: src/libslic3r/PrintConfig.cpp:1777 +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 "" +"Vitesse pour imprimer des zones solides (supérieures/inférieures/parois " +"horizontales internes). Peut être exprimée en pourcentage (par exemple: 80%) " +"de la vitesse de remplissage par défaut susmentionnée. Réglez sur zéro pour " +"un ajustement automatique." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:794 -msgid "Temperature " -msgstr "Température " +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "" +"Nombre de couches solides à générer sur les surfaces supérieures et " +"inférieures." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1333 -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 "Différence de température devant être appliquée quand un extrudeur n'est pas actif. Permet la génération d'un contour complet \"sacrificiel\" sur lequel les buses sont nettoyées régulièrement." +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "Vase spiral" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1332 +#: src/libslic3r/PrintConfig.cpp:1797 +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 "" +"Cette fonction élèvera le Z graduellement en cas d'impression d'un objet à " +"paroi unique, afin de rendre invisibles les jointures. Cette option " +"nécessite de n'avoir qu'un seul périmètre, de ne pas avoir de remplissage, " +"ni de surface solide supérieure, ni de support. Vous pouvez toujours choisir " +"le nombre de surface solides inférieures de même que les boucles des jupes " +"et des bordures. Cela ne fonctionnera pas si vous imprimez plus d'un objet." + +#: src/libslic3r/PrintConfig.cpp:1806 msgid "Temperature variation" msgstr "Variation de température" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Temperatures" -msgstr "Températures" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1004 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1072 -msgid "Test" -msgstr "Test" +#: src/libslic3r/PrintConfig.cpp:1807 +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 "" +"Différence de température devant être appliquée quand un extrudeur n'est pas " +"actif. Permet la génération d'un contour complet \"sacrificiel\" sur lequel " +"les buses sont nettoyées régulièrement." -# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -msgid "The " +#: src/libslic3r/PrintConfig.cpp:1818 +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 "" +"Cette procédure de démarrage est insérée au début, après que le plateau a " +"atteint la température ciblée et lorsque l'extrudeur vient juste de " +"commencer à chauffer, et avant que l'extrudeur ait terminé de chauffer. Si " +"Slic3r détecte des commandes M104 ou M190 dans vos codes personnalisés, ces " +"commandes ne seront pas ajoutées automatiquement ainsi vous serez libre de " +"personnaliser l'ordre des commandes de chauffe et autres actions " +"personnalisées. Notez que vous pouvez utiliser des variables génériques pour " +"tous les réglages de Slic3r, donc vous pouvez mettre une commande " +"\"M109S[first_layer_temperature]\" où vous le souhaitez." + +#: src/libslic3r/PrintConfig.cpp:1834 +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 "" +"Cette procédure de démarrage est insérée au début, après un gcode de " +"démarrage de l'imprimante. Elle est utilisée pour remplacer les réglages " +"pour un filament spécifique. Si Slic3r détecte des commandes M104, M109, " +"M140 ou M190 dans vos codes personnalisés ces commandes ne seront pas " +"ajoutées automatiquement, de cette manière vous pouvez personnaliser la " +"procédure de chauffe et autres actions. Notez que vous pouvez utiliser des " +"variables génériques pour tous les réglages de Slic3r, donc vous pouvez " +"saisir une commande \"M109 S[first_layer_temperature]\" où vous voulez. Si " +"vous avez plusieurs extrudeurs, le G-Code sera exécuté dans l'ordre des " +"extrudeurs." + +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "Extrudeur Unique Multi-Matériaux" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:309 -msgid "The extruder to use (unless more specific extruder settings are specified). This value overrides perimeter and infill extruders, but not the support extruders." -msgstr "L'extrudeur à utiliser (à moins que d'autres réglages d'extrudeur plus spécifiques soient spécifiés). Cette valeur se substitue aux extrudeurs de périmètre et de remplissage, mais pas aux extrudeurs de support." +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "L'imprimante multiplexe les filaments vers une seule tête d'extrusion." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:703 -msgid "The extruder to use when printing infill." -msgstr "L'extrudeur à utiliser pour imprimer le remplissage." +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:959 -msgid "The extruder to use when printing perimeters and brim. First extruder is 1." -msgstr "L'extrudeur à utiliser pour imprimer les périmètres et la bordure. Le premier extrudeur a le numéro 1." +#: src/libslic3r/PrintConfig.cpp:1858 +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1273 -msgid "The extruder to use when printing solid infill." -msgstr "L'extrudeur à utiliser pour imprimer les remplissages solides." +#: src/libslic3r/PrintConfig.cpp:1864 +msgid "Generate support material" +msgstr "Générer des supports" + +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "Activer la génération des supports." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1472 -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 "L'extrudeur à utiliser pour imprimer les intercalaires du support (1+,0 pour utiliser l'extrudeur actuel et limiter les changements d'outil). Cela affecte également le raft." +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1446 -msgid "The extruder to use when printing support material, raft and skirt (1+, 0 to use the current extruder to minimize tool changes)." -msgstr "L'extrudeur à utiliser pour imprimer des supports, du raft ou des contours (1+,0 pour utiliser l'extrudeur actuel et limiter les changements d'outil)." +#: src/libslic3r/PrintConfig.cpp:1873 +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 "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:209 -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 "La première couche sera réduite sur le plan XY selon la valeur configurée afin de compenser l'écrasement de la première couche également connu sous le nom d'effet Pied d'Éléphant." +#: src/libslic3r/PrintConfig.cpp:1880 +msgid "XY separation between an object and its support" +msgstr "Séparation XY entre un objet et son support" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1734 -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 "L'objet sera agrandi/réduit sur les plans XY selon la valeur indiquée (négatif = réduit, positif = agrandi). Ce réglage peut être utile pour un réglage fin des tailles de trous." +#: src/libslic3r/PrintConfig.cpp:1882 +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 "" +"Séparation XY entre un objet et son support. Si la valeur est exprimée en " +"pourcentage (par exemple 50%), elle sera calculée à partir de la largeur du " +"périmètre extérieur." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1031 -msgid "The object will be raised by this number of layers, and support material will be generated under it." -msgstr "L'objet sera surélevé de ce nombre de couches, et du support sera généré en dessous." +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" +msgstr "Angle du motif" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1374 -msgid "The printer multiplexes filaments into a single hot end." -msgstr "L'imprimante multiplexe les filaments vers une seule tête d'extrusion." +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." +msgstr "" +"Utiliser ce réglage pour orienter le motif du support sur le plan horizontal." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:324 -msgid "The selected file contains no geometry." -msgstr "Le fichier sélectionné ne contient aucune géométrie." +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"Only create support if it lies on a build plate. Don't create support on a " +"print." +msgstr "" +"Créer uniquement des supports reposant sur le plateau. Ne pas créer pas de " +"supports sur une impression." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:328 -msgid "The selected file contains several disjoint areas. This is not supported." -msgstr "Le fichier sélectionné contient plusieurs zones disjointes. Cela n'est pas utilisable." +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "Distance de contact Z" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1112 -msgid "The selected object can't be split because it contains more than one volume/material." -msgstr "L'objet sélectionné ne peut être scindé car il contient plus d'un volume/matériau." +#: src/libslic3r/PrintConfig.cpp:1915 +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 "" +"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." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1121 -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/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1144 -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 "La vitesse de chargement d'un filament dans l'extrudeur après une rétractation (ne s'applique qu'au moteur de l'extrudeur). Si cette valeur reste sur zéro, la vitesse de rétraction est utilisée." +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1136 -msgid "The speed for retractions (it only applies to the extruder motor)." -msgstr "La vitesse des rétractations (ne s'applique qu'au moteur de l'extrudeur)." +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "Renforcer le support sur le(s) première(s)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:533 -#, no-c-format +#: src/libslic3r/PrintConfig.cpp:1931 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?" +"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 "" -"Le mode Vase Spiral requiert :\n" -"-Un périmètre\n" -"-Pas de couches solides supérieures\n" -"-Une densité de remplissage de 0%\n" -"-Pas de supports\n" -"-Pas de ensure_vertical_shell_thickness\n" -"\n" -"Voulez-vous que je modifie ces réglages afin d'activer le Vase Spirale?" +"Générer des supports pour le nombre de couches spécifié à partir du bas, que " +"les supports normaux soient activés ou non et sans tenir compte de seuils " +"d'inclinaison. Ceci est utile pour obtenir une meilleure adhésion pour des " +"objets ayant une surface de contact très fine ou limitée sur le plateau." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1560 -msgid "The supplied name is empty. It can't be saved." -msgstr "Le nom proposé est vide. Sauvegarde impossible." +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "Renforcer le support pour les n premières couches" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1788 -msgid "The supplied name is not available." -msgstr "Le nom proposé n'est pas disponible." +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "Extrudeur pour support/raft/jupe" + +#: src/libslic3r/PrintConfig.cpp:1945 +msgid "" +"The extruder to use when printing support material, raft and skirt (1+, 0 to " +"use the current extruder to minimize tool changes)." +msgstr "" +"L'extrudeur à utiliser pour imprimer des supports, du raft ou des contours " +"(1+,0 pour utiliser l'extrudeur actuel et limiter les changements d'outil)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1785 -msgid "The supplied name is not valid; the following characters are not allowed:" -msgstr "Le nom proposé n'est pas valide ; les caractères suivants ne sont pas autorisés :" +#: src/libslic3r/PrintConfig.cpp:1955 +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." +msgstr "" +"Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la " +"largeur d’extrusion pour les supports. Si la valeur reste sur zéro, la " +"largeur d’extrusion par défaut sera utilisée si définie, sinon le diamètre " +"de la buse sera utilisée. Si la valeur est exprimée en pourcentage (par " +"exemple : 90%), elle sera calculée par rapport à la hauteur de couche." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1418 -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 "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/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "Boucles d'interface" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1312 +#: src/libslic3r/PrintConfig.cpp:1966 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?" +"Cover the top contact layer of the supports with loops. Disabled by default." 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 ?" +"Recouvrir la couche de contact supérieure des supports avec des boucles. " +"Désactivé par défaut." + +#: src/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "Extrudeur pour l'interface des supports/du radeau" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:581 +#: src/libslic3r/PrintConfig.cpp:1974 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?" +"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 "" -"A l'heure actuelle la Tour de Nettoyage ne tolère les supports non-solubles \n" -"que s'ils sont imprimés avec l'extrudeur en cours d'utilisation sans déclencher un changement d'outil.\n" -"(support_material_extruder de même que support_material_interface_extruder doivent être réglés sur 0).\n" -"\n" -"Voulez-vous que je modifie ces réglages pour activer la Tour de Nettoyage ?" +"L'extrudeur à utiliser pour imprimer les intercalaires du support (1+,0 pour " +"utiliser l'extrudeur actuel et limiter les changements d'outil). Cela " +"affecte également le raft." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:60 -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." -msgstr "Ce code est inséré entre des objets lorsque vous utilisez l'impression séquentielle. Par défaut la température de l'extrudeur et du plateau est réinitialisée et utilise la commande sans-attente ; toutefois si des commandes M104, M109, M140 ou M190 sont détectées dans ce code personnalisé, Slic3r n'ajoutera pas de commandes de température. Notez que vous pouvez utiliser des variables génériques pour tous les réglages de Slic3r, donc vous pouvez entrer une commande \"M109S[first_layer_temperature]\" où vous le souhaitez." +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" +msgstr "Couches d'interface" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:767 -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 "Ce code personnalisé est inséré à chaque changement de couche, juste après le mouvement Z et avant le déplacement de l'extrudeur au point de départ de la couche suivante. Notez que vous pouvez utiliser des variables génériques pour tous les réglages de Slic3r de même que [layer_num] et [layer_z]." +#: src/libslic3r/PrintConfig.cpp:1984 +msgid "" +"Number of interface layers to insert between the object(s) and support " +"material." +msgstr "" +"Nombre de couches d'interface à insérer entre le(s) objet(s) et les supports." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:49 -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 "Ce code personnalisé est inséré à chaque changement de couche, juste avant le mouvement en Z. Notez que vous pouvez utiliser des variables génériques pour tous les réglages de Slic3r de même que [layer_num] et [layer_z]." +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "Espacement du motif d'interface" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1603 -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 "Ce code personnalisé est inséré juste avant chaque changement d'extrudeur. Notez que vous pouvez utiliser des variables génériques pour tous les réglages de Slic3r de même que [previous_extruder] et [next_extruder]." +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." +msgstr "" +"Espacement entre les lignes d'interface. Mettez à zéro pour obtenir une " +"interface solide." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:228 -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 "Cette procédure de fin est insérée à la fin du fichier de sortie, avant le gcode de fin de l'imprimante. Notez que vous pouvez utiliser des variables génériques pour tous les réglages de Slic3r. Si vous avez plusieurs extrudeurs, le gcode sera traité suivant l'ordre des extrudeurs." +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." +msgstr "" +"Vitesse d'impression des couches d'interface des supports. Si exprimée en " +"pourcentage (par exemple 50%), elle sera calculée à partir de la vitesse " +"d'impression des supports." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:218 -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 "Cette procédure de fin est insérée à la fin du fichier de sortie. Notez que vous pouvez utiliser des variables génériques pour tous les réglages de Slic3r." +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "Motif" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:827 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:838 -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." -msgstr "Ce réglage expérimental sert à limiter la vitesse de changement dans le flux d'extrusion. Une valeur de 1.8 mm³/s² garantit qu'un changement de flux d'extrusion de 1.8 mm³/s (largeur d'extrusion 0.45mm, hauteur d'extrusion 0.2mm, alimentation 20 mm/s) à 5.4 mm³/s (alimentation 60 mm/s) prendra au moins 2 secondes." +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "Motif utilisé pour générer les supports." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:818 -msgid "This experimental setting is used to set the maximum volumetric speed your extruder supports." -msgstr "Ce réglage expérimental est utilisé pour paramétrer la vitesse volumétrique maximum tolérée par votre extrudeur." +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1657 -msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." -msgstr "Ce réglage expérimental utilise les commandes G10 et G11 pour laisser le firmware gérer la rétractation. Utilisable seulement par les versions récentes de Marlin." +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "Espacement du motif" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1671 -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 "Cette fonction expérimentale génère des valeurs de E en millimètres cubiques au lieu de millimètres linéaires. Si votre firmware ne connait pas déjà le diamètre du filament, vous pouvez saisir une commande comme 'M200 D[filament_diameter_0] T0' dans votre G-Code de début pour activer le mode volumétrique, et utiliser le diamètre de filament associé au filament choisi dans Slic3r. Cette fonction n'est utilisable que dans les versions récentes de Marlin." +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "Espacement entre les lignes des supports." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:108 -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." -msgstr "Ce facteur affecte la quantité de plastique utilisée pour les ponts. Vous pouvez le diminuer légèrement pour éviter l'affaissement. La valeur par défaut est généralement suffisante et vous devriez expérimenter le refroidissement (utiliser un ventilateur) avant de modifier ceci." +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "Vitesse d'impression du support." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:368 -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." -msgstr "Ce facteur modifie proportionnellement le flux d'extrusion. Vous pouvez avoir besoin de modifier ceci afin d'obtenir un rendu de surface net et une largeur correcte pour les murs uniques. Les valeurs habituelles vont de 0.9 à 1.1. Si vous pensez devoir changer davantage cette valeur, vérifiez le diamètre de votre filament et les E Steps dans le firmware." +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "Synchroniser avec les couches de l'objet" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:98 -msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "Cette vitesse de ventilateur sera utilisée pour les ponts et les surplombs." +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." +msgstr "" +"Synchroniser les couches du support avec les couches d'impression de " +"l'objet. Cela est utile pour les imprimantes multi-matériaux, pour " +"lesquelles le changement d'extrudeur est onéreux." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:692 -msgid "This feature allows to combine infill and speed up your print by extruding thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "Cette fonction permet de combiner le remplissage afin d'accélérer l'impression en extrudant des couches de remplissage plus épaisses tout en conservant des périmètres fins, avec plus de précision." +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" +msgstr "Seuil de surplomb" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1281 -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." -msgstr "Cette fonction permet de forcer l'impression d'une couche solide après le nombre de couches indiqué. Réglez sur zéro pour la désactiver. Vous pouvez indiquer n'importe quelle valeur (par exemple 9999); Slic3r choisira automatiquement le nombre maximum de couches a combiner en fonction du diamètre de la buse et de l'épaisseur des couches." +#: src/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "" +"Le support ne sera pas généré pour les surplombs dont l'inclinaison (90° = " +"vertical) dépasse le seuil défini. Autrement dit, cette valeur représente " +"l'inclinaison horizontale maximum (mesurée à partir du plan horizontal) que " +"vous pouvez imprimer sans support. Réglez sur zéro pour une détection " +"automatique (recommandé)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1323 -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 "Cette fonction élèvera le Z graduellement en cas d'impression d'un objet à paroi unique, afin de rendre invisibles les jointures. Cette option nécessite de n'avoir qu'un seul périmètre, de ne pas avoir de remplissage, ni de surface solide supérieure, ni de support. Vous pouvez toujours choisir le nombre de surface solides inférieures de même que les boucles des jupes et des bordures. Cela ne fonctionnera pas si vous imprimez plus d'un objet." +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "Avec une enveloppe autour du support" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:663 +#: src/libslic3r/PrintConfig.cpp:2073 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" +"Add a sheath (a single perimeter line) around the base support. This makes " +"the support more reliable, but also more difficult to remove." 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?\n" +"Ajouter une enveloppe (une ligne unique de périmètre) autour de la base du " +"support. Ceci rend le support plus fiable, mais aussi plus difficile à " +"retirer." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:164 -msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." -msgstr "Cette option active la logique de refroidissement automatique, qui ajuste la vitesse d'impression et celle du ventilateur en fonction du temps d'impression de la couche." +#: src/libslic3r/PrintConfig.cpp:2081 +msgid "" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." +msgstr "" +"Température de l'extrudeur pour les couches après la première. Mettez zéro " +"pour désactiver les commandes de contrôle de la température dans le fichier " +"de sortie." -#: xs/src/slic3r/GUI/GUI.cpp:899 -msgid "This flag enables the brim that will be printed around each object on the first layer." -msgstr "Cette option permet l'impression de la bordure qui entoure chaque objet lors de la première couche." +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "Température" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1066 -msgid "This flag enforces a retraction whenever a Z move is done." -msgstr "Cette option active la rétractation lors d'un déplacement sur l'axe Z." +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "Détecter les parois fines" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1689 -msgid "This flag will move the nozzle while retracting to minimize the possible blob on leaky extruders." -msgstr "Cette option déplace la buse lors des rétractations, limitant ainsi l'apparition d'amas sur les extrudeurs ayant tendance à couler." +#: src/libslic3r/PrintConfig.cpp:2092 +msgid "" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." +msgstr "" +"Détecter les parois de largeur unique (où deux extrusions côte à côte ne " +"rentrent pas et doivent êtres fusionnées en un seul trait)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:343 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:406 -msgid "This is only used in the Slic3r interface as a visual help." -msgstr "Ceci est uniquement utilisé dans l'interface de Slic3r comme indication visuelle." +#: src/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" +msgstr "Threads" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:171 -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." -msgstr "Accélération à laquelle votre imprimante sera réinitialisée suite à une modification de l'accélération des fonctions spécifiques (périmètre/remplissage). Régler sur zéro pour ne pas réinitialiser l'accélération." +#: src/libslic3r/PrintConfig.cpp:2100 +msgid "" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." +msgstr "" +"Les threads sont utilisés pour paralléliser les calculs longs. Le nombre " +"optimal de threads est légèrement supérieur au nombre de coeurs/processeurs " +"disponibles." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:78 -msgid "This is the acceleration your printer will use for bridges. Set zero to disable acceleration control for bridges." -msgstr "L'accélération qui sera utilisée par votre imprimante pour les ponts. Régler sur zéro pour désactiver l'accélération pour les ponts." +#: src/libslic3r/PrintConfig.cpp:2112 +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 "" +"Ce code personnalisé est inséré juste avant chaque changement d'extrudeur. " +"Notez que vous pouvez utiliser des variables génériques pour tous les " +"réglages de Slic3r de même que [previous_extruder] et [next_extruder]." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:574 -msgid "This is the acceleration your printer will use for first layer. Set zero to disable acceleration control for first layer." -msgstr "L'accélération que l'imprimante utilisera pour la première couche. Régler sur zéro afin de désactiver le contrôle de l'accélération pour la première couche." +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "" +"Réglez ce paramètre sur une valeur non-nulle pour définir manuellement la " +"largeur d’extrusion pour le remplissage ou les surfaces supérieures. Vous " +"voudrez peut-être utiliser des extrudats plus fins pour remplir les zones " +"les plus étroites et obtenir des finitions plus lisses. Si la valeur reste " +"sur zéro, la largeur d’extrusion par défaut sera utilisée si définie, sinon " +"le diamètre de la buse sera utilisé. Si la valeur est exprimée en " +"pourcentage (par exemple : 90%), elle sera calculée par rapport à la hauteur " +"de couche." + +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "" +"Vitesse pour imprimer les couches solides supérieures (ne s'applique qu'aux " +"couches externes les plus hautes et pas aux couches internes solides). Vous " +"voudrez peut-être abaisser cette vitesse afin d'avoir une finition de " +"surface plus nette. Peut être exprimé en pourcentage (par exemple: 80%) de " +"la vitesse de remplissage solide susmentionnée. Réglez sur zéro pour un " +"ajustement automatique." + +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "Haut" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:682 -msgid "This is the acceleration your printer will use for infill. Set zero to disable acceleration control for infill." -msgstr "Il s'agit de l'accélération que votre imprimante utilisera pour le remplissage. Régler sur zéro afin de désactiver le contrôle de l'accélération pour le remplissage." +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "Nombre de couches solides à générer sur les surfaces supérieures." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:949 -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 "L'accélération que votre imprimante utilisera pour les périmètres. Une valeur élevée comme 9000 donne généralement de bons résultats si votre matériel le permet. Régler sur zéro afin de désactiver le contrôle de l'accélération pour les périmètres." +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "Couches supérieures solides" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:895 -msgid "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" -msgstr "Il s'agit du diamètre de la buse de votre extrudeur (par exemple: 0.5, 0.35, etc.)" +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "" +"Vitesse pour les déplacements (trajet entre deux points d'extrusion " +"distants)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:797 -#, no-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." -msgstr "Ceci est la hauteur de couche imprimable maximum pour cet extrudeur, utilisée pour plafonner la hauteur de couche variable et la hauteur de couche des supports. La hauteur de couche maximum recommandée est 75% de la largeur d'extrusion afin d'obtenir une adhésion inter-couches correcte. Si réglée sur 0, la hauteur de couche est limitée à 75% du diamètre de la buse." +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "Utiliser la rétractation du firmware" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:858 -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." -msgstr "Cette valeur est la hauteur de couche imprimable minimum pour cet extrudeur et elle limite la résolution pour la hauteur de couche variable. Les valeurs type se situent entre 0.05 mm et 0.1 mm." +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." +msgstr "" +"Ce réglage expérimental utilise les commandes G10 et G11 pour laisser le " +"firmware gérer la rétractation. Utilisable seulement par les versions " +"récentes de Marlin." -#: xs/src/libslic3r/PrintConfig.cpp:1816 -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 "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/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "Utiliser des valeurs E relatives" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:990 -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." -msgstr "Cette option définit le nombre de périmètres à générer pour chaque couche. Notez que Slic3r peut augmenter cette valeur automatiquement si il détecte une surface inclinée qui nécessite un plus grand nombre de périmètres, si l'option \"Périmètres supplémentaires\" est sélectionnée." +#: src/libslic3r/PrintConfig.cpp:2177 +msgid "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." +msgstr "" +"Si votre firmware requiert des valeurs relatives pour E, cochez cette case, " +"sinon laissez-la décochée. La plupart des firmwares utilisent des valeurs " +"absolues." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:923 -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 "Cette option abaissera la température des extrudeurs inutilisés pour prévenir le oozing (suintement). Cela active automatiquement la génération d'une grande jupe et le déplacement des extrudeurs hors de cette jupe lors des changements de température." +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" +msgstr "E Volumétrique" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:728 -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." -msgstr "Cette option limitera le remplissage aux zones nécessaires pour soutenir les couches supérieures (cela agira comme un support interne). Si activé, la génération du G-Code prendra plus de temps à cause des calculs supplémentaires requis." +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" +"Cette fonction expérimentale génère des valeurs de E en millimètres cubiques " +"au lieu de millimètres linéaires. Si votre firmware ne connait pas déjà le " +"diamètre du filament, vous pouvez saisir une commande comme 'M200 " +"D[filament_diameter_0] T0' dans votre G-Code de début pour activer le mode " +"volumétrique, et utiliser le diamètre de filament associé au filament choisi " +"dans Slic3r. Cette fonction n'est utilisable que dans les versions récentes " +"de Marlin." + +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "Activer la fonction de hauteur de couche variable" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:721 -msgid "This option will switch the print order of perimeters and infill, making the latter first." -msgstr "Cette option inverse l'ordre d'impression des périmètres et du remplissage, ce dernier étant alors imprimé en premier." +#: src/libslic3r/PrintConfig.cpp:2197 +msgid "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." +msgstr "" +"Certaines imprimantes ou certains réglages d'imprimante peuvent rencontrer " +"des difficultés pour imprimer avec une hauteur de couche variable. Activé " +"par défaut." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:279 -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." -msgstr "Ce réglage distinct affectera la vitesse des périmètres extérieurs (ceux qui sont visibles). Si cette valeur est exprimée en pourcentage (par exemple: 80%) elle sera calculée d'après le réglage de la vitesse de périmètre susmentionnée. Réglez sur zéro pour un ajustement automatique." +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "Nettoyer lors des rétractations" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1252 -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 "Ce réglage distinct affectera la vitesse des périmètre ayant un rayon <= 6.5mm (les trous habituellement). Si cette valeur est exprimée en pourcentage (par exemple: 80%) elle sera calculée d'après le réglage de la vitesse de périmètre susmentionnée. Réglez sur zéro pour un ajustement automatique." +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." +msgstr "" +"Cette option déplace la buse lors des rétractations, limitant ainsi " +"l'apparition d'amas sur les extrudeurs ayant tendance à couler." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:737 -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." -msgstr "Cette option applique un chevauchement supplémentaire entre les périmètres et le remplissage pour une meilleur fusion. En théorie, cela ne devrait pas être nécessaire, mais le jeu mécanique peut générer des espacements. Si exprimé en pourcentage (par exemple 15%), la valeur sera calculée en fonction de la largeur d'extrusion du périmètre." +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." +msgstr "" +"Les imprimantes multi-matériaux peuvent avoir besoin de préparer ou de " +"purger leurs extrudeurs lors d'un changement d'outil. Extruder le matériau " +"en excès dans la tour de nettoyage." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:779 -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 "Cette option contrôle l'épaisseur (et donc le nombre total) des couches. Des couches plus fines donneront une meilleure précision mais l'impression sera plus longue." +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" +msgstr "Volumes de purge - volumes de chargement/déchargement" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:788 -msgid "This setting represents the maximum speed of your fan." -msgstr "Cette option représente la vitesse maximum du ventilateur." +#: src/libslic3r/PrintConfig.cpp:2221 +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 "" +"Ce vecteur enregistre les volumes requis pour changer l'outil utilisé pour " +"la tour de nettoyage. Ces valeurs sont utilisées pour simplifier la création " +"des volumes de purge complets ci-dessous. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:849 -msgid "This setting represents the minimum PWM your fan needs to work." -msgstr "Cette option représente le PWM minimum dont votre ventilateur a besoin pour tourner." +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" +msgstr "Volumes de purge - matrice" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 -#, c-format -msgid "This Slic3r PE version: %s" -msgstr "Version de ce Slic3r PE : %s" +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" +"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. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1358 -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 "Cette procédure de démarrage est insérée au début, après un gcode de démarrage de l'imprimante. Elle est utilisée pour remplacer les réglages pour un filament spécifique. Si Slic3r détecte des commandes M104, M109, M140 ou M190 dans vos codes personnalisés ces commandes ne seront pas ajoutées automatiquement, de cette manière vous pouvez personnaliser la procédure de chauffe et autres actions. Notez que vous pouvez utiliser des variables génériques pour tous les réglages de Slic3r, donc vous pouvez saisir une commande \"M109 S[first_layer_temperature]\" où vous voulez. Si vous avez plusieurs extrudeurs, le G-Code sera exécuté dans l'ordre des extrudeurs." +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" +msgstr "Position X" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1343 -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 "Cette procédure de démarrage est insérée au début, après que le plateau a atteint la température ciblée et lorsque l'extrudeur vient juste de commencer à chauffer, et avant que l'extrudeur ait terminé de chauffer. Si Slic3r détecte des commandes M104 ou M190 dans vos codes personnalisés, ces commandes ne seront pas ajoutées automatiquement ainsi vous serez libre de personnaliser l'ordre des commandes de chauffe et autres actions personnalisées. Notez que vous pouvez utiliser des variables génériques pour tous les réglages de Slic3r, donc vous pouvez mettre une commande \"M109S[first_layer_temperature]\" où vous le souhaitez." +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "Coordonnée X du coin avant gauche d'une tour de nettoyage" -#: xs/src/libslic3r/PrintConfig.cpp:487 -msgid "This string is edited by RammingDialog and contains ramming specific parameters " -msgstr "Cette chaine est éditée par RammingDialog et contient les paramètres spécifiques d'expulsion " +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "Position Y" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1743 -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 "Cette valeur sera ajoutée (ou soustraite) de toutes les coordonnées Z dans le G-Code de sortie. Elle est utilisée pour compenser une mauvaise position de fin de course Z: par exemple si votre fin de course place votre buse à 0.3mm au dessus du plateau, réglez cette valeur sur -0.3 (ou corrigez votre fin de course)." +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "Coordonnée Y du coin avant gauche d'une tour de nettoyage" -#: xs/src/libslic3r/PrintConfig.cpp:1808 -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 "Ce vecteur enregistre les volumes requis pour changer l'outil utilisé pour la tour de nettoyage. Ces valeurs sont utilisées pour simplifier la création des volumes de purge complets ci-dessous. " +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "Largeur d'une tour de nettoyage" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 -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" -"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 "" -"Cette version de Slic3r PE 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 Slic3r PE après en avoir utilisé une nouvelle.\n" -"\n" -"Vous pouvez soit quitter Slic3r 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 Slic3r.\n" +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "Angle de rotation de la tour de nettoyage" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1590 -msgid "Threads" -msgstr "Threads" +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "Angle de rotation de la tour de nettoyage par rapport à l'axe X " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1591 -msgid "Threads are used to parallelize long-running tasks. Optimal threads number is slightly above the number of available cores/processors." -msgstr "Les threads sont utilisés pour paralléliser les calculs longs. Le nombre optimal de threads est légèrement supérieur au nombre de coeurs/processeurs disponibles." +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "degrés" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -msgid "Time" -msgstr "Durée" +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:477 -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. " -msgstr "Temps d'attente nécessaire après que le filament ait été déchargé. Peut aider à obtenir des changements d'outils fiables avec des matériaux flexible qui ont besoin de plus de temps pour revenir à leurs dimensions originales. " +#: src/libslic3r/PrintConfig.cpp:2273 +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 "" -#: xs/src/slic3r/GUI/Tab.cpp:750 -msgid "To do that please specify a new name for the preset." -msgstr "Pour faire cela veuillez spécifier un nouveau nom pour le préréglage." +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 -msgid "To download, follow the link below." -msgstr "Pour télécharger, suivez le lien ci-dessous." +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:338 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:72 -msgid "Tool" -msgstr "Outil" +#: src/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" +msgstr "Distance maximale de pont" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:238 -msgid "Tool #" -msgstr "Outil #" +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "" +"Distance maximale entre les supports sur les sections de remplissage épars. " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1144 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1602 -msgid "Tool change G-code" -msgstr "G-code de changement d'outil" +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "Compensation de Taille XY" -#: xs/src/slic3r/GUI/Tab.cpp:1315 -msgid "Toolchange parameters with single extruder MM printers" -msgstr "Paramètres de changement d'outil pour les imprimantes multi-matériaux mono-extrudeur" +#: src/libslic3r/PrintConfig.cpp:2299 +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 "" +"L'objet sera agrandi/réduit sur les plans XY selon la valeur indiquée " +"(négatif = réduit, positif = agrandi). Ce réglage peut être utile pour un " +"réglage fin des tailles de trous." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1638 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top" -msgstr "Haut" +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" +msgstr "Décalage Z" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:187 -msgid "top solid infill" -msgstr "remplissage solide supérieur" +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" +"Cette valeur sera ajoutée (ou soustraite) de toutes les coordonnées Z dans " +"le G-Code de sortie. Elle est utilisée pour compenser une mauvaise position " +"de fin de course Z: par exemple si votre fin de course place votre buse à " +"0.3mm au dessus du plateau, réglez cette valeur sur -0.3 (ou corrigez votre " +"fin de course)." + +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1613 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1624 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:143 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:85 -msgid "Top solid infill" -msgstr "Remplissage solide supérieur" +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1642 -msgid "Top solid layers" -msgstr "Couches supérieures solides" +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top View" -msgstr "Vue du Dessus" +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:246 -msgid "Top/bottom fill pattern" -msgstr "Motif de remplissage supérieur/inférieur" +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:245 -msgid "Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded." -msgstr "Le volume de purge total est calculé en additionnant les deux valeurs ci-dessous, en fonction des outils qui sont chargés/déchargés." +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:84 -msgid "Total rammed volume" -msgstr "Volume total expulsé" +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -msgid "Total ramming time" -msgstr "Durée totale de l'expulsion" +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1647 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:95 -msgid "Travel" -msgstr "Déplacement" +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1107 -msgid "Type of the printer." -msgstr "Type d'imprimante." +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Uniformly…" -msgstr "Uniformément…" +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 -msgid "Unknown" -msgstr "Inconnu" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:232 -msgid "unloaded" -msgstr "déchargé" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:467 -msgid "Unloading speed" -msgstr "Vitesse de déchargement" +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2483 -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." +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" 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 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." -#: xs/src/slic3r/GUI/Tab.cpp:2498 -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." +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" msgstr "" -"L'icône CADENAS OUVERT indique que la valeur a été changée et n'est pas égale à la valeur du système.\n" -"Cliquez pour régler la valeur actuelle sur les valeurs du système." -#: xs/src/slic3r/GUI/Tab.cpp:2445 +#: src/libslic3r/PrintConfig.cpp:2403 msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to the system values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system values." +"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 "" -"CADENAS OUVERT;indique que certains paramètres ont été modifiés et ne sont pas égaux aux valeurs du système 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." - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:97 -msgid "Unretractions" -msgstr "Dérétractation" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1492 -msgid "Unsaved Changes" -msgstr "Changements Non Sauvegardés" +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:750 -msgid "Unsaved Presets" -msgstr "Préréglages Non Sauvegardés" +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "Update available" -msgstr "Mise à jour disponible" +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:279 xs/src/slic3r/GUI/Preferences.cpp:67 -msgid "Update built-in Presets automatically" -msgstr "Mettre à jour automatiquement les Préréglages intégrés" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Updates" -msgstr "Mises à jour" +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:283 -msgid "Updates are never applied without user's consent and never overwrite user's customized settings." -msgstr "Les mises à jour ne sont jamais appliquées sans l'accord de l'utilisateur et n'annulent jamais les réglages personnalisés de l'utilisateur." +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 -msgid "Upgrade" -msgstr "Mise à jour" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Upload a firmware image into an Arduino based printer" -msgstr "Charger un firmware dans une imprimante basée sur un Arduino" +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:989 -msgid "USB/Serial connection" -msgstr "Port USB/Série" +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1194 -msgid "USB/serial port for printer connection." -msgstr "Port USB/Série pour la connexion de l'imprimante." +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1656 -msgid "Use firmware retraction" -msgstr "Utiliser la rétractation du firmware" +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:75 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "Utiliser le rendu de legacy OpenGL 1.1" +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1663 -msgid "Use relative E distances" -msgstr "Utiliser des valeurs E relatives" +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:361 -msgid "Use this option to set the axis letter associated to your printer's extruder (usually E but some printers use A)." -msgstr "Utiliser cette option pour indiquer la lettre utilisée par l'extrudeur de votre imprimante (habituellement E, mais certaines imprimantes utilisent A)." +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1400 -msgid "Use this setting to rotate the support material pattern on the horizontal plane." -msgstr "Utiliser ce réglage pour orienter le motif du support sur le plan horizontal." +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1670 -msgid "Use volumetric E" -msgstr "E Volumétrique" +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:449 -msgid "Used Filament (g)" -msgstr "Filament Utilisé (g)" +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:447 -msgid "Used Filament (m)" -msgstr "Filament Utilisé (m)" +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:448 -msgid "Used Filament (mm³)" -msgstr "Filament Utilisé (mm³)" +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 -msgid "User" -msgstr "Utilisateur" +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" +msgstr "" -#: xs/src/slic3r/GUI/Preset.cpp:649 xs/src/slic3r/GUI/Preset.cpp:706 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1127 lib/Slic3r/GUI/Plater.pm:553 -msgid "User presets" -msgstr "Préréglages utilisateur" +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 -msgid "Value is the same as the system value" -msgstr "La valeur est identique à la valeur du système" +#: src/libslic3r/PrintConfig.cpp:2531 +msgid "" +"Controls the bridge type between two neigboring 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 "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 -msgid "Value was changed and is not equal to the system value or the last saved preset" -msgstr "La valeur a été changée et n'est pas égale à la valeur du système ou au dernier préréglage sauvegardé" +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "variants" -msgstr "variantes" +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:755 -msgid "vendor" -msgstr "fabriquant" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:644 -msgid "Verbose G-code" -msgstr "G-code commenté" +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid "Version " -msgstr "Version " +#: src/libslic3r/PrintConfig.cpp:2548 +msgid "" +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." +msgstr "" -#: xs/src/slic3r/GUI/AboutDialog.cpp:60 -msgid "Version" -msgstr "Version" +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 -msgid "version" -msgstr "version" +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:318 -msgid "Vertical shells" -msgstr "Parois verticales" +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:65 -msgid "View" -msgstr "Vue" +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:409 -msgid "Volume" -msgstr "Volume" +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241 -msgid "Volume to purge (mm³) when the filament is being" -msgstr "Volume à purger (mm³) lorsque le filament est" +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Volumetric" -msgstr "Volumétrique" +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 -msgid "Volumetric flow rate" -msgstr "Débit volumétrique" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:370 -msgid "Volumetric flow rate (mm3/s)" -msgstr "Débit volumétrique (mm3/s)" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:86 -msgid "Volumetric speed" -msgstr "Vitesse volumétrique" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:500 -msgid "Warning" -msgstr "Alerte" +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -msgid "Welcome" -msgstr "Bienvenue" +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "" +"How many support points (approximately) should be placed on horizontal " +"surface." +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -#, c-format -msgid "Welcome to the Slic3r %s" -msgstr "Bienvenue sur Slic3r %s" +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:131 -msgid "What do you want to print today? ™" -msgstr "Que voulez-vous imprimer aujourd'hui? ™" +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:69 -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 "Lorsqu'ils sont sélectionnés, les préréglages de l'imprimante et du filament sont visibles dans l'éditeur de préréglage même s'ils sont désignés comme incompatibles avec l'imprimante en cours d'utilisation" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:219 -msgid "when printing " -msgstr "pendant l'impression des " +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:136 -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 "Lorsque vous imprimez des objets multi-matériaux, ce réglage fera en sorte que Slic3r rattache ensemble les parties de l'objet qui se superposent (la 2e partie sera rattachée à la 1ere, la 3e partie sera rattachée à la 1ere et la 2e, etc...)." +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:155 -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 "Lorsque vous imprimez plusieurs objets ou copies, ce réglage permet de terminer un objet avant de passer au suivant (en repartant de sa première couche). Cette fonction est utile pour éviter les risques d'impressions gâchées. Slic3r doit vous avertir et éviter les collisions entre les objets et l'extrudeur, mais soyez vigilant." +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:605 -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." -msgstr "Lors d'une impression avec de très faibles épaisseurs de couche, vous pouvez choisir d'imprimer une première couche plus épaisse pour améliorer l'adhérence et la tolérance aux plateaux imparfaits. Ce réglage peut être exprimé comme une valeur absolue ou un pourcentage (par exemple 150%) par rapport à l'épaisseur de couche par défaut." +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1082 -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 "Lorsque la rétractation est déclenchée avant un changement d'outil, le filament est retiré de la longueur indiquée (la longueur est mesurée sur le filament brut, avant qu'il entre dans l'extrudeur)." +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1073 -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 "Lorsque la rétractation est déclenchée, le filament est tiré en arrière de la longueur indiquée (la longueur est mesurée sur le filament brut, avant qu'il entre dans l'extrudeur)." +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:808 -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." -msgstr "Lorsque vous réglez les autres vitesses à 0, Slic3r calculera automatiquement la vitesse optimale de façon à garder une pression constante dans l'extrudeur. Cette fonction expérimentale est utilisée pour régler la plus haute vitesse que vous souhaitez autoriser." +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1127 -msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." -msgstr "Lorsque la rétractation est compensée après un changement d'outil, l'extrudeur exprimera cette quantité de filament en plus." +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1119 -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 "Lorsque la rétractation est compensée après un déplacement, l'extruder exprimera cette quantité de filament en plus. Ce réglage est rarement nécessaire." +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2486 -msgid "WHITE BULLET icon indicates a non system preset." -msgstr "L'icône en forme de PUCE BLANCHE indique un préréglage non-système." +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2489 -msgid "WHITE BULLET icon indicates that the settings are the same as in the last saved preset for the current option group." -msgstr "L'icône en forme de PUCE BLANCHE indique que les réglages sont identiques au dernier préréglage sauvegardé pour le groupe d'options actuel." +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2504 -msgid "WHITE BULLET icon indicates that the value is the same as in the last saved preset." -msgstr "L'icône PUCE BLANCHE indique que la valeur est la même que pour le dernier préréglage sauvegardé." +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2451 +#: src/libslic3r/PrintConfig.cpp:3031 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." -msgstr "PUCE BLANCHE;pour le bouton gauche : indique un préréglage non-système, pour le bouton droit : indique que le réglage n'a pas été modifié." +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1716 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:70 -msgid "Width" -msgstr "Largeur" +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:334 -msgid "Width (mm)" -msgstr "Largeur (mm)" +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1717 -msgid "Width of a wipe tower" -msgstr "Largeur d'une tour de nettoyage" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:41 -#, c-format -msgid "will always run at %d%% " -msgstr "fonctionnera toujours à %d%% " +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:50 -msgid "will be turned off." -msgstr "sera désactivé." +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:442 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:149 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:91 -msgid "Wipe tower" -msgstr "Tour de nettoyage" +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:564 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:585 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:602 -msgid "Wipe Tower" -msgstr "Tour de Nettoyage" +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:142 -msgid "Wipe tower - Purging volume adjustment" -msgstr "Tour de nettoyage - Ajustement du volume de purge" +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1847 -msgid "Wipe tower rotation angle" -msgstr "Angle de rotation de la tour de nettoyage" +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1848 -msgid "Wipe tower rotation angle with respect to x-axis " -msgstr "Angle de rotation de la tour de nettoyage par rapport à l'axe X " +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1688 -msgid "Wipe while retracting" -msgstr "Nettoyer lors des rétractations" +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1058 -msgid "With bowden extruders, it may be wise to do some amount of quick retract before doing the wipe movement." -msgstr "Avec les extrudeurs bowden, il est conseillé d'effectuer une rétractation rapide avant de réaliser le mouvement de nettoyage." +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1564 -msgid "With sheath around the support" -msgstr "Avec une enveloppe autour du support" +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 +#: src/libslic3r/PrintConfig.cpp:3076 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:" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." msgstr "" -"Voulez-vous l'installer ?\n" -"\n" -"Notez qu'un snapshot 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 :" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1703 -msgid "X coordinate of the left front corner of a wipe tower" -msgstr "Coordonnée X du coin avant gauche d'une tour de nettoyage" +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1386 -msgid "XY separation between an object and its support" -msgstr "Séparation XY entre un objet et son support" +#: src/libslic3r/PrintConfig.cpp:3082 +msgid "" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1388 -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 "Séparation XY entre un objet et son support. Si la valeur est exprimée en pourcentage (par exemple 50%), elle sera calculée à partir de la largeur du périmètre extérieur." +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1732 -msgid "XY Size Compensation" -msgstr "Compensation de Taille XY" +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1710 -msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "Coordonnée Y du coin avant gauche d'une tour de nettoyage" +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1970 -msgid "Yes" -msgstr "Oui" +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:885 -msgid "You can put here your personal notes. This text will be added to the G-code header comments." -msgstr "Vous pouvez inscrire ici vos commentaires personnels. Ce texte sera ajouté au commentaire en entête du G-Code." +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:413 -msgid "You can put your notes regarding the filament here." -msgstr "Vous pouvez saisir vos remarques concernant le filament ici." +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1015 -msgid "You can put your notes regarding the printer here." -msgstr "Vous pouvez saisir ici vos observations concernant l'imprimante." +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:181 -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." -msgstr "Vous pouvez régler ce paramètre sur une valeur positive pour désactiver complètement le ventilateur pendant les premières couches, afin de ne pas rendre l'adhérence plus difficile." +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:931 -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 "Vous pouvez utiliser toutes les options de configuration comme variables dans ce modèle. Par exemple : [layer_height], [fill_density] etc. Vous pouvez aussi utiliser [timestamp], [year], [month], [day], [hour], [minute], [second], [version], [input_filename], [input_filename_base]." +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid "You have unsaved changes " -msgstr "Les modifications n'ont pas été sauvegardées " +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:101 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "Vous devez redémarrer Slic3r afin que les modifications soient appliquées." +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "Hauteur (mm)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Your file was repaired." -msgstr "Votre fichier a été réparé." +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" +msgstr "Largeur (mm)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:744 -msgid "Your object appears to be too large, so it was automatically scaled down to fit your print bed." -msgstr "Votre objet semble être trop grand, il a donc été automatiquement réduit afin de l'adapter à votre plateau d'impression." +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "Vitesse (mm/s)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1742 -msgid "Z offset" -msgstr "Décalage Z" +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "Débit volumétrique (mm3/s)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:91 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:492 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1170 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1181 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1401 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1557 -msgid "°" -msgstr "°" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:484 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 -msgid "°C" -msgstr "°C" +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "" diff --git a/resources/localization/it/Slic3rPE.mo b/resources/localization/it/Slic3rPE.mo index 229dcbab2a529fed274770255c2ebd5c6fdf4259..dd865ca9d8c39a89b1a8a65ae27cdffb4b943b6d 100644 GIT binary patch delta 21979 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 delta 28017 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\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.0.8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Oleksandra Iushchenko \n" "Language-Team: \n" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"e sono presenti le seguenti modifiche non salvate:" +#: src/slic3r/GUI/AboutDialog.cpp:33 +msgid "About Slic3r" +msgstr "Riguardo Slic3r" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1491 -msgid "" -"\n" -"\n" -"Discard changes and continue anyway?" -msgstr "" -"\n" -"\n" -"Eliminare le modifiche e continuare comunque?" +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 +msgid "Version" +msgstr "Versione" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1489 -msgid "" -"\n" -"\n" -"has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"ha le seguenti modifiche non salvate:" +#: src/slic3r/GUI/BedShapeDialog.cpp:43 +msgid "Shape" +msgstr "Forma" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" -msgstr "" -"\n" -"\n" -"non è compatibile con la stampante\n" +#: src/slic3r/GUI/BedShapeDialog.cpp:50 +msgid "Rectangular" +msgstr "Rettangolare" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:34 -msgid "" -"\n" -"During the other layers, fan " -msgstr "" -"\n" -"Durante gli altri layer, la ventola " +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 +msgid "Size" +msgstr "Dimensione" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:30 -#, 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%%." -msgstr "" -"\n" -"Se il tempo di stampa previsto per il layer è più lungo, ma comunque inferiore a ~%ds, la ventola girerà ad una velocità proporzionalmente decrescente compresa tra %d%% e %d%%." +#: src/slic3r/GUI/BedShapeDialog.cpp:55 +msgid "Size in X and Y of the rectangular plate." +msgstr "Dimensioni su X e Y del piano rettangolare." + +#: src/slic3r/GUI/BedShapeDialog.cpp:61 +msgid "Origin" +msgstr "Origine" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:927 +#: src/slic3r/GUI/BedShapeDialog.cpp:62 msgid "" -"\n" -"Non-positive value." +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." msgstr "" -"\n" -"Valore non positivo." +"Distanza della coordinata 0,0 del G-code dall'angolo frontale sinistro del " +"rettangolo." + +#: src/slic3r/GUI/BedShapeDialog.cpp:66 +msgid "Circular" +msgstr "Circolare" + +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 +msgid "mm" +msgstr "mm" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:928 +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 +msgid "Diameter" +msgstr "Diametro" + +#: src/slic3r/GUI/BedShapeDialog.cpp:71 msgid "" -"\n" -"Not a numeric value." +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." msgstr "" -"\n" -"Valore non numerico." +"Diametro del piano di stampa. Si presume che l'origine (0,0) si trovi al " +"centro." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid " - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr " - Ricorda di controllare gli aggiornamenti su http://github.com/prusa3d/slic3r/releases" +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 +msgid "Custom" +msgstr "Personalizzato" -# Used in this context: _("Save ") + title + _(" as:") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -msgid " as:" -msgstr " come:" +#: src/slic3r/GUI/BedShapeDialog.cpp:79 +msgid "Load shape from STL..." +msgstr "Carica forma da STL..." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:226 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " alla velocità del filamento di %3.2f mm/s." +#: src/slic3r/GUI/BedShapeDialog.cpp:125 +msgid "Settings" +msgstr "Impostazioni" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1035 -msgid " Browse " -msgstr " Naviga " +#: src/slic3r/GUI/BedShapeDialog.cpp:298 +msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "" +"Scegli un file per importare la forma del piano da (STL/OBJ/AMF/3MF/PRUSA):" -# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid " file as:" -msgstr " file come:" +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 +msgid "Error! " +msgstr "Errore! " -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:215 -msgid " flow rate is maximized " -msgstr " Il flusso viene massimizzato " +#: src/slic3r/GUI/BedShapeDialog.cpp:324 +msgid "The selected file contains no geometry." +msgstr "Il file selezionato non contiene geometrie." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -#, no-c-format +#: src/slic3r/GUI/BedShapeDialog.cpp:328 msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +"The selected file contains several disjoint areas. This is not supported." msgstr "" -" il pattern di riempimento non dovrebbe funzionare con densità 100%.\n" -"\n" -"Posso cambiarlo in pattern di riempimento rettilineo?" +"Il file selezionato contiene molteplici aree disgiunte. Non è supportato." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1470 -msgid " preset\n" -msgstr " preset\n" +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape" +msgstr "Forma Letto" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid " preset" -msgstr " preset" +#: src/slic3r/GUI/BonjourDialog.cpp:54 +msgid "Network lookup" +msgstr "Network lookup" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1583 -msgid " Preset" -msgstr " Preset" +#: src/slic3r/GUI/BonjourDialog.cpp:67 +msgid "Address" +msgstr "Indirizzo" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:942 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1637 -msgid " Set " -msgstr " Imposta " +#: src/slic3r/GUI/BonjourDialog.cpp:68 +msgid "Hostname" +msgstr "Hostname" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid " the selected preset?" -msgstr " il preset selezionato?" +#: src/slic3r/GUI/BonjourDialog.cpp:69 +msgid "Service name" +msgstr "Nome servizio" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:548 -msgid " was successfully sliced." -msgstr " generato con successo." +#: src/slic3r/GUI/BonjourDialog.cpp:70 +msgid "OctoPrint version" +msgstr "Versione di OctoPrint" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:220 -msgid " with a volumetric rate " -msgstr " con una portata volumetrica " +#: src/slic3r/GUI/BonjourDialog.cpp:188 +msgid "Searching for devices" +msgstr "Ricerca dispositivi" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:99 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:504 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:789 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:850 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1060 -msgid "%" -msgstr "%" +#: src/slic3r/GUI/BonjourDialog.cpp:195 +msgid "Finished" +msgstr "Finito" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:224 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f mm³/s" +#: src/slic3r/GUI/ButtonsDescription.cpp:15 +msgid "Buttons And Text Colors Description" +msgstr "Descrizione colori testo e pulsanti" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1958 -#, perl-format -msgid "%d (%d shells)" -msgstr "%d (%d di perimetri)" +#: src/slic3r/GUI/ButtonsDescription.cpp:40 +msgid "Value is the same as the system value" +msgstr "Valore uguale a quello di sistema" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1965 -#, perl-format -msgid "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d facets reversed, %d backwards edges" -msgstr "%d facce degenerate, %d spigoli riparati, %d facce rimosse, %d faccee aggiunte, %d facce invertite, %d spigoli inversi" +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" +"Il valore è stato modificato e non è uguale al valore di sistema o " +"all'ultimo preset salvato" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:269 -#, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d linee: %.2lf mm" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 +msgid "Upgrade" +msgstr "Aggiorna" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:687 -#, perl-format -msgid "%d presets successfully imported." -msgstr "%d preset importati correttamente." +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 +msgid "Downgrade" +msgstr "Downgrade" -#: xs/src/slic3r/GUI/Field.cpp:102 -#, c-format -msgid "%s doesn't support percentage" -msgstr "%s non supporta la percentuale" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 +msgid "Before roll back" +msgstr "Prima di tornare indietro" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "&About Slic3r" -msgstr "&Su Slic3r" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 +msgid "User" +msgstr "Utente" -#: xs/src/slic3r/GUI/GUI.cpp:466 -msgid "&Configuration" -msgstr "&Configurazione" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 +msgid "Unknown" +msgstr "Ignoto" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "&Export Config Bundle…" -msgstr "&Esporta Gruppo di Configurazioni…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 +msgid "Active: " +msgstr "Attivo: " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "&Export Config…\tCtrl+E" -msgstr "&Esporta Configurazione… \tCtrl+E" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +msgid "slic3r version" +msgstr "versione di slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:418 -msgid "&File" -msgstr "&File" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 +msgid "print" +msgstr "stampa" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:791 -msgid "&Finish" -msgstr "&Completa" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +msgid "filaments" +msgstr "filamenti" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:426 -msgid "&Help" -msgstr "&Aiuto" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 +msgid "printer" +msgstr "stampante" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "&Load Config Bundle…" -msgstr "&Carica Gruppo di Configurazioni…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 +msgid "vendor" +msgstr "venditore" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "&Load Config…\tCtrl+L" -msgstr "&Carica Configurazione… \tCtrl+L" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +msgid "version" +msgstr "versione" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:420 -msgid "&Object" -msgstr "&Oggetto" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 +msgid "min slic3r version" +msgstr "versione min slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:419 -msgid "&Plater" -msgstr "&Piano" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 +msgid "max slic3r version" +msgstr "versione slic3r massima" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "&Quit" -msgstr "&Chiudi" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "model" +msgstr "modello" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" -msgstr "&Ripeti l'ultimo Slice Rapido \tCtrl+Shift+U" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "variants" +msgstr "varianti" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:422 -msgid "&View" -msgstr "&Vista" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 +msgid "Incompatible with this Slic3r" +msgstr "Incompatibile con questo Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:421 -msgid "&Window" -msgstr "&Finestra" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 +msgid "Activate" +msgstr "Attiva" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "(&Re)Slice Now\tCtrl+S" -msgstr "(&Re)Slice Ora \tCtrl+S" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 +msgid "Configuration Snapshots" +msgstr "Istantanee di Configurazione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:994 -msgid "(minimum)" -msgstr "(minimo)" +#: src/slic3r/GUI/ConfigWizard.cpp:92 +msgid "nozzle" +msgstr "ugello" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid ") not found." -msgstr ") non trovato." +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" +msgstr "predefinito" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid ". Discard changes and continue anyway?" -msgstr ". Scartare le modifiche e continuare comunque?" +#: src/slic3r/GUI/ConfigWizard.cpp:116 +msgid "Select all" +msgstr "Seleziona tutto" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:63 -msgid "1 Layer" -msgstr "1 Layer" +#: src/slic3r/GUI/ConfigWizard.cpp:117 +msgid "Select none" +msgstr "Deseleziona tutti" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:138 -msgid "2D" -msgstr "2D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +#, c-format +msgid "Welcome to the Slic3r %s" +msgstr "Benvenuto su Slic3r %s" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:104 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2124 -msgid "3D" -msgstr "3D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +msgid "Welcome" +msgstr "Benvenuti" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1608 -msgid "3MF file exported to " -msgstr "File 3MF esportato a " +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 +#, c-format +msgid "Run %s" +msgstr "Run %s" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:185 -msgid "45° ccw" -msgstr "45° antiorario" +#: src/slic3r/GUI/ConfigWizard.cpp:234 +#, 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." +msgstr "" +"Ciao, benvenuto su Slic3r Prusa Edition! Questo %s ti aiuterà con la " +"configurazione iniziale; giusto un paio di impostazioni e sarai pronto a " +"stampare." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:186 -msgid "45° cw" -msgstr "45° senso orario" +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" +msgstr "" +"Rimuovi profili utente - reinstalla da zero (sarà prima fatto uno snapshot)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:148 -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 "Un'espressione booleana che usa i valori di configurazione di un profilo stampante attivo. Se questa espressione produce un risultato vero, questo profilo si considera compatibile con il profilo stampante attivo." +#: src/slic3r/GUI/ConfigWizard.cpp:263 +msgid "Other vendors" +msgstr "Altri fornitori" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:480 -msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." -msgstr "Una regola generale è da 160 a 230°C per il PLA, e da 215 a 250°C per l'ABS." +#: src/slic3r/GUI/ConfigWizard.cpp:265 +msgid "Custom setup" +msgstr "Setup personalizzato" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 -msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." -msgstr "Una regola generale è 60°C per il PLA e 110°C per l'ABS. Lascia a zero se non hai un piano riscaldato." +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Automatic updates" +msgstr "Aggiornamenti automatici" -#: xs/src/slic3r/GUI/AboutDialog.cpp:32 -msgid "About Slic3r" -msgstr "Riguardo Slic3r" +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Updates" +msgstr "Aggiornamenti" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1099 -msgid "Above Z" -msgstr "Sopra Z" +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 +msgid "Check for application updates" +msgstr "Verifica la presenza di aggiornamenti" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:417 -msgid "Acceleration control (advanced)" -msgstr "Controllo Accelerazione (avanzato)" +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" +"Se attivato, Slic3r verifica la presenza di una nuova versione di Slic3r PE " +"online. Quando una nuova versione diviene disponibile, viene mostrata una " +"notifica al successivo avvio dell'applicazione (mai durante l'uso del " +"programma). Questo è solo un meccanismo di notifica, non viene effettuato " +"nessun aggiornamento automatico." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 -msgid "Activate" -msgstr "Attiva" +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 +msgid "Update built-in Presets automatically" +msgstr "Aggiorna automaticamente i Preset integrati" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 -msgid "Active: " -msgstr "Attivo: " +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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 "" +"Se abilitato, Slic3r scarica gli aggiornamenti dei preset inclusi in " +"background. Questi aggiornamenti sono scaricati in una posizione temporanea. " +"Quando una nuova versione dei preset diventa disponibile, viene offerta " +"all'avvio." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1566 -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 "Aggiunge un contorno (una singola linea di perimetro) attorno alla base del supporto. Questo rende il supporto più affidabile, ma anche più difficile da rimuovere." +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" +"Gli aggiornamenti non vengono mai applicati senza il consenso dell'utente e " +"non sovrascrivono mai i settaggi personalizzati dell'utente." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:299 -#, no-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." -msgstr "Aggiunge più perimetri quando necessario per evitare spazi tra i perimetri inclinati. Slic3r continua ad aggiungere perimetri fino a quando almeno il 70% del giro immediatamente sopra sarà supportato." +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." +msgstr "" +"Inoltre una copia di backup dei preset viene creata prima di applicare un " +"aggiornamento." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:240 -msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)." -msgstr "Aggiunge un riempimento solido vicino le superfici inclinate per garantire lo spessore verticale (layer solidi superiore + inferiore)" +#: src/slic3r/GUI/ConfigWizard.cpp:320 +msgid "Other Vendors" +msgstr "Altri Fornitori" -#: xs/src/slic3r/GUI/Tab.cpp:754 -msgid "Additional information:" -msgstr "Informazioni aggiuntive:" +#: src/slic3r/GUI/ConfigWizard.cpp:322 +msgid "Pick another vendor supported by Slic3r PE:" +msgstr "Scegli un altro fornitore supportato da Slic3r PE:" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:288 -msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied." -msgstr "Inoltre una copia di backup dei preset viene creata prima di applicare un aggiornamento." +#: src/slic3r/GUI/ConfigWizard.cpp:381 +msgid "Firmware Type" +msgstr "Tipo Firmware" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 -msgid "Address" -msgstr "Indirizzo" +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 +msgid "Firmware" +msgstr "Firmware" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:177 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:195 -msgid "Add…" -msgstr "Aggiungi…" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:342 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:356 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:449 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:452 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:831 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:107 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:208 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:736 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1733 -msgid "Advanced" -msgstr "Avanzate" +#: src/slic3r/GUI/ConfigWizard.cpp:385 +msgid "Choose the type of firmware used by your printer." +msgstr "Scegliete il firmware usato dalla vostra stampante." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:319 -msgid "Advanced: avrdude output log" -msgstr "Avanzato: registro output avrdude" +#: src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape and Size" +msgstr "Forma e dimensioni del piano" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1138 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:766 -msgid "After layer change G-code" -msgstr "Dopo il G-code di cambio di strato" +#: src/slic3r/GUI/ConfigWizard.cpp:422 +msgid "Set the shape of your printer's bed." +msgstr "Imposta la dimensione del piano della stampante." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1636 -msgid "All" -msgstr "Tutto" +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Filament and Nozzle Diameters" +msgstr "Diametro filamento e ugello" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Along X axis…" -msgstr "Lungo l'asse X…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Along Y axis…" -msgstr "Lungo l'asse Y…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Along Z axis…" -msgstr "Lungo l'asse Z…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1592 -msgid "AMF file exported to " -msgstr "File AMF esportato a " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Another export job is currently running." -msgstr "Un altro processo di esportazione è in corso." +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Print Diameters" +msgstr "Diametro di stampa" -#: xs/src/slic3r/GUI/Tab.cpp:749 -msgid "Any modifications should be saved as a new preset inherited from this one. " -msgstr "Qualunque modifica dovrebbe essere salvata come un nuovo preset ereditato da questo. " +#: src/slic3r/GUI/ConfigWizard.cpp:452 +msgid "Enter the diameter of your printer's hot end nozzle." +msgstr "Inserisci il diametro dell'ugello dell'estrusore della stampante." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:901 -msgid "API Key" -msgstr "API Key" +#: src/slic3r/GUI/ConfigWizard.cpp:455 +msgid "Nozzle Diameter:" +msgstr "Diametro ugello:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:299 -msgid "Application preferences" -msgstr "Preferenze applicazione" +#: src/slic3r/GUI/ConfigWizard.cpp:465 +msgid "Enter the diameter of your filament." +msgstr "Inserite il diametro del vostro filamento." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Application will be restarted" -msgstr "L'applicazione verrà riavviata" +#: src/slic3r/GUI/ConfigWizard.cpp:466 +msgid "" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." +msgstr "" +"E' necessaria una buona precisione, quindi utilizza un calibro ed effettua " +"diverse misurazioni lungo il filamento, quindi calcola la media." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:397 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1242 -msgid "approximate seconds" -msgstr "secondi approssimativi" +#: src/slic3r/GUI/ConfigWizard.cpp:469 +msgid "Filament Diameter:" +msgstr "Diametro del filamento:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid "Are you sure you want to " -msgstr "Sei sicuro di voler " +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Extruder and Bed Temperatures" +msgstr "Temperature dell'estrusore e del piano" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:365 -msgid "" -"Are you sure you want to cancel firmware flashing?\n" -"This could leave your printer in an unusable state!" +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Temperatures" +msgstr "Temperature" + +#: src/slic3r/GUI/ConfigWizard.cpp:503 +msgid "Enter the temperature needed for extruding your filament." +msgstr "Inserisci la temperatura necessaria per estrudere il filamento." + +#: src/slic3r/GUI/ConfigWizard.cpp:504 +msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." msgstr "" -"Sei sicuro di voler cancellare il flash del firmware?\n" -"Questo potrebbe lasciare la tua stampante in una condizione inutilizzabile!" +"Una regola generale è da 160 a 230°C per il PLA, e da 215 a 250°C per l'ABS." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Around X axis…" -msgstr "Attorno l'asse X…" +#: src/slic3r/GUI/ConfigWizard.cpp:507 +msgid "Extrusion Temperature:" +msgstr "Temperatura di estrusione:" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Around Y axis…" -msgstr "Attorno l'asse Y…" +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 +msgid "°C" +msgstr "°C" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Around Z axis…" -msgstr "Attorno l'asse Z…" +#: src/slic3r/GUI/ConfigWizard.cpp:517 +msgid "" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." +msgstr "" +"Inserisci la temperatura del piano necessaria per far attaccare il filamento " +"al piano riscaldato." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:180 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:198 -msgid "Arrange" -msgstr "Ordina" +#: src/slic3r/GUI/ConfigWizard.cpp:518 +msgid "" +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " +"no heated bed." +msgstr "" +"Una regola generale è 60°C per il PLA e 110°C per l'ABS. Lascia a zero se " +"non hai un piano riscaldato." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:224 -msgid "Array of language names and identifiers should have the same size." -msgstr "Gli array dei nomi di lingua e gli identificatori dovrebbero avere la stessa dimensione." +#: src/slic3r/GUI/ConfigWizard.cpp:521 +msgid "Bed Temperature:" +msgstr "Temperatura letto:" -#: xs/src/slic3r/GUI/GUI.cpp:688 -msgid "Attempt to free unreferenced scalar" -msgstr "Tentativo di liberare lo scalare senza riferimenti" +#: src/slic3r/GUI/ConfigWizard.cpp:833 +msgid "< &Back" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Attention!" -msgstr "Attenzione!" +#: src/slic3r/GUI/ConfigWizard.cpp:834 +msgid "&Next >" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:35 -msgid "Auto-center parts" -msgstr "Auto-centra le parti" +#: src/slic3r/GUI/ConfigWizard.cpp:835 +msgid "&Finish" +msgstr "&Completa" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1960 -#, perl-format -msgid "Auto-repaired (%d errors)" -msgstr "Auto-riparati (%d errori)" +#: src/slic3r/GUI/ConfigWizard.cpp:906 +msgid "Configuration Wizard" +msgstr "Wizard di configurazione" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Automatic updates" -msgstr "Aggiornamenti automatici" +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "&Wizard di configurazione" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Automatically repair an STL file" -msgstr "Ripara automaticamente un file STL" +#: src/slic3r/GUI/ConfigWizard.cpp:909 +msgid "Configuration Assistant" +msgstr "Assistente configurazione" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:424 -msgid "Autospeed (advanced)" -msgstr "Autovelocità (avanzato)" +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "&Assistente configurazione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:26 -msgid "Avoid crossing perimeters" -msgstr "Evita incrocio perimetri" +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2491 -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." +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" msgstr "" -"Icona FRECCIA INDIETRO indica che le impostazioni sono state cambiate e non sono uguali all'ultimo preset salvato per il seguente gruppo di opzioni.\n" -"Clicca per resettare all'ultimo preset salvato tutte le impostazioni per il seguente gruppo di opzioni." -#: xs/src/slic3r/GUI/Tab.cpp:2505 +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "%s non supporta la percentuale" + +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 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." +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" msgstr "" -"La FRECCIA ALL'INDIETRO indica che il valore è stato cambiato e non è uguale all'ultimo preset salvato.\n" -"Cliccare per resettare il valore corrente all'ultimo preset salvato." -#: xs/src/slic3r/GUI/Tab.cpp:2455 +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "Valore input fuori portata" + +#: src/slic3r/GUI/Field.cpp:176 +#, c-format msgid "" -"BACK ARROW;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." +"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." msgstr "" -"FRECCIA INDIETRO; indica che le impostazioni sono state modificate e non sono uguali all'ultimo preset salvato per l'attuale gruppo opzioni.\n" -"Clicca l'icona FRECCIA INDIETRO per resettare all'ultimo preset salvato tutte le impostazioni per il seguente gruppo di opzioni." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:43 -msgid "Background processing" -msgstr "Lavorazione in background" +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:800 -msgid "Bed" -msgstr "Letto" +#: src/slic3r/GUI/FirmwareDialog.cpp:133 +msgid "Flash!" +msgstr "Flash!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.hpp:42 -msgid "Bed Shape" -msgstr "Forma Letto" +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 +msgid "Cancel" +msgstr "Cancella" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:940 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:34 -msgid "Bed shape" -msgstr "Forma letto" +#: src/slic3r/GUI/FirmwareDialog.cpp:135 +msgid "Flashing in progress. Please do not disconnect the printer!" +msgstr "Flash in corso. Non disconnettere la stampante!" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:395 -msgid "Bed Shape and Size" -msgstr "Forma e dimensioni del piano" +#: src/slic3r/GUI/FirmwareDialog.cpp:245 +msgid "Flashing succeeded!" +msgstr "Flash completato con successo!" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:42 -msgid "Bed temperature" -msgstr "Temperatura letto" +#: src/slic3r/GUI/FirmwareDialog.cpp:246 +msgid "Flashing failed. Please see the avrdude log below." +msgstr "" +"Flash fallito. Ti preghiamo di consultare il registro avrdude qui sotto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:39 -msgid "Bed temperature for layers after the first one. Set this to zero to disable bed temperature control commands in the output." -msgstr "Temperatura per i layer dopo il primo. Imposta questo a zero per disattivare i comandi di controllo della temperatura del letto in output." +#: src/slic3r/GUI/FirmwareDialog.cpp:247 +msgid "Flashing cancelled." +msgstr "Flash cancellato." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 -msgid "Bed Temperature:" -msgstr "Temperatura letto:" +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1132 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:48 -msgid "Before layer change G-code" -msgstr "Prima del G-code di cambio di strato" +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 -msgid "Before roll back" -msgstr "Prima di tornare indietro" +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1108 -msgid "Below Z" -msgstr "Sotto Z" +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:59 -msgid "Between objects G-code" -msgstr "G-code tra gli oggetti" +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1150 -msgid "Between objects G-code (for sequential printing)" -msgstr "G-code tra gli oggetti (per stampa sequenziale)" +#: src/slic3r/GUI/FirmwareDialog.cpp:690 +msgid "Firmware flasher" +msgstr "Flasher Firmware" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:68 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom" -msgstr "Inferiore" +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "Immagine firmware:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:72 -msgid "Bottom solid layers" -msgstr "Layer solidi sul fondo" +#: src/slic3r/GUI/FirmwareDialog.cpp:716 +msgid "Serial port:" +msgstr "Porta seriale:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom View" -msgstr "Vista inferiore" +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:77 -msgid "Bridge" -msgstr "Bridge" +#: src/slic3r/GUI/FirmwareDialog.cpp:719 +msgid "Rescan" +msgstr "Ri-scansiona" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:106 -msgid "Bridge flow ratio" -msgstr "Rapporto flusso Bridge" +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" +msgstr "Progresso:" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:144 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:86 -msgid "Bridge infill" -msgstr "Riempimento Bridge" +#: src/slic3r/GUI/FirmwareDialog.cpp:729 +msgid "Status:" +msgstr "Stato:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:117 -msgid "Bridges" -msgstr "Bridge" +#: src/slic3r/GUI/FirmwareDialog.cpp:730 +msgid "Ready" +msgstr "Pronto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:97 -msgid "Bridges fan speed" -msgstr "Velocità ventola Bridge" +#: src/slic3r/GUI/FirmwareDialog.cpp:750 +msgid "Advanced: avrdude output log" +msgstr "Avanzato: registro output avrdude" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:86 -msgid "Bridging angle" -msgstr "Angolo Ponteggio" +#: src/slic3r/GUI/FirmwareDialog.cpp:809 +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 cancellare il flash del firmware?\n" +"Questo potrebbe lasciare la tua stampante in una condizione inutilizzabile!" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:88 -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." -msgstr "Ignora angolo Bridging. Se lasciato a zero, l'angolo di bridging verrà calcolato automaticamente. Altrimenti l'angolo fornito sarà utilizzato per tutti i bridge. Usa 180° per l'angolo zero." +#: src/slic3r/GUI/FirmwareDialog.cpp:810 +msgid "Confirmation" +msgstr "Conferma" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Bridging volumetric" -msgstr "Ponteggio volumetrico" +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "Cancellazione..." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:371 -msgid "Brim" -msgstr "Brim" +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 +msgid "Detected object outside print volume" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:127 -msgid "Brim width" -msgstr "Larghezza brim" +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 -msgid "Buttons And Text Colors Description" -msgstr "Descrizione colori testo e pulsanti" +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "Ruota" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:218 -msgid "by the print profile maximum" -msgstr "secondo il massimo del profilo di stampa" +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:85 -msgid "Cancel" -msgstr "Cancella" +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "Scala" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:213 -msgid "Cancelling..." -msgstr "Cancellazione..." +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2124 -msgid "Cannot overwrite a system profile." -msgstr "Impossibile sovrascrivere un profilo di sistema." +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2128 -msgid "Cannot overwrite an external profile." -msgstr "Impossibile sovrascrivere un profilo esterno." +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:962 -msgid "Capabilities" -msgstr "Capacità" +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Capture a configuration snapshot" -msgstr "Cattura un'istantanea della configurazione" +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1597 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "File di certificato (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:325 -msgid "Change Application Language" -msgstr "Cambia Lingua Applicazione" +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Change the number of copies of the selected object" -msgstr "Cambia il numero di copie dell'oggetto selezionato" +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:272 xs/src/slic3r/GUI/Preferences.cpp:59 -msgid "Check for application updates" -msgstr "Verifica la presenza di aggiornamenti" +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:298 -msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Scegli un file per importare la forma del piano da (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:457 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Scegli un file da processare (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI.pm:286 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Scegli uno o più file (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:360 -msgid "Choose the type of firmware used by your printer." -msgstr "Scegliete il firmware usato dalla vostra stampante." +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:62 -msgid "Circular" -msgstr "Circolare" +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "Taglia" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:135 -msgid "Clip multi-part objects" -msgstr "Collega oggetti multi-part" +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:405 -msgid "Color" -msgstr "Colore" +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:690 -msgid "Combine infill every" -msgstr "Combina riempimento ogni" +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "Avvertenza" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:696 -msgid "Combine infill every n layers" -msgstr "Combina riempimento ogni n layer" +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "Tentativo di liberare lo scalare senza riferimenti" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:509 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:869 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1668 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:143 -msgid "Compatible printers" -msgstr "Stampanti compatibili" +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "Attenzione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:147 -msgid "Compatible printers condition" -msgstr "Condizioni di stampante compatibile" +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:154 -msgid "Complete individual objects" -msgstr "Completa oggetti individuali" +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Scegli uno o più file (STL/OBJ/AMF/3MF/PRUSA):" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:846 -msgid "Configuration Assistant" -msgstr "Assistente configurazione" +#: src/slic3r/GUI/GUI_App.cpp:451 +msgid "Array of language names and identifiers should have the same size." +msgstr "" +"Gli array dei nomi di lingua e gli identificatori dovrebbero avere la stessa " +"dimensione." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:884 -msgid "Configuration notes" -msgstr "Note di configurazione" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Select the language" +msgstr "Seleziona la lingua" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Configuration Snapshots" -msgstr "Istantanee di Configurazione" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Language" +msgstr "Lingua" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 -msgid "Configuration update" -msgstr "Aggiornamento di configurazione" +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 +msgid "Default" +msgstr "Predefinito" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -msgid "Configuration update is available" -msgstr "Aggiornamento di configurazione disponibile" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "Istantanee di &Configurazione" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:844 -msgid "Configuration Wizard" -msgstr "Wizard di configurazione" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "Inspect / activate configuration snapshots" +msgstr "Ispeziona / attiva istantanee di configurazione" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:366 -msgid "Confirmation" -msgstr "Conferma" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" +msgstr "Cattura i&stantanea di configurazione" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1020 -msgid "Connection failed." -msgstr "Connessione fallita." +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Capture a configuration snapshot" +msgstr "Cattura un'istantanea della configurazione" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:211 -msgid "Connection to OctoPrint works correctly." -msgstr "Connessione con OctoPrint funzionante." +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" +msgstr "&Preferenze" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Connection to printer works correctly." -msgstr "Connessione con la stampante funzionante." +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "Application preferences" +msgstr "Preferenze applicazione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1416 -msgid "Contact Z distance" -msgstr "Distanza di contatto Z" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:120 -msgid "Controller" -msgstr "Controller" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple View Mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:805 -msgid "Cooling" -msgstr "Raffreddamento" +#: src/slic3r/GUI/GUI_App.cpp:617 src/slic3r/GUI/GUI_ObjectList.cpp:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "Avanzate" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:826 -msgid "Cooling thresholds" -msgstr "Soglia di raffreddamento" +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:178 -msgid "Cooling tube length" -msgstr "Lunghezza del tubo di raffreddamento" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:170 -msgid "Cooling tube position" -msgstr "Posizione tubo di raffreddamento" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:221 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Copies" -msgstr "Copie" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:476 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:450 -msgid "Cost" -msgstr "Costo" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Could not connect to OctoPrint" -msgstr "Non è possibile connettere ad OctoPrint" +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" +msgstr "Cambia &Lingua Applicazione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1465 -msgid "Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "Copri lo strato di contatto superiore del supporto con anelli. Disattivato per impostazione predefinita." +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" +msgstr "Installa &firmware stampante" -#: xs/src/slic3r/GUI/Tab.cpp:743 -msgid "Current preset is inherited from " -msgstr "Il preset corrente è ereditato da " +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Upload a firmware image into an Arduino based printer" +msgstr "Carica un'immagine del firmware su una stampante basata su Arduino" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 -msgid "Current version:" -msgstr "Versione corrente:" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Taking configuration snapshot" +msgstr "Cattura istantanea della configurazione" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:71 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:92 -msgid "Custom" -msgstr "Personalizzato" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Snapshot name" +msgstr "Nome istantanea" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:846 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1119 -msgid "Custom G-code" -msgstr "G-code personalizzato" +#: src/slic3r/GUI/GUI_App.cpp:674 +msgid "Application will be restarted" +msgstr "L'applicazione verrà riavviata" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:240 -msgid "Custom setup" -msgstr "Setup personalizzato" +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 +msgid "Attention!" +msgstr "Attenzione!" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:189 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:205 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Cut…" -msgstr "Taglia…" +#: src/slic3r/GUI/GUI_App.cpp:691 +msgid "&Configuration" +msgstr "&Configurazione" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Decrease copies" -msgstr "Diminuisci le copie" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "You have unsaved changes " +msgstr "Sono presenti modifiche non salvate " -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:300 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:170 -msgid "Default" -msgstr "Predefinito" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid ". Discard changes and continue anyway?" +msgstr ". Scartare le modifiche e continuare comunque?" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Field.cpp:42 -msgid "default" -msgstr "predefinito" +#: src/slic3r/GUI/GUI_App.cpp:712 +msgid "Unsaved Presets" +msgstr "Preset non salvati" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid "Default " -msgstr "Predefinito " +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "Layer e Perimetri" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:489 -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." -msgstr "Angolo base predefinito per l'orientamento del riempimento. Su questo verrà applicato il tratteggio. I bridge saranno riempiti utilizzando la migliore direzione che Slic3r può determinare, quindi questa impostazione non influisce sui bridge." +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "Riempimento" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:376 -msgid "Default extrusion width" -msgstr "Larghezza estrusione predefinita" +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "Materiale supporto" -#: xs/src/slic3r/GUI/Tab.cpp:767 -msgid "default filament profile" -msgstr "profilo filamento predefinito" +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "Velocità" -#: xs/src/libslic3r/PrintConfig.cpp:196 -msgid "Default filament profile" -msgstr "Profilo filamento predefinito" +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "Estrusori" -#: xs/src/libslic3r/PrintConfig.cpp:197 -msgid "Default filament profile associated with the current printer profile. On selection of the current printer profile, this filament profile will be activated." -msgstr "Profilo filamento di default associato al profilo stampante corrente. Alla selezione del profilo stampante corrente, questo profilo filamento verrà attivato." +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "Larghezza Estrusione" -#: xs/src/slic3r/GUI/Tab.cpp:2287 xs/src/slic3r/GUI/Tab.cpp:2373 -msgid "Default presets" -msgstr "Preset predefiniti" +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:202 -msgid "Default print profile" -msgstr "Profilo di stampa predefinito" +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:764 -msgid "default print profile" -msgstr "profilo di stampa predefinito" +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "Nome" -#: xs/src/libslic3r/PrintConfig.cpp:203 -msgid "Default print profile associated with the current printer profile. On selection of the current printer profile, this print profile will be activated." -msgstr "Profilo di stampa di default associato al profilo stampante corrente. Alla selezione del profilo stampante corrente, questo profilo di stampa verrà attivato." +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1849 -msgid "degrees" -msgstr "gradi" +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:476 -msgid "Delay after unloading" -msgstr "Ritardo dopo lo scarico" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:178 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:196 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Delete" -msgstr "Cancella" +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "delete" -msgstr "cancella" +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:179 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:197 -msgid "Delete All" -msgstr "Cancella tutto" +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:51 -msgid "Delete this preset" -msgstr "Cancella questo preset" +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:440 -msgid "Density" -msgstr "Densità" +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:503 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." -msgstr "Densità del riempimento interno, espresso nell'intervallo 0% - 100%." +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:507 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:867 -msgid "Dependencies" -msgstr "Dipendenze" +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "Estrusore" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1142 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1143 -msgid "Deretraction Speed" -msgstr "Velocità di deretrazione" +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:940 -msgid "Detect bridging perimeters" -msgstr "Rileva perimetri ponte" +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1584 -msgid "Detect single-width walls (parts where two extrusions don't fit and we need to collapse them into a single trace)." -msgstr "Rileva pareti a spessore singolo (parti in cui non entrano due estrusioni ed è necessario comprimerle in una singola traccia)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1582 -msgid "Detect thin walls" -msgstr "Rileva perimetri sottili" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:66 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:431 -msgid "Diameter" -msgstr "Diametro" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:67 -msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." -msgstr "Diametro del piano di stampa. Si presume che l'origine (0,0) si trovi al centro." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1169 -msgid "Direction" -msgstr "Direzione" +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:53 -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 "Disabilita la comunicazione con la stampante tramite cavo seriale / USB. Questo semplifica l'interfaccia utente nel caso in cui la stampante non sia mai connessa al computer." +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:180 -msgid "Disable fan for the first" -msgstr "Disattiva ventola per i primi" +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:51 -msgid "Disable USB/serial connection" -msgstr "Disattiva connessione USB/seriale" +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:916 -msgid "Disables retraction when the travel path does not exceed the upper layer's perimeters (and thus any ooze will be probably invisible)." -msgstr "Disabilita la retrazione quando la traiettoria del movimento non oltrepassa i perimetri del layer superiore (pertanto qualunque scolatura sarà probabilmente invisibile)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:198 -msgid "Distance between copies" -msgstr "Distanza tra le copie" +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1213 -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 "La distanza tra skirt e oggetto(i). Imposta questo valore a zero per unire lo skirt all'oggetto(i) e ottenere un brim per una migliore adesione." +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1212 -msgid "Distance from object" -msgstr "Distanza dall'oggetto" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:58 -msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." -msgstr "Distanza della coordinata 0,0 del G-code dall'angolo frontale sinistro del rettangolo." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:171 -msgid "Distance of the center-point of the cooling tube from the extruder tip " -msgstr "Distanza del centro del tubo di raffreddamento dalla punta dell'estrusore " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 +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." -#: xs/src/libslic3r/PrintConfig.cpp:1032 -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 "Distanza della punta dell'estrusore dalla posizione dove il filamento viene posto mentre viene scaricato. Dovrebbe essere uguale al valore nel firmware della stampante. " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:199 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "Distanza usata per la funzione disposizione automatica del piatto." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 -msgid "Don't notify about new releases any more" -msgstr "Non notificare più i nuovi rilasci" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:190 -msgid "Don't support bridges" -msgstr "Non supportare i bridge" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 -msgid "Downgrade" -msgstr "Downgrade" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:132 -msgid "Drag your objects here" -msgstr "Trascina qui i tuoi oggetti" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:207 -msgid "Elephant foot compensation" -msgstr "Compensazione zampa d'elefante" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:806 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:922 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1695 -msgid "Enable" -msgstr "Abilita" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:163 -msgid "Enable auto cooling" -msgstr "Abilita auto raffreddamento" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "Il nome fornito non è valido;" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:394 -msgid "Enable fan if layer print time is below" -msgstr "Abilita ventola se il tempo di stampa del layer è inferiore" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "i seguenti caratteri non sono permessi:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1381 -msgid "Enable support material generation." -msgstr "Abilita la creazione di materiale di supporto." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:645 -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." -msgstr "Abilita per ottenere un file G-code commentato, con un testo descrittivo per ciascuna linea. Se stampi da memoria SD, il peso aggiuntivo del file potrebbe rallentare il tuo firmware." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1681 -msgid "Enable variable layer height feature" -msgstr "Abilita la funzione Layer ad altezza variabile" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:853 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1126 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:217 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:227 -msgid "End G-code" -msgstr "Fine G-code" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1431 -msgid "Enforce support for the first" -msgstr "Applica il supporto per i primi" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1439 -msgid "Enforce support for the first n layers" -msgstr "Applica il supporto per i primi n layer" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:238 -msgid "Ensure vertical shell thickness" -msgstr "Mantieni spessore guscio verticale" +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "Vista" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 -msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." -msgstr "Inserisci la temperatura del piano necessaria per far attaccare il filamento al piano riscaldato." +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "Tipo di caratteristica" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:441 -msgid "Enter the diameter of your filament." -msgstr "Inserite il diametro del vostro filamento." +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "Altezza" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:428 -msgid "Enter the diameter of your printer's hot end nozzle." -msgstr "Inserisci il diametro dell'ugello dell'estrusore della stampante." +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "Larghezza" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -msgid "Enter the new max size for the selected object:" -msgstr "Inserisci la nuova dimensione massima per l'oggetto selezionato:" +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "Portata volumetrica" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1030 -#, perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" -msgstr "Inserisci la nuova dimensione massima per l'oggetto selezionato (piano di stampa: %smm):" +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "Strumento" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Enter the number of copies of the selected object:" -msgstr "Inserisci il numero di copie dell'oggetto selezionato:" +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#, no-perl-format -msgid "Enter the scale % for the selected object:" -msgstr "Inserisci il fattore di scala % per l'oggetto selezionato:" +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "Mostra" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:479 -msgid "Enter the temperature needed for extruding your filament." -msgstr "Inserisci la temperatura necessaria per estrudere il filamento." +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "Tipi di caratteristica" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:477 -msgid "Enter your filament cost per kg here. This is only for statistical information." -msgstr "Inserisci qui il costo del filamento per kg. E' solo un'informazione statistica." +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "Perimetro" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:441 -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." -msgstr "Inserisci qui la densità del filamento. E' solo un'informazione statistica. Un metodo approssimativo consiste nel pesare un pezzo di filamento di lunghezza nota, e calcolare il rapporto tra lunghezza e volume. E' meglio calcolare il volume direttamente attraverso il dislocamento." +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "Perimetro esterno" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:432 -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 "Inserisci qui il diametro del filamento. E' richiesta una buona precisione, pertanto usa un calibro ed esegui misurazioni multiple lungo il filamento, per poi ricavare una media." +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "Perimetro sporgente" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:488 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:470 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Error" -msgstr "Errore" +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "Riempimento interno" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1612 -msgid "Error exporting 3MF file " -msgstr "Errore nell'esportazione del file 3MF " +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "Riempimento solido" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1596 -msgid "Error exporting AMF file " -msgstr "Errore nell'esportazione del file AMF " +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "Riempimento solido superiore" -#: xs/src/slic3r/Utils/OctoPrint.cpp:47 -msgid "Error while uploading to the OctoPrint server" -msgstr "Errore durante il caricamento sul server OctoPrint" +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "Riempimento Bridge" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:315 -msgid "Error! " -msgstr "Errore! " +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "Riempimento spazi" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:451 -msgid "Estimated printing time" -msgstr "Tempo di stampa stimato" +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "Skirt" -#: xs/src/slic3r/GUI/GUI.cpp:885 -msgid "Everywhere" -msgstr "Ovunque" +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "Interfaccia materiale supporto" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:44 -#, c-format -msgid "except for the first %d layers" -msgstr "ad eccezione dei primi %d layers" +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" +msgstr "Torre di spurgo" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:48 -msgid "except for the first layer" -msgstr "ad eccezione del primo layer" +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "Spostamento" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 -msgid "Exit Slic3r" -msgstr "Esci da Slic3r" +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "Retrazioni" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:192 -msgid "Experimental option for preventing support material from being generated under bridged areas." -msgstr "Opzione sperimentale per prevenire la formazione di supporti sotto i bridge." +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "Non retrazioni" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:942 -msgid "Experimental option to adjust flow for overhangs (bridge flow will be used), to apply bridge speed to them and enable fan." -msgstr "Opzione sperimentale per regolare il flusso delle sporgenze (sarà utilizzato il flusso dei bridge), applicare la velocità del bridge e attivare la ventola." +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "Gusci" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "Export all presets to file" -msgstr "Esporta tutti i preset su file" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1416 -msgid "Export cancelled" -msgstr "Esportazione cancellata" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "Export current configuration to file" -msgstr "Esporta la configurazione corrente su file" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export current plate as 3MF" -msgstr "Esporta il piano corrente come 3MF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export current plate as AMF" -msgstr "Esporta il piano corrente come AMF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export current plate as G-code" -msgstr "Esporta il piano corrente come G-code" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "Esporta G-code" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export current plate as STL" -msgstr "Esporta il piano corrente come STL" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1454 -msgid "Export failed" -msgstr "Esportazione fallita" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export G-code..." -msgstr "Esporta G-code..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:236 -msgid "Export G-code…" -msgstr "Esporta G-code…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export object as STL…" -msgstr "Esporta oggetto come STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "Ripeti l'ultimo slice veloce" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export plate as 3MF..." -msgstr "Esporta piano come 3MF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "Seleziona Scheda Piano" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export plate as AMF..." -msgstr "Esporta piano come AMF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export plate as STL..." -msgstr "Esporta piano come STL..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "Seleziona Scheda impostazioni di Stampa" -#: xs/src/slic3r/GUI/GUI.cpp:950 -msgid "Export print config" -msgstr "Esporta configurazione di stampa" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "Seleziona Scheda Impostazioni Filamento" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:240 -msgid "Export STL…" -msgstr "Esporta STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "Seleziona Scheda Impostazioni Stampante" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export this single object as STL file" -msgstr "Esporta questo singolo oggetto come file STL" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:139 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:81 -msgid "External perimeter" -msgstr "Perimetro esterno" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:267 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:277 -msgid "External perimeters" -msgstr "Perimetri esterni" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "Preferenze" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:151 -msgid "external perimeters" -msgstr "perimetri esterni" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:289 -msgid "External perimeters first" -msgstr "Perimetri esterni per primi" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1126 -msgid "Extra length on restart" -msgstr "Lunghezza extra in ripresa" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:297 -msgid "Extra perimeters if needed" -msgstr "Perimetro aggiuntivo se necessario" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:795 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1234 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:307 -msgid "Extruder" -msgstr "Estrusore" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1187 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:400 -#, c-format -msgid "Extruder %d" -msgstr "Estrusore %d" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Extruder and Bed Temperatures" -msgstr "Temperature dell'estrusore e del piano" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:224 -msgid "Extruder changed to" -msgstr "Cambia estrusore a" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "Ordina" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:479 -msgid "Extruder clearance (mm)" -msgstr "Spazio libero per l'estrusore (mm)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:342 -msgid "Extruder Color" -msgstr "Colore estrusore" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:350 -msgid "Extruder offset" -msgstr "Offset estrusore" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "Cancella tutto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:626 -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 "Temperatura estrusore per il primo layer. Se vuoi controllare manualmente la temperatura durante la stampa, imposta questo a zero per disattivare i comandi di controllo temperatura nel file di output." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1573 -msgid "Extruder temperature for layers after the first one. Set this to zero to disable temperature control commands in the output." -msgstr "Temperatura estrusore per i layer successivi al primo. Imposta questo a zero per disattivare i comandi di controllo temperatura nell'output." - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:431 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:308 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:702 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:958 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1445 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1471 -msgid "Extruders" -msgstr "Estrusori" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:360 -msgid "Extrusion axis" -msgstr "Asse estrusore" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:367 -msgid "Extrusion multiplier" -msgstr "Moltiplicatore estrusione" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:483 -msgid "Extrusion Temperature:" -msgstr "Temperatura di estrusione:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:453 -msgid "Extrusion width" -msgstr "Larghezza estrusione" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:268 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:377 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:592 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:710 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:967 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1292 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1454 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1614 -msgid "Extrusion Width" -msgstr "Larghezza Estrusione" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:410 -msgid "Facets" -msgstr "Facce" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:36 -msgid "Fan " -msgstr "Ventola " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:817 -msgid "Fan settings" -msgstr "Impostazioni ventola" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:818 -msgid "Fan speed" -msgstr "Velocità ventola" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:330 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:68 -msgid "Feature type" -msgstr "Tipo di caratteristica" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:78 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:79 -msgid "Feature types" -msgstr "Tipi di caratteristica" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:183 -msgid "Fewer" -msgstr "Meno" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:786 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:787 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:368 -msgid "Filament" -msgstr "Filamento" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Filament and Nozzle Diameters" -msgstr "Diametro filamento e ugello" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 -msgid "Filament Diameter:" -msgstr "Diametro del filamento:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:412 -msgid "Filament notes" -msgstr "Note filamento" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1031 -msgid "Filament parking position" -msgstr "Posizione di parking del filamento" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:832 -msgid "Filament properties" -msgstr "Proprietà filamento" +#: src/slic3r/GUI/MainFrame.cpp:53 +msgid "" +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +msgstr "" +" - Ricorda di controllare gli aggiornamenti su http://github.com/prusa3d/" +"slic3r/releases" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:202 -msgid "Filament Settings" -msgstr "Impostazioni Filamento" +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" +msgstr "Piano" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:450 -msgid "Filament type" -msgstr "Tipo filamento" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "&Apri" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 -msgid "filaments" -msgstr "filamenti" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1445 -msgid "File added to print queue" -msgstr "File aggiunto alla coda di stampa" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:475 -msgid "File Not Found" -msgstr "File non trovato" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:487 -msgid "Fill angle" -msgstr "Angolo riempimento" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:501 -msgid "Fill density" -msgstr "Densità riempimento" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:539 -msgid "Fill pattern" -msgstr "Schema riempimento" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:541 -msgid "Fill pattern for general low-density infill." -msgstr "Schema per riempimento comune a bassa densità." +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:248 -msgid "Fill pattern for top/bottom infill. This only affects the external visible layer, and not its adjacent solid shells." -msgstr "Pattern di riempimento per il fondo o la cima. Questo influenza solo lo strato visibile esterno e non i perimetri adiacenti." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 -msgid "Finished" -msgstr "Finito" +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "Carica un file di configurazione esportato" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1110 -msgid "Firmware" -msgstr "Firmware" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:266 -msgid "Firmware flasher" -msgstr "Flasher Firmware" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:293 -msgid "Firmware image:" -msgstr "Immagine firmware:" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1314 -msgid "Firmware Retraction" -msgstr "Retrazione Firmware" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "Carica i preset da un gruppo" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:356 -msgid "Firmware Type" -msgstr "Tipo Firmware" +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:573 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:582 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:591 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:625 -msgid "First layer" -msgstr "Primo strato" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "Esporta &G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:603 -msgid "First layer height" -msgstr "Altezza del primo strato" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "Esporta il piano corrente come G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:615 -msgid "First layer speed" -msgstr "Velocità del primo strato" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "Esporta piano come &STL" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "First layer volumetric" -msgstr "Volumetrica primo strato" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "Esporta il piano corrente come STL" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Flash printer firmware" -msgstr "Installa firmware stampante" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "Esporta piano come &AMF" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:84 -msgid "Flash!" -msgstr "Flash!" - -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:147 -msgid "Flashing cancelled." -msgstr "Flash cancellato." +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "Esporta il piano corrente come AMF" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:146 -msgid "Flashing failed. Please see the avrdude log below." -msgstr "Flash fallito. Ti preghiamo di consultare il registro avrdude qui sotto." +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" +msgstr "Esporta &Configurazione" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:123 -msgid "Flashing in progress. Please do not disconnect the printer!" -msgstr "Flash in corso. Non disconnettere la stampante!" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "Esporta la configurazione corrente su file" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:145 -msgid "Flashing succeeded!" -msgstr "Flash completato con successo!" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" +msgstr "Esporta G&ruppo di Configurazioni" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:466 -msgid "Flow" -msgstr "Flusso" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "Esporta tutti i preset su file" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 -msgid "For more information please visit our wiki page:" -msgstr "Per maggiori informazioni visita la nostra pagina wiki:" +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:599 -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?" +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" msgstr "" -"Perché la Wipe Tower possa funzionare con i supporti solubili, gli strati dei supporti devono essere sincronizzati con quelli del modello.\n" -"\n" -"Sincronizzare i supporti per abilitare la Wipe Tower?" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1264 -msgid "Force solid infill for regions having a smaller area than the specified threshold." -msgstr "Forza riempimento solido per le regioni con un'area inferiore al limite specificato." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "Processa un file in G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:758 -msgid "Force the generation of solid shells between adjacent materials/volumes. Useful for multi-extruder prints with translucent materials or manual soluble support material." -msgstr "Forza la generazione di perimetri solidi tra volumi o materiali adiacenti. Utile per stampe multi estrusore con materiali traslucidi o supporti solubili manuali." +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:260 -msgid "From" -msgstr "Da" +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "Processa un file in G-code, salva come" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front" -msgstr "Frontale" +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front View" -msgstr "Vista anteriore" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "(Re)Slice &Ora" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "G-code" -msgstr "G-code" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "Inizia un nuovo processo di slicing" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1451 -msgid "G-code file exported to " -msgstr "G-code esportato a " +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "&Ripara file STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:652 -msgid "G-code flavor" -msgstr "Tipologia di G-code" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "Ripara automaticamente un file STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:444 -msgid "g/cm³" -msgstr "g/cm³" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "&Chiudi" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:634 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:145 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:87 -msgid "Gap fill" -msgstr "Riempimento spazi" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "Chiudi Slic3r" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:937 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:11 -msgid "General" -msgstr "Generale" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:875 -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." -msgstr "Genera almeno il numero di skirt necessari per consumare la quantità di filamento specificata per il primo strato. Per le macchine multi estrusore, questo minimo riguarda ciascun estrusore." +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1379 -msgid "Generate support material" -msgstr "Genera materiale di supporto" +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1433 -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." -msgstr "Genera materiale di supporto per il numero di layer specificati partendo dal basso, a prescindere che sia abilitato il materiale di supporto normale o meno, e indipendentemente dall'angolo limite. Questo è utile per ottenere più adesione negli oggetti con un appoggio sul piano molto sottile o fragile." +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 -msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." -msgstr "E' necessaria una buona precisione, quindi utilizza un calibro ed effettua diverse misurazioni lungo il filamento, quindi calcola la media." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:583 -msgid "Heated build plate temperature for the first layer. Set this to zero to disable bed temperature control commands in the output." -msgstr "Temperatura piano riscaldato per il primo layer. Imposta a zero per disattivare i comandi di controllo temperatura nell'output." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:320 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:69 -msgid "Height" -msgstr "Altezza" +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "Scheda &Piano" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:332 -msgid "Height (mm)" -msgstr "Altezza (mm)" +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "Mostra il piano" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1222 -msgid "Height of skirt expressed in layers. Set this to a tall value to use skirt as a shield against drafts." -msgstr "Altezza dello skirt espresso in layer. Imposta un valore alto per utilizzare lo skirt come scudo contro le scolature." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "Scheda impostazioni di &Stampa" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:213 -#, 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." -msgstr "Ciao, benvenuto su Slic3r Prusa Edition! Questo %s ti aiuterà con la configurazione iniziale; giusto un paio di impostazioni e sarai pronto a stampare." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "Mostra impostazioni di stampa" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218 -msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." -msgstr "Qui è possibile regolare il volume di spurgo necessario (mm³) per ogni coppia di strumenti." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" +msgstr "Scheda Impostazioni &Filamento" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:329 -msgid "Horizontal shells" -msgstr "Gusci orizzontali" +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "Mostra impostazioni filamento" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:128 -msgid "Horizontal width of the brim that will be printed around each object on the first layer." -msgstr "Larghezza orizzontale del brim che sarà stampata attorno ad ogni oggetto nel primo layer." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" +msgstr "Scheda Impostazioni Stampant&e" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 -msgid "Hostname" -msgstr "Hostname" +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "Mostra impostazioni della stampante" -#: xs/src/libslic3r/PrintConfig.cpp:991 -msgid "Hostname, IP or URL" -msgstr "Hostname, IP o URL" +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:113 -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/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1612 -msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." -msgstr "File HTTPS CA opzionale. E' necessario solo se si intende usare un HTTPS con certificato autofirmato." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:275 xs/src/slic3r/GUI/Preferences.cpp:61 -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 application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done." -msgstr "Se attivato, Slic3r verifica la presenza di una nuova versione di Slic3r PE online. Quando una nuova versione diviene disponibile, viene mostrata una notifica al successivo avvio dell'applicazione (mai durante l'uso del programma). Questo è solo un meccanismo di notifica, non viene effettuato nessun aggiornamento automatico." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:282 xs/src/slic3r/GUI/Preferences.cpp:69 -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 "Se abilitato, Slic3r scarica gli aggiornamenti dei preset inclusi in background. Questi aggiornamenti sono scaricati in una posizione temporanea. Quando una nuova versione dei preset diventa disponibile, viene offerta all'avvio." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:26 -#, 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 "Se il tempo previsto per il layer è inferiore a ~%ds, la ventola girerà al %d%% e la velocità di stampa sarà ridotta così da impiegare non meno di %ds su quel layer (in ogni caso, la velocità non sarà mai ridotta sotto %dmm/s)." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:616 -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." -msgstr "Se espresso come valore assoluto in mm/s, questa velocità sarà applicata a tutti i movimenti di stampa del primo layer, a prescindere dal tipo di movimento. Se espresso come percentuale (per esempio: 40%) verranno scalate le velocità predefinite." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "&Iso" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:395 -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." -msgstr "Se il tempo stimato di stampa del layer è al di sotto di questo numero di secondi, la ventola sarà attivata e la sua velocità sarà calcolata interpolando la velocità minima e massima." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "Vista isometrica" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1240 -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 "Se il tempo stimato di stampa del layer è al di sotto di questo numero di secondi, la velocità dei movimenti di stampa sarà ridotta per estendere la durata di questo valore." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "S&uperiore" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:388 -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." -msgstr "Se questo è attivo, la ventola non verrà mai disattiva e verrà mantenuta attiva almeno alla velocità minima. Utile per il PLA, dannosa per l'ABS." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "Vista superiore" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:37 -msgid "If this is enabled, Slic3r will auto-center objects around the print bed center." -msgstr "Se attivo, Slic3r posizionerà automaticamente gli oggetti al centro del piano di stampa." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "I&nferiore" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:45 -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." -msgstr "Se attivo, Slic3r processerà in anticipo gli oggetti non appena saranno caricati, così da risparmiare tempo durante l'esportazione del G-code." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "Vista inferiore" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:29 -msgid "If this is enabled, Slic3r will prompt the last output directory instead of the one containing the input files." -msgstr "Se attivo, Slic3r suggerirà l'ultima cartella di destinazione invece della cartella contenente il file di ricezione." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "&Frontale" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:77 -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 "Se hai problemi nel rendering causati da bug nel driver OpenGL 2.0, puoi provare ad attivare questa opzione. Si disattiverà la modifica altezza layer e l'anti-aliasing, quindi è meglio aggiornare i driver grafici." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "Vista anteriore" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1091 -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 "Se inserisci un valore positivo, Z verrà alzato velocemente ogni volta che si innesca una retrazione. Quando si utilizzano diversi estrusori, verrà considerato solamente l'impostazione del primo estrusore." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "&Posteriore" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1101 -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 "Se inserisci un valore positivo, il sollevamento Z avverrà solamente sopra un certo specifico valore assoluto Z. Puoi regolare questa impostazione per evitare il sollevamento nei primi layer." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "Vista posteriore" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1110 -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 "Se inserisci un valore positivo, il sollevamento Z avverrà solamente sotto un certo specifico valore assoluto Z. Puoi regolare questa impostazione per limitare il sollevamento ai primi layer." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "&Sinistra" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:451 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1002 -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." -msgstr "Se vuoi processare il G-code in uscita con script personalizzati, basta elencare qui il loro percorso assoluto. Separa i diversi script con un punto e virgola. Gli script passeranno il percorso assoluto nel G-code come primo argomento, e potranno accedere alle impostazioni di configurazione di Slic3r leggendo le variabili di ambiente." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "Vista sinistra" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:351 -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)." -msgstr "Se il firmware non gestisce lo spostamento dell'estrusore, è necessario che il G-code ne tenga conto. Questa opzione permette di specificare lo spostamento di ciascun estrusore rispetto al primo. Si aspetta delle coordinate positive (che saranno sottratte dalle coordinate XY)." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "&Destra" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1664 -msgid "If your firmware requires relative E values, check this, otherwise leave it unchecked. Most firmwares use absolute values." -msgstr "Se il firmware richiede valori E relativi, selezionalo, altrimenti lascialo non selezionato. Molti firmware utilizzano valori assoluti." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "Vista destra" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 -msgid "Incompatible bundles:" -msgstr "Gruppi incompatibili:" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "&Driver Prusa 3D" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 -msgid "Incompatible with this Slic3r" -msgstr "Incompatibile con questo Slic3r" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "Apri la pagina di download dei driver Prusa3D sul tuo browser" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Increase copies" -msgstr "Aumenta copie" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "&Versioni Prusa Edition" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:346 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:347 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:664 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:87 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:247 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:488 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:502 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:540 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:681 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:691 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:709 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:746 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1263 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1280 -msgid "Infill" -msgstr "Riempimento" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "Apri la pagina delle versioni Prusa Edition sul tuo browser" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:169 -msgid "infill" -msgstr "riempimento" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "Sito &web Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:720 -msgid "Infill before perimeters" -msgstr "Riempimento prima dei perimetri" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "Apri la pagina di Slic3r sul tuo browser" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:701 -msgid "Infill extruder" -msgstr "Estrusore riempimento" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "&Manuale Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:735 -msgid "Infill/perimeters overlap" -msgstr "Sovrapposizione riempimento/perimetri" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "Apri il manuale di Slic3r sul tuo browser" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:398 -msgid "Info" -msgstr "Info" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "&Informazioni di sistema" -#: xs/src/libslic3r/PrintConfig.cpp:819 -msgid "Inherits profile" -msgstr "Eredita profilo" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "Mostra informazioni di sistema" -#: xs/src/slic3r/GUI/Field.cpp:111 -msgid "Input value is out of range" -msgstr "Valore input fuori portata" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "Cartella Mostra &Configurazione" -#: xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Inspect / activate configuration snapshots" -msgstr "Ispeziona / attiva istantanee di configurazione" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "Mostra cartella configurazione utente (datadir)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1479 -msgid "Interface layers" -msgstr "Layer interfaccia" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "Segnala un &problema" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1463 -msgid "Interface loops" -msgstr "Giri interfaccia" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "Segnala un problema su Slic3r Prusa Edition" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1488 -msgid "Interface pattern spacing" -msgstr "Spaziatura trama interfaccia" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "&Su Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:757 -msgid "Interface shells" -msgstr "Gusci interfaccia" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "Mostra la finestra di dialogo al riguardo di" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:141 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:83 -msgid "Internal infill" -msgstr "Riempimento interno" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:120 -msgid "Invalid API key" -msgstr "Chiave API non valida" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -msgid "Invalid scaling value entered" -msgstr "Inserito valore scala non valido" +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "&File" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso" -msgstr "Iso" +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso View" -msgstr "Vista isometrica" +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "F&inestra" -#: xs/src/slic3r/GUI/Tab.cpp:748 -msgid "It can't be deleted or modified. " -msgstr "Non può essere eliminato o modificato. " +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "&Vista" -#: xs/src/slic3r/GUI/Tab.cpp:741 -msgid "It's a default preset." -msgstr "E' un preset preimpostato." +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "&Aiuto" -#: xs/src/slic3r/GUI/Tab.cpp:742 -msgid "It's a system preset." -msgstr "E' un preset di sistema." +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Scegli un file da processare (STL/OBJ/AMF/3MF/PRUSA):" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1180 -msgid "Jitter" -msgstr "Jitter" +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "File non processato precedentemente." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:387 -msgid "Keep fan always on" -msgstr "Mantieni la ventola sempre accesa" +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "Errore" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Language" -msgstr "Lingua" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "File precedentemente processato (" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:192 -msgid "Layer Editing" -msgstr "Editing degli strati" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr ") non trovato." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:207 -msgid "Layer editing" -msgstr "Editing degli strati" +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "File non trovato" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:314 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:777 -msgid "Layer height" -msgstr "Altezza layer" +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "Salva " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1194 -msgid "Layer height limits" -msgstr "Limiti altezza layer" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "SVG" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:183 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:694 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1033 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1224 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1285 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1437 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1482 -msgid "layers" -msgstr "layer" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "G-code" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:157 -msgid "Layers" -msgstr "Layer" +# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" +msgstr " file come:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:69 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:239 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:290 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:298 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:604 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:762 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:778 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:941 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:989 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1152 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1583 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1639 -msgid "Layers and Perimeters" -msgstr "Layer e Perimetri" +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:313 -msgid "Layers and perimeters" -msgstr "Layer e perimetri" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "Slicing" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left" -msgstr "Sinistra" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left View" -msgstr "Vista sinistra" +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr " generato con successo." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1071 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1080 -msgid "Length" -msgstr "Lunghezza" +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "Slicing Completato!" -#: xs/src/libslic3r/PrintConfig.cpp:179 -msgid "Length of the cooling tube to limit space for cooling moves inside it " -msgstr "Lunghezza del tubo di raffreddamento per limitare lo spazio delle mosse di raffreddamento al suo interno " +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "Seleziona il file STL da riparare:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1090 -msgid "Lift Z" -msgstr "Solleva Z" +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "" +"Salva il file OBJ (meno soggetto a errori di coordinate dell'STL) come:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "Load exported configuration file" -msgstr "Carica un file di configurazione esportato" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "Il file è stato riparato." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "Load presets from a bundle" -msgstr "Carica i preset da un gruppo" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "Ripara" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:75 -msgid "Load shape from STL..." -msgstr "Carica forma da STL..." +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "Salva configurazione come:" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:692 -msgid "Loaded " -msgstr "Caricato " +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "Seleziona configurazione da caricare:" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 -msgid "loaded" -msgstr "caricato" +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "Salva il gruppo di preset come:" -#: xs/src/libslic3r/PrintConfig.cpp:459 -msgid "Loading speed" -msgstr "Velocità di caricamento" +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "%d preset importati correttamente." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -msgid "Loading…" -msgstr "Caricando…" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "Errore Slic3r" -#: xs/src/slic3r/GUI/Tab.cpp:2481 -msgid "LOCKED LOCK icon indicates that the settings are the same as the system values for the current option group" -msgstr "Icona LUCCHETTO CHIUSO indica che le impostazioni sono uguali ai valori di sistema per il seguente gruppo di opzioni" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "Slic3r ha riscontrato un errore" -#: xs/src/slic3r/GUI/Tab.cpp:2497 -msgid "LOCKED LOCK icon indicates that the value is the same as the system value." -msgstr "L'icona del LUCCHETTO CHIUSO indica che il valore è uguale al valore di sistema." +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2442 -msgid "LOCKED LOCK;indicates that the settings are the same as the system values for the current option group" -msgstr "LUCCHETTO CHIUSO; indica che le impostazioni sono le stesse dei valori di sistema per il corrente gruppo di opzioni" +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1229 -msgid "Loops (minimum)" -msgstr "Giri (minimo)" +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "Volume" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:412 -msgid "Manifold" -msgstr "Manifold" +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "Facce" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:411 +#: src/slic3r/GUI/Plater.cpp:128 msgid "Materials" msgstr "Materiali" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:787 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:796 -msgid "Max" -msgstr "Massimo" - -#: xs/src/libslic3r/PrintConfig.cpp:876 -msgid "Max print height" -msgstr "Altezza massima di stampa" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:807 -msgid "Max print speed" -msgstr "Massima velocità di stampa" - -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 -msgid "max slic3r version" -msgstr "versione slic3r massima" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:837 -msgid "Max volumetric slope negative" -msgstr "Massima pendenza volumetrica negativa" +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "Manifold" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:826 -msgid "Max volumetric slope positive" -msgstr "Massima pendenza volumetrica positiva" +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "Informazioni processo" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:817 -msgid "Max volumetric speed" -msgstr "Massima velocità volumetrica" +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "Filamento usato (m)" -#: xs/src/libslic3r/PrintConfig.cpp:1854 -msgid "Maximal bridging distance" -msgstr "Distanza massima di bridging" +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "Filamento usato (mm³)" -#: xs/src/libslic3r/PrintConfig.cpp:1855 -msgid "Maximal distance between supports on sparse infill sections. " -msgstr "Distanza massima tra supporti in sezioni a scarso riempimento. " +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "Filamento usato (g)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:422 -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." -msgstr "Massima velocità volumetrica consentita per questo filamento. Limita la velocità volumetrica massima di una stampa alla velocità volumetrica minima del filamento e di stampa. Imposta a zero per non avere limite." +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "Costo" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:848 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:857 -msgid "Min" -msgstr "Minimo" +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "Tempo di stampa stimato" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:866 -msgid "Min print speed" -msgstr "Velocità minima di stampa" +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 -msgid "min slic3r version" -msgstr "versione min slic3r" +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "Supporto" -#: xs/src/libslic3r/PrintConfig.cpp:951 -msgid "Minimal filament extrusion length" -msgstr "Lunghezza di estrusione minima del filamento" +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "Seleziona il tipo di supporto richiesto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1040 -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." -msgstr "Risoluzione minima dettaglio, utilizzato per semplificare il file input accelerando lo slicing e riducendo l'utilizzo di memoria. I file ad alta risoluzione spesso hanno più dettaglio di quanto la stampante possa generare. Impostate a zero per disabilitare la semplificazione e utilizzare la risoluzione completa." +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "Nessuno" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1050 -msgid "Minimum travel after retraction" -msgstr "Spostamento minimo dopo una ritrazione" +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "Supporti solo dal piano di stampa" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror" -msgstr "Specchia" +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "Ovunque" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror the selected object" -msgstr "Specchia l'oggetto selezionato" +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "Brim" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -msgid "Mirror the selected object along the X axis" -msgstr "Specchia l'oggetto selezionato sull'asse X" +#: src/slic3r/GUI/Plater.cpp:381 +msgid "" +"This flag enables the brim that will be printed around each object on the " +"first layer." +msgstr "" +"La spunta su questa opzione abilita il brim che verrà stampato attorno ad " +"ogni oggetto nel primo layer." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -msgid "Mirror the selected object along the Y axis" -msgstr "Specchia l'oggetto selezionato sull'asse y" +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "Volumi di spurgo" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -msgid "Mirror the selected object along the Z axis" -msgstr "Specchia l'oggetto selezionato sull'asse Z" +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "Impostazioni di stampa" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:151 -msgid "Mixed" -msgstr "Mischiate" +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "Filamento" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:65 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:200 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:211 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:325 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:336 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:355 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:434 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:781 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:801 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:860 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:878 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:896 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1044 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1052 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1094 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1103 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1121 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1215 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1491 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1527 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1704 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1711 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1718 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1737 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1747 -msgid "mm" -msgstr "mm" +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1075 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1085 -msgid "mm (zero to disable)" -msgstr "mm (imposta a zero per disabilitare)" +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:609 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:740 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1390 -msgid "mm or %" -msgstr "mm o %" +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "Stampante" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:382 -msgid "mm or % (leave 0 for auto)" -msgstr "mm o % (lasciate 0 per l'automatico)" +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "Manda alla stampante" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:597 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:715 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:972 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1296 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1458 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1619 -msgid "mm or % (leave 0 for default)" -msgstr "mm o % (lasciate 0 per il default)" +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "Processa ora" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:638 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:749 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:811 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:868 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:981 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1137 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1146 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1536 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1649 -msgid "mm/s" -msgstr "mm/s" +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "%d (%d di perimetri)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:282 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:619 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1255 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1306 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1501 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1631 -msgid "mm/s or %" -msgstr "mm/s o %" +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "Auto-riparati (%d errori)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:80 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:174 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:576 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:684 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:952 -msgid "mm/s²" -msgstr "mm/s²" +#: src/slic3r/GUI/Plater.cpp:795 +#, c-format +msgid "" +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " +"facets reversed, %d backwards edges" +msgstr "" +"%d facce degenerate, %d spigoli riparati, %d facce rimosse, %d faccee " +"aggiunte, %d facce invertite, %d spigoli inversi" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1265 -msgid "mm²" -msgstr "mm²" +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" +msgstr "Si" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:425 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:820 -msgid "mm³/s" -msgstr "mm³/s" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:831 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:842 -msgid "mm³/s²" -msgstr "mm³/s²" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "model" -msgstr "modello" +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:414 -msgid "Modifiers" -msgstr "Modificatori" +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:478 -msgid "money/kg" -msgstr "soldi/kg" +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "Caricando" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:182 -msgid "More" -msgstr "Altro" +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "Elaborando il file di input %s\n" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1696 -msgid "Multi material printers may need to prime or purge extruders on tool changes. Extrude the excess material into the wipe tower." -msgstr "Le stampanti multi-material potrebbero necessitare di caricare o spurgare l'estrusore al cambio di strumento. Estrude il materiale in eccesso in una torre di spurgo." +#: src/slic3r/GUI/Plater.cpp:1366 +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 "" +"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?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:666 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:683 +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 msgid "Multi-part object detected" msgstr "Rilevato oggetto in parti multiple" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:430 -msgid "Multiple Extruders" -msgstr "Estrusori multipli" +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:680 +#: src/slic3r/GUI/Plater.cpp:1408 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 "" "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?\n" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:220 -msgid "Name" -msgstr "Nome" +"Invece di considerarli come oggetti multipli, devo considerarli come parte " +"di un singolo oggetto avente parti multiple?\n" -#: xs/src/libslic3r/PrintConfig.cpp:1126 -msgid "Name of the printer variant. For example, the printer variants may be differentiated by a nozzle diameter." -msgstr "Nome della variante di stampante. Per esempio le varianti di una stampante potrebbero differire per diametro dell'ugello." +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "Caricato" -#: xs/src/libslic3r/PrintConfig.cpp:1121 -msgid "Name of the printer vendor." -msgstr "Nome del venditore della stampante." +#: src/slic3r/GUI/Plater.cpp:1492 +msgid "" +"Your object appears to be too large, so it was automatically scaled down to " +"fit your print bed." +msgstr "" +"L'oggetto sembra essere troppo grande, è stato quindi scalato " +"automaticamente per entrare nel piano di stampa." -#: xs/src/libslic3r/PrintConfig.cpp:820 -msgid "Name of the profile, from which this profile inherits." -msgstr "Nome del profilo da cui questo profilo eredita." +#: src/slic3r/GUI/Plater.cpp:1493 +msgid "Object too large?" +msgstr "Oggetto troppo grande?" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 -msgid "Network lookup" -msgstr "Network lookup" +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "Esporta configurazione di stampa" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "New version of Slic3r PE is available" -msgstr "Nuova versione di Slic3r PE disponibile" +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 -msgid "New version:" -msgstr "Nuova versione:" +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:469 -msgid "No previously sliced file." -msgstr "File non processato precedentemente." +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:28 -msgid "NO RAMMING AT ALL" -msgstr "NESSUN RAMMING" +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:137 -msgid "None" -msgstr "Nessuno" +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "Nota: è richiesta una versione di OctoPrint 1.1.0 o successiva." +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:500 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:501 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:859 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:860 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1156 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1157 -msgid "Notes" -msgstr "Note" +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:493 -msgid "Notice" -msgstr "Avvertenza" +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:85 -msgid "nozzle" -msgstr "ugello" +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "" +"The selected object can't be split because it contains more than one volume/" +"material." +msgstr "" +"L'oggetto selezionato non può essere diviso perché contiene più di un volume/" +"materiale." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:894 -msgid "Nozzle diameter" -msgstr "Diametro ugello" +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:431 -msgid "Nozzle Diameter:" -msgstr "Diametro ugello:" +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "Un altro processo di esportazione è in corso." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:967 -msgid "Number of extruders of the printer." -msgstr "Numero estrusori della stampante." +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "Esportazione fallita" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1481 -msgid "Number of interface layers to insert between the object(s) and support material." -msgstr "Numero di layer interfaccia da inserire tra l'oggetto(i) e il materiale di supporto." +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1231 -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 "Numero di giri per lo skirt. Se è impostata l'opzione per la lunghezza minima di estrusione, il numero dei giri potrebbe essere più grande di quello configurato qui. Imposta questo valore a zero per disattivare completamente lo skirt." +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "Cancella" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:70 -msgid "Number of solid layers to generate on bottom surfaces." -msgstr "Numero di layer solidi da generare sulle superfici inferiori." +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "Rimuovi l'oggetto selezionato" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1315 -msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "Numero di layer solidi da generare sulle superfici superiori e inferiori." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "Aumenta copie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1640 -msgid "Number of solid layers to generate on top surfaces." -msgstr "Numero di layer solidi da generare sulle superfici superiori." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "Posiziona una o più copie dell'oggetto selezionato" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:745 -msgid "Object too large?" -msgstr "Oggetto troppo grande?" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "Diminuisci le copie" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1032 -msgid "OctoPrint upload" -msgstr "Carica su OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "Rimuovi una copia dell'oggetto selezionato" -#: lib/Slic3r/GUI/Plater.pm:1511 -msgid "OctoPrint upload finished." -msgstr "Caricamento su OctoPrint completato." +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "Imposta numero delle copie" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 -msgid "OctoPrint version" -msgstr "versione di OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "Cambia il numero di copie dell'oggetto selezionato" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1410 -msgid "Only create support if it lies on a build plate. Don't create support on a print." -msgstr "Crea supporti solo se poggiano sulla superficie di stampa. Non creare supporti sulla stampa." +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "Ricarica da Disco" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:726 -msgid "Only infill where needed" -msgstr "Riempimento solo quando necessario" +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "Ricarica il file selezionato dal Disco" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1205 -msgid "Only lift Z" -msgstr "Eleva solo Z" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1100 -msgid "Only lift Z above" -msgstr "Eleva solo Z al di sopra" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "Esporta questo singolo oggetto come file STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1109 -msgid "Only lift Z below" -msgstr "Eleva solo Z al di sotto" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:915 -msgid "Only retract when crossing perimeters" -msgstr "Ritrai solo se si attraversa un perimetro" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "Specchia l'oggetto selezionato sull'asse X" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "Specchia l'oggetto selezionato sull'asse y" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "Specchia l'oggetto selezionato sull'asse Z" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "Specchia" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "Specchia l'oggetto selezionato" + +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "Dividi" + +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" +msgstr "Salva il file G-code come:" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" +msgstr "File STL esportato a %s" + +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" +msgstr "File AMF esportato a %s" + +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" +msgstr "Errore nell'esportazione del file AMF %s" + +#: src/slic3r/GUI/Plater.cpp:2891 +#, c-format +msgid "3MF file exported to %s" +msgstr "File 3MF esportato a %s" + +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "Errore nell'esportazione del file 3MF %s" + +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "Generale" + +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "Ricorda la directory di output" + +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "" +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." +msgstr "" +"Se attivo, Slic3r suggerirà l'ultima cartella di destinazione invece della " +"cartella contenente il file di ricezione." + +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "Auto-centra le parti" + +#: src/slic3r/GUI/Preferences.cpp:44 +msgid "" +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." +msgstr "" +"Se attivo, Slic3r posizionerà automaticamente gli oggetti al centro del " +"piano di stampa." + +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "Lavorazione in background" + +#: src/slic3r/GUI/Preferences.cpp:52 +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." +msgstr "" +"Se attivo, Slic3r processerà in anticipo gli oggetti non appena saranno " +"caricati, così da risparmiare tempo durante l'esportazione del G-code." + +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "Sopprimi preset \" - default - \"" + +#: src/slic3r/GUI/Preferences.cpp:76 +msgid "" +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." +msgstr "" +"Sopprimi i preset \" - default - \" nelle selezioni Stampa / Filamento / " +"Stampante non appena sono disponibili altri preset validi." + +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "Mostra preset di stampa e di filamento incompatibili" + +#: src/slic3r/GUI/Preferences.cpp:84 +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 "" +"Quando attivato, i preset di stampa e di filamento vengono mostrati " +"nell'editor dei preset anche se sono segnati come incompatibili con la " +"stampante attiva" + +#: src/slic3r/GUI/Preferences.cpp:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "Utilizza il rendering legacy di OpenGL 1.1" + +#: src/slic3r/GUI/Preferences.cpp:92 +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 "" +"Se hai problemi nel rendering causati da bug nel driver OpenGL 2.0, puoi " +"provare ad attivare questa opzione. Si disattiverà la modifica altezza layer " +"e l'anti-aliasing, quindi è meglio aggiornare i driver grafici." + +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "E' necessario riavviare Slic3r per rendere effettive le modifiche." + +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "" + +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "Preset di sistema" + +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "Preset utente" + +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" +msgstr "" + +#: 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 "" +"Se il tempo previsto per il layer è inferiore a ~%ds, la ventola girerà al %d" +"%% e la velocità di stampa sarà ridotta così da impiegare non meno di %ds su " +"quel layer (in ogni caso, la velocità non sarà mai ridotta sotto %dmm/s)." + +#: 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%%." +msgstr "" +"\n" +"Se il tempo di stampa previsto per il layer è più lungo, ma comunque " +"inferiore a ~%ds, la ventola girerà ad una velocità proporzionalmente " +"decrescente compresa tra %d%% e %d%%." + +#: src/slic3r/GUI/PresetHints.cpp:36 +msgid "" +"\n" +"During the other layers, fan " +msgstr "" +"\n" +"Durante gli altri layer, la ventola " + +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "Ventola " + +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "lavorerà sempre a %d%% " + +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "ad eccezione dei primi %d layers" + +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "ad eccezione del primo layer" + +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "verrà spento." + +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "perimetri esterni" + +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" +msgstr "perimetri" + +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "riempimento" + +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "riempimento solido" + +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "riempimento solido superiore" + +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "supporto" + +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "interfaccia supporto" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "Volumetrica primo strato" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "Ponteggio volumetrico" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "Volumetrico" + +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr " Il flusso viene massimizzato " + +#: src/slic3r/GUI/PresetHints.cpp:220 +msgid "by the print profile maximum" +msgstr "secondo il massimo del profilo di stampa" + +#: src/slic3r/GUI/PresetHints.cpp:221 +msgid "when printing " +msgstr "durante la stampa " + +#: src/slic3r/GUI/PresetHints.cpp:222 +msgid " with a volumetric rate " +msgstr " con una portata volumetrica " + +#: src/slic3r/GUI/PresetHints.cpp:226 +#, c-format +msgid "%3.2f mm³/s" +msgstr "%3.2f mm³/s" + +#: src/slic3r/GUI/PresetHints.cpp:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr " alla velocità del filamento di %3.2f mm/s." + +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." +msgstr "" +"Spessore raccomandato per oggetto con parete sottile: Non disponibile a " +"causa di un'altezza layer non valida." + +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "" +"Spessore raccomandato per oggetto con parete sottile per altezza layer %.2f " +"e " + +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "%d linee: %.2lf mm" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" +msgstr "NESSUN RAMMING" + +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" +msgstr "Tempo" + +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "s" + +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "Velocità volumetrica" + +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "Stampanti compatibili" + +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "Seleziona le stampanti compatibili con questo profilo." + +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "Salva attuale " + +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "Cancella questo preset" + +#: src/slic3r/GUI/Tab.cpp:131 +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/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "E' un preset preimpostato." + +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "E' un preset di sistema." + +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "Il preset corrente è ereditato da " + +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " +msgstr "Non può essere eliminato o modificato. " + +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "" +"Qualunque modifica dovrebbe essere salvata come un nuovo preset ereditato da " +"questo. " + +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "" +"Per favore specifica un nuovo nome per il preset per effettuare l'operazione." + +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "Informazioni aggiuntive:" + +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" +msgstr "modello stampante" + +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" +msgstr "profilo di stampa predefinito" + +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" +msgstr "profilo filamento predefinito" + +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "Layer e perimetri" + +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "Altezza layer" + +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "Gusci verticali" + +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "Gusci orizzontali" + +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "Layer solidi" + +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "Qualità (slicing più lento)" + +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "Ridurre tempo di stampa" + +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "Skirt e brim" + +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "Raft" + +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "Opzioni per materiale di supporto e raft" + +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "Velocità per i movimenti di stampa" + +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "Velocità per i movimenti non di stampa" + +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "Modificatori" + +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "Controllo Accelerazione (avanzato)" + +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "Autovelocità (avanzato)" + +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "Estrusori multipli" + +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "Prevenzione delle fuoriuscite" + +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "Larghezza estrusione" + +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "Sovrapposizione" + +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "Flusso" + +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "Altro" + +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "Opzioni Output" + +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "Stampa sequenziale" + +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "Spazio libero per l'estrusore (mm)" + +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "File di Output" + +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "Script di post produzione" + +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "Note" + +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "Dipendenze" + +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "Dipendenze profilo" + +#: src/slic3r/GUI/Tab.cpp:1161 +#, 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 "" +"La modalità Vaso a Spirale richiede:\n" +"- un perimetro\n" +"- assenza di layer solidi superiori\n" +"- densità riempimento 0%\n" +"- assenza di materiale di supporto\n" +"- assicura_spessore_ guscio_ verticale disattivato\n" +"\n" +"Posso regolare queste impostazioni così da attivare il Vaso a Spirale?" + +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "Vaso a Spirale" + +#: src/slic3r/GUI/Tab.cpp:1191 +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 "" +"La Torre di Spurgo attualmente supporta solamente supporti non solubili\n" +"se questi sono stampati con l'attuale estrusore senza attivare un cambio " +"d'attrezzo.\n" +"(entrambi support_material_extruder e support_material_interface_extruder " +"devono essere impostati a 0).\n" +"\n" +"Devo regolare queste impostazioni per abilitare la Torre di Spurgo?" + +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "Torre di Spurgo" + +#: src/slic3r/GUI/Tab.cpp:1209 +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 "" +"Perché la Wipe Tower possa funzionare con i supporti solubili, gli strati " +"dei supporti devono essere sincronizzati con quelli del modello.\n" +"\n" +"Sincronizzare i supporti per abilitare la Wipe Tower?" + +#: src/slic3r/GUI/Tab.cpp:1227 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" +msgstr "" +"I supporti hanno più successo se l'opzione seguente è attivata:\n" +"-Rileva i perimetri in bridging\n" +"\n" +"Adattare questa opzione ai supporti?" + +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "Generatore Supporto" + +# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "Il " + +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format +msgid "" +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" +msgstr "" +" il pattern di riempimento non dovrebbe funzionare con densità 100%.\n" +"\n" +"Posso cambiarlo in pattern di riempimento rettilineo?" + +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "Temperatura " + +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" +msgstr "Letto" + +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "Raffreddamento" + +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "Abilita" + +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "Impostazioni ventola" + +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "Velocità ventola" + +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "Soglia di raffreddamento" + +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "Proprietà filamento" + +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "Scavalca velocità di stampa" + +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" +msgstr "Parametri di cambio strumento per stampanti MM con estrusore singolo" + +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" +msgstr "Impostazioni del ramming" + +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "G-code personalizzato" + +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "Inizia G-code" + +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "Fine G-code" + +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr " Naviga " + +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "Test" + +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "Successo!" + +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" +"File HTTPS CA opzionale. E' necessario solo se si intende usare un HTTPS con " +"certificato autofirmato." + +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "File di certificato (*.crt, *.pem)|*.crt;*.pem|All files|*.*" + +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" +msgstr "Apri file di certificato CA" + +#: src/slic3r/GUI/Tab.cpp:1676 +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:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "Dimensione e coordinate" + +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr " Imposta " + +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "Capacità" + +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "Numero estrusori della stampante." + +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "Connessione USB/Seriale" + +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "Porta seriale" + +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "Scansiona nuovamente porte seriali" + +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "Connessione con la stampante funzionante." + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "Connessione fallita." + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "Prima del G-code di cambio di strato" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "Dopo il G-code di cambio di strato" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "G-code cambio strumento" + +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "G-code tra gli oggetti (per stampa sequenziale)" + +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" +msgstr "Setup Estrusore singolo MM" + +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" +msgstr "Parametri multimateriali estrusore singolo" + +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "Estrusore %d" + +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "Limiti altezza layer" + +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "Posizione (per stampanti multi-estrusore)" + +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "Retrazione" + +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "Eleva solo Z" + +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" +msgstr "" +"Retrai quando l'attrezzo è disabilitato (impostazioni avanzate per setup " +"multi-estrusore)" + +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "Anteprima" + +#: src/slic3r/GUI/Tab.cpp:2284 +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/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" +msgstr "Retrazione Firmware" + +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" +msgstr "Preset predefiniti (%s)" + +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" +msgstr "ha le seguenti modifiche non salvate:" + +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" +msgstr "non è compatibile con la stampante" + +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" +msgstr "e sono presenti le seguenti modifiche non salvate:" + +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" +msgstr "Eliminare le modifiche e continuare comunque?" + +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "Modifiche non salvate" + +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "Il nome fornito è vuoto. Non può essere salvato." + +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." +msgstr "Impossibile sovrascrivere un profilo di sistema." + +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." +msgstr "Impossibile sovrascrivere un profilo esterno." + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "rimuovi" + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "cancella" + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "Sei sicuro di voler " + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr " il preset selezionato?" + +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "Rimuovi" + +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr " Preset" + +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "Tutto" + +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "" +"LUCCHETTO CHIUSO; indica che le impostazioni sono le stesse dei valori di " +"sistema per il corrente gruppo di opzioni" + +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." +msgstr "" +"LUCCHETTO APERTO;indica che è stata modificata qualche impostazione e non è " +"uguale ai valori di sistema del corrente gruppo di opzioni.\n" +"Clicca l'icona LUCCHETTO CHIUSO per resettare tutte le impostazioni del " +"corrente gruppo di opzioni ai valori di sistema." + +#: src/slic3r/GUI/Tab.cpp:2878 +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." +msgstr "" +"WHITE BULLET;per il bottone sinistro: indica un preset non di sistema,\n" +"per il bottone destro: indica che le impostazioni non sono state modificate." + +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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 "" +"FRECCIA INDIETRO; indica che le impostazioni sono state modificate e non " +"sono uguali all'ultimo preset salvato per l'attuale gruppo opzioni.\n" +"Clicca l'icona FRECCIA INDIETRO per resettare all'ultimo preset salvato " +"tutte le impostazioni per il seguente gruppo di opzioni." + +#: src/slic3r/GUI/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" +msgstr "" +"Icona LUCCHETTO CHIUSO indica che le impostazioni sono uguali ai valori di " +"sistema per il seguente gruppo di opzioni" + +#: src/slic3r/GUI/Tab.cpp:2910 +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." +msgstr "" +"L'icona del LUCCHETTO APERTO indica che alcune impostazioni sono state " +"cambiate e non sono uguali ai valori di sistema per il gruppo di opzioni " +"corrente.\n" +"Cliccate per resettare tutte le impostazioni per il gruppo corrente ai " +"valori di sistema." + +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "L'icona a forma di PALLINO BIANCO indica un preset non di sistema." + +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." +msgstr "" +"L'icona a forma di PALLINO BIANCO indica che le impostazioni sono uguali " +"agli ultimi preset salvati per il gruppo di opzioni corrente." + +#: src/slic3r/GUI/Tab.cpp:2918 +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 "" +"Icona FRECCIA INDIETRO indica che le impostazioni sono state cambiate e non " +"sono uguali all'ultimo preset salvato per il seguente gruppo di opzioni.\n" +"Clicca per resettare all'ultimo preset salvato tutte le impostazioni per il " +"seguente gruppo di opzioni." + +#: src/slic3r/GUI/Tab.cpp:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" +"L'icona del LUCCHETTO CHIUSO indica che il valore è uguale al valore di " +"sistema." + +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" +"L'icona del LUCCHETTO APERTO indica che il valore è stato cambiato e non è " +"uguale al valore di sistema. \n" +"Cliccate per resettare il valore corrente al valore di sistema." + +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" +"L'icona a forma di PALLINO BIANCO indica che il valore è lo stesso " +"dell'ultimo preset salvato." + +#: src/slic3r/GUI/Tab.cpp:2932 +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 "" +"La FRECCIA ALL'INDIETRO indica che il valore è stato cambiato e non è uguale " +"all'ultimo preset salvato.\n" +"Cliccare per resettare il valore corrente all'ultimo preset salvato." + +# Used in this context: _("Save ") + title + _(" as:") +#: src/slic3r/GUI/Tab.cpp:3031 +msgid " as:" +msgstr " come:" + +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "Il nome fornito non è disponibile." + +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "Layer" + +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "Impostazioni Stampa" + +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "Impostazioni Filamento" + +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "Impostazioni stampante" + +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "Salva preset" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "Aggiornamento disponibile" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "Nuova versione di Slic3r PE disponibile" + +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "Vai sul link sotto per scaricare." + +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "Versione corrente:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "Nuova versione:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "Non notificare più i nuovi rilasci" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "Aggiornamento di configurazione" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "Aggiornamento di configurazione disponibile" + +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "Incompatibilità Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "Configurazione Slic3r incompatibile" + +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" +"Questa versione di Slic3r PE non è compatibile con gli attuali gruppi di " +"configurazioni installati.\n" +"Probabilmente è causato dall'esecuzione di una vecchia versione di Slic3r PE " +"dopo averne utilizzata una più recente.\n" +"\n" +"Prova a chiudere Slic3r e riprovare con una versione più nuova, 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 Slic3r.\n" + +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" +msgstr "Questa versione di Slic3r PE: %s" + +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "Gruppi incompatibili:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "Esci da Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "Ri-configura" + +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format +msgid "" +"Slic3r PE 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 "" +"Slic3r PE adesso utilizza una struttura di aggiornamento delle " +"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/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "Per maggiori informazioni visita la nostra pagina wiki:" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "Personalizzazione del ramming" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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 strumento in " +"una stampante MM a 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 diverse velocità " +"per ottenere la forma corretta. Per questo motivi 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:78 +msgid "Total ramming time" +msgstr "Tempo totale di ramming" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "Volume totale di ramming" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "Larghezza della linea di Ramming" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "Distanza tra le linee di Ramming" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "Torre di spurgo - Regolazione volume di spurgo" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "" +"Qui è possibile regolare il volume di spurgo necessario (mm³) per ogni " +"coppia di strumenti." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "Cambia estrusore a" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "scaricato" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "caricato" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "Utensile #" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" +"Il volume totale di purga viene calcolato sommando i due valori sotto, a " +"seconda di quali strumenti vengono scaricati/caricati." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "Il volume di spurgo (mm³) quando il filamento viene" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "Da" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +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/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "Mostra impostazioni semplificate" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "Mostra impostazioni avanzate" + +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "Connessione con OctoPrint funzionante." + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "Non è possibile connettere ad OctoPrint" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "Nota: è richiesta una versione di OctoPrint 1.1.0 o successiva." + +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "richiede min. %s e max. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +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 "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" +msgstr "" + +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "" + +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "" + +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" + +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" + +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" + +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" + +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" + +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" + +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" + +#: src/libslic3r/Print.cpp:1255 +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:1257 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" +msgstr "" + +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" + +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" + +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "" + +#: src/libslic3r/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "" + +#: src/libslic3r/Print.cpp:1316 +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 "" + +#: src/libslic3r/Print.cpp:1324 +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:1328 +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 "" + +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "" + +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "Forma letto" + +#: src/libslic3r/PrintConfig.cpp:48 +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 "" +"Questa impostazione controlla l'altezza (e quindi il numero totale) degli " +"strati/layer. Un layer più sottile sarà più preciso ma sarà necessario più " +"tempo per stampare." + +#: src/libslic3r/PrintConfig.cpp:56 +msgid "Max print height" +msgstr "Altezza massima di stampa" + +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" +"Impostate alla massima altezza che può essere raggiunta dal vostro estrusore " +"durante la stampa." + +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "Evita incrocio perimetri" + +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" +"Ottimizza il movimenti di spostamento per minimizzare l'incrocio di " +"perimetri. E' comunemente usato con estrusori Bowden che soffrono di oozing. " +"Questa caratteristica rallenta sia la stampa che la generazione del G-code." + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "Altri layer" + +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" +"Temperatura per i layer dopo il primo. Imposta questo a zero per disattivare " +"i comandi di controllo della temperatura del letto in output." + +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "Temperatura letto" + +#: src/libslic3r/PrintConfig.cpp:93 +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 "" +"Questo codice personalizzato è inserito ad ogni cambio layer, subito prima " +"del movimento Z. Si fa presente che puoi usare variabili sostitutive per " +"tutte le impostazioni di Slic3r sia per [layer_num] che per [layer_z]." + +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "G-code tra gli oggetti" + +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" +"Questo codice è inserito tra gli oggetti quando si utilizza una stampa " +"sequenziale. Come predefinito, la temperatura di estrusione e del piano sono " +"resettate con il comando non-attesa; in ogni caso se nel codice " +"personalizzato vengono rilevati i comandi M104,M109,M140 o M190, Slic3r non " +"aggiungerà i comandi di temperatura. Si fa presente che puoi usare variabili " +"sostitutive per tutte le impostazioni di Slic3r, quindi puoi inserire un " +"comando \"M109 S[first_layer_temperature]\" quando preferisci." + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "Inferiore" + +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "Numero di layer solidi da generare sulle superfici inferiori." + +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "Layer solidi sul fondo" + +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "Bridge" + +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "" +"Questa è l'accelerazione che la tua stampante utilizzerà per i bridge. " +"Impostala a zero per disattivare il controllo dell'accelerazione per i " +"bridge." + +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "mm/s²" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "Angolo Ponteggio" + +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" +"Ignora angolo Bridging. Se lasciato a zero, l'angolo di bridging verrà " +"calcolato automaticamente. Altrimenti l'angolo fornito sarà utilizzato per " +"tutti i bridge. Usa 180° per l'angolo zero." + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "°" + +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "Velocità ventola Bridge" + +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "" +"Questa velocità della ventola verrà forzata durante tutti i bridge e " +"overhang." + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "%" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "Rapporto flusso Bridge" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" +"Questo fattore influenza la quantità di plastica per il bridging. Puoi " +"diminuirlo leggermente per tendere il materiale estruso ed evitare che si " +"afflosci, sebbene le impostazioni predefinite sono generalmente buone ed è " +"consigliabile sperimentare con il raffreddamento (usare la ventola) prima di " +"modificare questo valore." + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "Bridge" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "Velocità di stampa Bridge." + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "mm/s" + +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "Larghezza brim" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:438 -msgid "Ooze prevention" -msgstr "Prevenzione delle fuoriuscite" +#: src/libslic3r/PrintConfig.cpp:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Larghezza orizzontale del brim che sarà stampata attorno ad ogni oggetto nel " +"primo layer." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:251 -msgid "Open a model" -msgstr "Aprire un modello" +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "Collega oggetti multi-part" -#: xs/src/slic3r/GUI/Tab.cpp:1598 -msgid "Open CA certificate file" -msgstr "Apri file di certificato CA" +#: src/libslic3r/PrintConfig.cpp:188 +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 "" +"Durante la stampa di oggetti multi-materiali, questa impostazione farà si " +"che slic3r unisca le parti sovrapposte dell'oggetto (la seconda sarà " +"collegata con la prima, la terza parte sarà collegata con la prima e la " +"seconda ecc..)." -#: lib/Slic3r/GUI/MainFrame.pm:194 -msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O" -msgstr "Apri STL/OBJ/AMF/3MF … \tCtrl+O" +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Open the 3D cutting tool" -msgstr "Aprire lo strumento di taglio 3D" +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Open the object editor dialog" -msgstr "Apri la finestra di dialogo di modifica oggetto" +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "Condizioni di stampante compatibile" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "Apri la pagina delle versioni Prusa Edition sul tuo browser" +#: src/libslic3r/PrintConfig.cpp:208 +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 "" +"Un'espressione booleana che usa i valori di configurazione di un profilo " +"stampante attivo. Se questa espressione produce un risultato vero, questo " +"profilo si considera compatibile con il profilo stampante attivo." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Open the Prusa3D drivers download page in your browser" -msgstr "Apri la pagina di download dei driver Prusa3D sul tuo browser" +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Open the Slic3r manual in your browser" -msgstr "Apri il manuale di Slic3r sul tuo browser" +#: src/libslic3r/PrintConfig.cpp:221 +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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Open the Slic3r website in your browser" -msgstr "Apri la pagina di Slic3r sul tuo browser" +#: src/libslic3r/PrintConfig.cpp:235 +msgid "Complete individual objects" +msgstr "Completa oggetti individuali" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:27 -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." -msgstr "Ottimizza il movimenti di spostamento per minimizzare l'incrocio di perimetri. E' comunemente usato con estrusori Bowden che soffrono di oozing. Questa caratteristica rallenta sia la stampa che la generazione del G-code." +#: src/libslic3r/PrintConfig.cpp:236 +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 "" +"Durante la stampa di oggetti multipli o copie, questa funzione completerà " +"ciascun oggetto prima di spostarsi al prossimo (e iniziando la stampa dal " +"primo layer). Questa funzione è utile per evitare il rischio di stampe " +"rovinate. Slic3r dovrebbe avvisarti e prevenire collisioni con l'estrusore, " +"ma fai attenzione." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:384 -msgid "Options for support material and raft" -msgstr "Opzioni per materiale di supporto e raft" +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "Abilita auto raffreddamento" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:57 -msgid "Origin" -msgstr "Origine" +#: src/libslic3r/PrintConfig.cpp:246 +msgid "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." +msgstr "" +"Questo contrassegno abilita la logica del raffreddamento automatico in modo " +"da regolare la velocità di stampa e la velocità della ventola in base al " +"tempo di stampa del layer." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:469 -msgid "Other" -msgstr "Altro" +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "Posizione tubo di raffreddamento" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:38 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1572 -msgid "Other layers" -msgstr "Altri layer" +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "" +"Distanza del centro del tubo di raffreddamento dalla punta dell'estrusore " -#: xs/src/slic3r/GUI/ConfigWizard.cpp:295 -msgid "Other Vendors" -msgstr "Altri Fornitori" +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "Lunghezza del tubo di raffreddamento" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:238 -msgid "Other vendors" -msgstr "Altri fornitori" +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "" +"Lunghezza del tubo di raffreddamento per limitare lo spazio delle mosse di " +"raffreddamento al suo interno " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:488 -msgid "Output file" -msgstr "File di Output" +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" +"Questa è l'accelerazione a cui la stampante sarà reimpostata dopo aver " +"utilizzato un valore di accelerazione per un ruolo specifico (perimetro/" +"riempimento). Imposta a zero per evitare del tutto la reimpostazione " +"dell'accelerazione." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:930 -msgid "Output filename format" -msgstr "Formato del file di Output" +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "Profilo filamento predefinito" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:476 -msgid "Output options" -msgstr "Opzioni Output" +#: src/libslic3r/PrintConfig.cpp:282 +msgid "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." +msgstr "" +"Profilo filamento di default associato al profilo stampante corrente. Alla " +"selezione del profilo stampante corrente, questo profilo filamento verrà " +"attivato." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:140 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:82 -msgid "Overhang perimeter" -msgstr "Perimetro sporgente" +#: src/libslic3r/PrintConfig.cpp:287 +msgid "Default print profile" +msgstr "Profilo di stampa predefinito" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1550 -msgid "Overhang threshold" -msgstr "Soglia sporgenza" +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +msgid "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." +msgstr "" +"Profilo di stampa di default associato al profilo stampante corrente. Alla " +"selezione del profilo stampante corrente, questo profilo di stampa verrà " +"attivato." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:463 -msgid "Overlap" -msgstr "Sovrapposizione" +#: src/libslic3r/PrintConfig.cpp:293 +msgid "Disable fan for the first" +msgstr "Disattiva ventola per i primi" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1508 -msgid "Pattern" -msgstr "Trama" +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" +"E' possibile impostare un valore positivo per disattivare completamente la " +"ventola durante i primi layer, così da non peggiorare l'adesione." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1398 -msgid "Pattern angle" -msgstr "Angolo trama" +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "layer" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1524 -msgid "Pattern spacing" -msgstr "Spaziatura trama" +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "Non supportare i bridge" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1510 -msgid "Pattern used to generate support material." -msgstr "Trama usata per generare il materiale di supporto." +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "" +"Opzione sperimentale per prevenire la formazione di supporti sotto i bridge." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:138 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:80 -msgid "Perimeter" -msgstr "Perimetro" +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "Distanza tra le copie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:957 -msgid "Perimeter extruder" -msgstr "Estrusore perimetro" +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "Distanza usata per la funzione disposizione automatica del piatto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:948 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:978 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:988 -msgid "Perimeters" -msgstr "Perimetri" +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "Compensazione zampa d'elefante" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:160 -msgid "perimeters" -msgstr "perimetri" +#: src/libslic3r/PrintConfig.cpp:324 +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 "" +"Il primo layer verrà ristretto sul piano XY dal valore configurato, così da " +"compensare per lo schiacciamento del 1° layer, anche noto come effetto Zampa " +"d'elefante." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 -msgid "Pick another vendor supported by Slic3r PE:" -msgstr "Scegli un altro fornitore supportato da Slic3r PE:" +#: src/libslic3r/PrintConfig.cpp:334 +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 "" +"Questa procedura finale è inserita alla fine del file di output. Si fa " +"presente che puoi usare variabili sostitutive per tutte le impostazioni di " +"Slic3r." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Place one more copy of the selected object" -msgstr "Posiziona una o più copie dell'oggetto selezionato" +#: src/libslic3r/PrintConfig.cpp:345 +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 "" +"Questa procedura finale è inserita alla fine del file di output, prima del " +"termine del gcode della stampante. Si fa presente che puoi usare variabili " +"sostitutive per tutte le impostazioni di Slic3r. Se hai estrusori multipli, " +"il gcode è processato nell'ordine dell'estrusore." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:118 -msgid "Plater" -msgstr "Piano" +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "Mantieni spessore guscio verticale" -#: lib/Slic3r/GUI/Plater.pm:1897 -msgid "Please install the OpenGL modules to use this feature (see build instructions)." -msgstr "Ti preghiamo di installare i moduli OpenGL per utilizzare questa funzione (vedi le istruzioni di montaggio)." +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" +"Aggiunge un riempimento solido vicino le superfici inclinate per garantire " +"lo spessore verticale (layer solidi superiore + inferiore)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1199 -msgid "Position (for multi-extruder printers)" -msgstr "Posizione (per stampanti multi-estrusore)" +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "Trama riempimento superiore/inferiore" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1153 -msgid "Position of perimeters starting points." -msgstr "Posizione dei punti iniziali dei perimetri." +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "" +"Pattern di riempimento per il fondo o la cima. Questo influenza solo lo " +"strato visibile esterno e non i perimetri adiacenti." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1702 -msgid "Position X" -msgstr "Posizione X" +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1709 -msgid "Position Y" -msgstr "Posizione Y" +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:494 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1001 -msgid "Post-processing scripts" -msgstr "Script di post produzione" +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.hpp:17 -msgid "Preferences" -msgstr "Preferenze" +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1171 -msgid "Preferred direction of the seam" -msgstr "Direzione preferita della giunzione" +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1183 -msgid "Preferred direction of the seam - jitter" -msgstr "Direzione preferita della giunzione - jitter" +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "Perimetri esterni" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2125 -msgid "Preview" -msgstr "Anteprima" +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" +"Imposta questo valore diverso da zero per impostare una larghezza " +"d'estrusione manuale per i perimetri esterni. Se lasciato a zero, verrà " +"utilizzata la larghezza predefinita se impostata; diversamente verrà " +"utilizzato il valore 1.125 x il diametro dell'ugello. Se espresso in " +"percentuale (per esempio 200%), sarà calcolato sull'altezza del layer." + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "mm o % (lasciate 0 per il default)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid "Previously sliced file (" -msgstr "File precedentemente processato (" +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" +"Questa impostazione separata avrà effetto sulla velocità dei perimetri " +"esterni (quelli visibili). Se espresso come percentuale (per esempio: 80%) " +"verrà calcolato sull'impostazione della velocità dei perimetri qui sopra. " +"Imposta a zero per automatico." + +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "mm/s o %" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 -msgid "print" -msgstr "stampa" +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "Perimetri esterni per primi" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:291 -msgid "Print contour perimeters from the outermost one to the innermost one instead of the default inverse order." -msgstr "Stampa i perimetri di contorno dal più esterno al più interno invece dell'ordine predefinito inverso." +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "" +"Stampa i perimetri di contorno dal più esterno al più interno invece " +"dell'ordine predefinito inverso." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Print Diameters" -msgstr "Diametro di stampa" +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "Perimetro aggiuntivo se necessario" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:182 -msgid "Print Settings" -msgstr "Impostazioni Stampa" +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" +"Aggiunge più perimetri quando necessario per evitare spazi tra i perimetri " +"inclinati. Slic3r continua ad aggiungere perimetri fino a quando almeno il " +"70% del giro immediatamente sopra sarà supportato." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:367 -msgid "Print settings" -msgstr "Impostazioni di stampa" +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"The extruder to use (unless more specific extruder settings are specified). " +"This value overrides perimeter and infill extruders, but not the support " +"extruders." +msgstr "" +"Estrusore da utilizzare (a meno che non siano specificate impostazioni " +"d'estrusore più specifiche). Questo valore scavalca l'estrusore dei " +"perimetri e di riempimento, ma non l'estrusore dei supporti." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:836 -msgid "Print speed override" -msgstr "Scavalca velocità di stampa" +#: src/libslic3r/PrintConfig.cpp:444 +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." +msgstr "" +"Imposta la distanza verticale tra la punta dell'ugello e (solitamente) le " +"barre del carrello X. In altre parole, questa è l'altezza dello spazio " +"cilindrico attorno l'estrusore, e indica la profondità massima che " +"l'estrusore può affacciarsi prima di sbattere con altri oggetti stampati." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:369 -msgid "Printer" -msgstr "Stampante" +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "Raggio" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 -msgid "printer" -msgstr "stampante" +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" +"Imposta il raggio di spazio attorno all'estrusore. Se l'estrusore non è " +"centrato, scegli il valore più grande per sicurezza. Questa impostazione è " +"usata per controllare le collisioni e per mostrare l'anteprima grafica nel " +"piano." -#: xs/src/slic3r/GUI/Tab.cpp:762 -msgid "printer model" -msgstr "modello stampante" +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "Colore estrusore" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1014 -msgid "Printer notes" -msgstr "Note stampante" +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "Utilizzato solo nell'interfaccia di Slic3r come aiuto visivo." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:228 -msgid "Printer Settings" -msgstr "Impostazioni stampante" +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "Offset estrusore" -#: xs/src/libslic3r/PrintConfig.cpp:1106 -msgid "Printer type" -msgstr "Tipo stampante" +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" +"Se il firmware non gestisce lo spostamento dell'estrusore, è necessario che " +"il G-code ne tenga conto. Questa opzione permette di specificare lo " +"spostamento di ciascun estrusore rispetto al primo. Si aspetta delle " +"coordinate positive (che saranno sottratte dalle coordinate XY)." -#: xs/src/libslic3r/PrintConfig.cpp:1125 -msgid "Printer variant" -msgstr "Variante della stampante" +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "Asse estrusore" -#: xs/src/libslic3r/PrintConfig.cpp:1120 -msgid "Printer vendor" -msgstr "Venditore della stampante" +#: src/libslic3r/PrintConfig.cpp:487 +msgid "" +"Use this option to set the axis letter associated to your printer's extruder " +"(usually E but some printers use A)." +msgstr "" +"Usa questa opzione per impostare la lettera dell'asse associato " +"all'estrusore della tua stampante (solitamente E, ma alcune stampanti " +"utilizzano A)." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:238 -msgid "Print…" -msgstr "Stampa…" +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "Moltiplicatore estrusione" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Processing " -msgstr "Elaborando " +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" +"Questo fattore modifica proporzionalmente il valore del flusso. Dovrai " +"modificare questa impostazione per ottenere una buona finitura superficiale " +"e correggere la larghezza delle pareti singole. Normalmente i valori sono " +"tra 0.9 e 1.1. Se ritieni di dover modificare questo valore ulteriormente, " +"controlla il diametro del filamento e i passi E del tuo firmware." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:643 -msgid "Processing input file\n" -msgstr "Elaborando il file di input\n" +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "Larghezza estrusione predefinita" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:508 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:868 -msgid "Profile dependencies" -msgstr "Dipendenze profilo" +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "" +"Imposta questo valore diverso da zero per permettere la larghezza estrusione " +"manuale. Se lasciato a zero, Slic3r ricava la larghezza d'estrusione dal " +"diametro dell'ugello (vedi il suggerimento per la larghezza di estrusione " +"perimetro,larghezza estrusione riempimento ecc.). Se espresso come " +"percentuale (ad esempio 230%), sarà calcolato sull'altezza del layer." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:300 -msgid "Progress:" -msgstr "Progresso:" +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "mm o % (lasciate 0 per l'automatico)" + +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "Mantieni la ventola sempre accesa" + +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" +"Se questo è attivo, la ventola non verrà mai disattiva e verrà mantenuta " +"attiva almeno alla velocità minima. Utile per il PLA, dannosa per l'ABS." + +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "Abilita ventola se il tempo di stampa del layer è inferiore" + +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "" +"Se il tempo stimato di stampa del layer è al di sotto di questo numero di " +"secondi, la ventola sarà attivata e la sua velocità sarà calcolata " +"interpolando la velocità minima e massima." + +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "secondi approssimativi" + +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "Colore" + +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "Note filamento" + +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "E' possibile inserire qui le note riguardanti il filamento." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Prusa 3D Drivers" -msgstr "Driver Prusa 3D" +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "Massima velocità volumetrica" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Prusa Edition Releases" -msgstr "Versioni Prusa Edition" +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" +"Massima velocità volumetrica consentita per questo filamento. Limita la " +"velocità volumetrica massima di una stampa alla velocità volumetrica minima " +"del filamento e di stampa. Imposta a zero per non avere limite." -#: xs/src/slic3r/GUI/GUI.cpp:908 -msgid "Purging volumes" -msgstr "Volumi di spurgo" +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "mm³/s" -#: xs/src/libslic3r/PrintConfig.cpp:1807 -msgid "Purging volumes - load/unload volumes" -msgstr "Volumi di purga - volumi di carico/scarico" +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "Velocità di caricamento" -#: xs/src/libslic3r/PrintConfig.cpp:1815 -msgid "Purging volumes - matrix" -msgstr "Volumi di purga - matrice" +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "Velocità utilizzata per caricare il filamento sulla torre di spurgo. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Q&uick Slice…\tCtrl+U" -msgstr "Slice &Rapido… \tCtrl+U" +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:335 -msgid "Quality (slower slicing)" -msgstr "Qualità (slicing più lento)" +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" -msgstr "Slice veloce e S&alva come… \tCtrl+Alt+U" +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "Velocità di scaricamento" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "Quit Slic3r" -msgstr "Chiudi Slic3r" +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " +msgstr "" +"Velocità usata per scaricare il filamento sulla wipe tower (non influisce " +"sulla parte iniziale dello scaricamento dopo il ramming) " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:331 -msgid "Radius" -msgstr "Raggio" +#: src/libslic3r/PrintConfig.cpp:590 +msgid "Unloading speed at the start" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:380 -msgid "Raft" -msgstr "Raft" +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1029 -msgid "Raft layers" -msgstr "Layer raft" +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "Ritardo dopo lo scarico" -#: xs/src/slic3r/GUI/Tab.cpp:1319 -msgid "Ramming" -msgstr "Ramming" +#: src/libslic3r/PrintConfig.cpp:600 +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. " +msgstr "" +"Tempo di attesa dopo lo scaricamento del filamento. Può aiutare per ottenere " +"cambi affidabili con materiali flessibili che potrebbero richiedere più " +"tempo per tornare alle dimensioni originali. " -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:14 -msgid "Ramming customization" -msgstr "Personalizzazione del ramming" +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/libslic3r/PrintConfig.cpp:611 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." +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " msgstr "" -"Il ramming è la rapida estrusione appena prima di un cambio di strumento in una stampante MM a 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 diverse velocità per ottenere la forma corretta. Per questo motivi 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." -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:90 -msgid "Ramming line spacing" -msgstr "distanza tra le linee di Ramming" +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:88 -msgid "Ramming line width" -msgstr "Larghezza della linea di Ramming" +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:486 -msgid "Ramming parameters" -msgstr "Parametri del ramming" +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1321 -msgid "Ramming settings" -msgstr "Impostazioni del ramming" +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Re-configure" -msgstr "Ri-configura" +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:297 -msgid "Ready" -msgstr "Pronto" +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear" -msgstr "Posteriore" +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear View" -msgstr "Vista posteriore" +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:262 -#, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "Spessore raccomandato per oggetto con parete sottile per altezza layer %.2f e " +#: src/libslic3r/PrintConfig.cpp:651 +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:245 -msgid "Recommended object thin wall thickness: Not available due to invalid layer height." -msgstr "Spessore raccomandato per oggetto con parete sottile: Non disponibile a causa di un'altezza layer non valida." +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" +msgstr "Parametri del ramming" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:46 -msgid "Rectangular" -msgstr "Rettangolare" +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" +"Questa stringa viene controllata da RammingDialog e contiene parametri " +"specifici del ramming " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:352 -msgid "Reducing printing time" -msgstr "Ridurre tempo di stampa" +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload from Disk" -msgstr "Ricarica da Disco" +#: src/libslic3r/PrintConfig.cpp:668 +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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload the selected file from Disk" -msgstr "Ricarica il file selezionato dal Disco" +#: src/libslic3r/PrintConfig.cpp:677 +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 "" +"Inserisci qui il diametro del filamento. E' richiesta una buona precisione, " +"pertanto usa un calibro ed esegui misurazioni multiple lungo il filamento, " +"per poi ricavare una media." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:27 -msgid "Remember output directory" -msgstr "Ricorda la directory di output" +#: src/libslic3r/PrintConfig.cpp:685 +msgid "Density" +msgstr "Densità" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -msgid "Remove" -msgstr "Rimuovi" +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "" +"Inserisci qui la densità del filamento. E' solo un'informazione statistica. " +"Un metodo approssimativo consiste nel pesare un pezzo di filamento di " +"lunghezza nota, e calcolare il rapporto tra lunghezza e volume. E' meglio " +"calcolare il volume direttamente attraverso il dislocamento." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "remove" -msgstr "rimuovi" +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "g/cm³" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Remove one copy of the selected object" -msgstr "Rimuovi una copia dell'oggetto selezionato" +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "Tipo filamento" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Remove the selected object" -msgstr "Rimuovi l'oggetto selezionato" +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:217 -msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)" -msgstr "Rimuovi profili utente - reinstalla da zero (sarà prima fatto uno snapshot)" +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "Materiale solubile" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Repair" -msgstr "Ripara" +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "Il materiale solubile è comunemente usato per un supporto solubile." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Repair STL file…" -msgstr "Ripara file STL…" +#: src/libslic3r/PrintConfig.cpp:719 +msgid "" +"Enter your filament cost per kg here. This is only for statistical " +"information." +msgstr "" +"Inserisci qui il costo del filamento per kg. E' solo un'informazione " +"statistica." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "Repeat last quick slice" -msgstr "Ripeti l'ultimo slice veloce" +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "soldi/kg" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an Issue" -msgstr "Segnala un problema" +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "Angolo riempimento" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Segnala un problema su Slic3r Prusa Edition" +#: src/libslic3r/PrintConfig.cpp:731 +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." +msgstr "" +"Angolo base predefinito per l'orientamento del riempimento. Su questo verrà " +"applicato il tratteggio. I bridge saranno riempiti utilizzando la migliore " +"direzione che Slic3r può determinare, quindi questa impostazione non " +"influisce sui bridge." -#: xs/src/slic3r/Utils/PresetUpdater.cpp:514 -#, c-format -msgid "requires min. %s and max. %s" -msgstr "richiede min. %s e max. %s" +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "Densità riempimento" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:288 -msgid "Rescan" -msgstr "Ri-scansiona" +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "Densità del riempimento interno, espresso nell'intervallo 0% - 100%." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:995 -msgid "Rescan serial ports" -msgstr "Scansiona nuovamente porte seriali" +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "Schema riempimento" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1039 -msgid "Resolution" -msgstr "Risoluzione" +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "Schema per riempimento comune a bassa densità." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1057 -msgid "Retract amount before wipe" -msgstr "Retrai la quantità prima di pulire" +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1065 -msgid "Retract on layer change" -msgstr "Ritrai al cambio layer" +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1202 -msgid "Retraction" -msgstr "Retrazione" +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1051 -msgid "Retraction is not triggered when travel moves are shorter than this length." -msgstr "La retrazione non è attivata quando i movimenti di spostamento sono più brevi di questa lunghezza." +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1072 -msgid "Retraction Length" -msgstr "Lunghezza Retrazione" +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1081 -msgid "Retraction Length (Toolchange)" -msgstr "Lunghezza Retrazione (cambio tool)" +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1134 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1135 -msgid "Retraction Speed" -msgstr "Velocità di retrazione" +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1218 -msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" -msgstr "Retrai quando l'attrezzo è disabilitato (impostazioni avanzate per setup multi-estrusore)" +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:96 -msgid "Retractions" -msgstr "Retrazioni" +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "Primo strato" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right" -msgstr "Destra" +#: src/libslic3r/PrintConfig.cpp:817 +msgid "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." +msgstr "" +"Questa è l'accelerazione che la stampante utilizzerà per il primo layer. " +"Imposta a zero per disattivare il controllo dell'accelerazione per il primo " +"layer." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right View" -msgstr "Vista destra" +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." +msgstr "" +"Temperatura piano riscaldato per il primo layer. Imposta a zero per " +"disattivare i comandi di controllo temperatura nell'output." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate" -msgstr "Ruota" +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "" +"Imposta questo valore diverso da zero per impostare la larghezza di " +"estrusione manuale per il primo layer. Puoi usarlo per forzare un'estrusione " +"più grossa per avere un'adesione migliore. Se espresso in percentuale (per " +"esempio 120%) sarà calcolato sull'altezza del primo layer. Se impostato a " +"zero, sarà utilizzata la larghezza di estrusione predefinita." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate 45° clockwise" -msgstr "Ruota 45° senso orario" +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "Altezza del primo strato" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate 45° counter-clockwise" -msgstr "Ruota 45° antiorario" +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "" +"Durante la stampa di layer molto bassi, potresti comunque aver bisogno di " +"stampare layer inferiori più spessi per migliorare l'adesione e la " +"tolleranza per piani di stampa non perfetti. Questo può essere espresso come " +"un valore assoluto o come una percentuale (per esempio: 150%) sull'altezza " +"layer predefinita." + +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "mm o %" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate the selected object by 45° clockwise" -msgstr "Ruota l'oggetto selezionato di 45° in senso orario" +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" +msgstr "Velocità del primo strato" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate the selected object by 45° counter-clockwise" -msgstr "Ruota l'oggetto selezionato di 45° in senso antiorario" +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "" +"Se espresso come valore assoluto in mm/s, questa velocità sarà applicata a " +"tutti i movimenti di stampa del primo layer, a prescindere dal tipo di " +"movimento. Se espresso come percentuale (per esempio: 40%) verranno scalate " +"le velocità predefinite." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate the selected object by an arbitrary angle" -msgstr "Ruota l'oggetto selezionato di un angolo arbitrario" +#: src/libslic3r/PrintConfig.cpp:872 +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 "" +"Temperatura estrusore per il primo layer. Se vuoi controllare manualmente la " +"temperatura durante la stampa, imposta questo a zero per disattivare i " +"comandi di controllo temperatura nel file di output." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Rotate the selected object by an arbitrary angle around X axis" -msgstr "Ruota l'oggetto selezionato di un angolo arbitrario attorno l'asse X" +#: src/libslic3r/PrintConfig.cpp:882 +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 "" +"Velocità per il riempimento degli spazi stretti utilizzando brevi movimenti " +"a zig-zag. Mantieni questa velocità ragionevolmente bassa per evitare " +"problemi di oscillazione e risonanza. Imposta a zero per disabilitare il " +"riempimento degli spazi." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Rotate the selected object by an arbitrary angle around Y axis" -msgstr "Ruota l'oggetto selezionato di un angolo arbitrario attorno l'asse Y" +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "G-code Verbose" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Rotate the selected object by an arbitrary angle around Z axis" -msgstr "Ruota l'oggetto selezionato di un angolo arbitrario attorno l'asse Z" +#: src/libslic3r/PrintConfig.cpp:891 +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." +msgstr "" +"Abilita per ottenere un file G-code commentato, con un testo descrittivo per " +"ciascuna linea. Se stampi da memoria SD, il peso aggiuntivo del file " +"potrebbe rallentare il tuo firmware." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:211 xs/src/slic3r/GUI/GUI.cpp:399 -#, c-format -msgid "Run %s" -msgstr "Run %s" +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "Tipologia di G-code" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 xs/src/slic3r/GUI/RammingChart.cpp:86 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -#: xs/src/libslic3r/PrintConfig.cpp:480 -msgid "s" -msgstr "s" +#: src/libslic3r/PrintConfig.cpp:900 +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 "" +"Alcuni comandi G/M-code, incluso il controllo temperatura ed altri, non sono " +"universali. Attiva questa impostazione sul firmware della tua stampante per " +"ottenere un output compatibile. Il tipo \"No estrusione\" impedisce che " +"Slic3r esporti qualunque valore di estrusione." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid "Save " -msgstr "Salva " +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:605 -msgid "Save configuration as:" -msgstr "Salva configurazione come:" +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:50 -msgid "Save current " -msgstr "Salva attuale " +#: src/libslic3r/PrintConfig.cpp:930 +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 "" -#: lib/Slic3r/GUI/Plater.pm:1399 -msgid "Save G-code file as:" -msgstr "Salva il file G-code come:" +#: src/libslic3r/PrintConfig.cpp:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "" +"Questa è l'accelerazione che la stampante utilizzerà per il riempimento. " +"Imposta a zero per disattivare il controllo dell'accelerazione per il " +"riempimento." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:580 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "Salva il file OBJ (meno soggetto a errori di coordinate dell'STL) come:" +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "Combina riempimento ogni" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:248 -msgid "Save preset" -msgstr "Salva preset" +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" +"Questa funzione permette di combinare il riempimento e velocizza il tempo di " +"stampa estrudendo layer di infill più spessi conservando tuttavia i " +"perimetri sottili, e quindi l'accuratezza." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:646 -msgid "Save presets bundle as:" -msgstr "Salva il gruppo di preset come:" +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "Combina riempimento ogni n layer" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -msgid "Scale" -msgstr "Scala" +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "Estrusore riempimento" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -msgid "Scale along " -msgstr "Scala lungo " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale the selected object along a single axis" -msgstr "Scala l'oggetto selezionato lungo un singolo asse" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Scale the selected object along the X axis" -msgstr "Scala l'oggetto selezionato lungo l'asse X" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Scale the selected object along the XYZ axes" -msgstr "Scala l'oggetto selezionato lungo gli assi XYZ" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Scale the selected object along the Y axis" -msgstr "Scala l'oggetto selezionato lungo l'asse Y" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Scale the selected object along the Z axis" -msgstr "Scala l'oggetto selezionato lungo l'asse Z" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale to size" -msgstr "Scala alla dimensione" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:187 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:203 -msgid "Scale…" -msgstr "Scala…" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1151 -msgid "Seam position" -msgstr "Posizione giunzione" +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "L'estrusore da utilizzare per la stampa del riempimento." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1172 -msgid "Seam preferred direction" -msgstr "Direzione preferita giunzione" +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" +"Imposta questo valore diverso da zero per impostare una larghezza " +"d'estrusione manuale per il riempimento. Se lasciato a zero, verrà usata la " +"larghezza d'estrusione predefinita, altrimenti verrà utilizzato il valore " +"1.125 x il diametro dell'ugello. Dovresti usare un estrusione più grossa per " +"velocizzare la stampa del riempimento e rendere le tue parti più robuste. Se " +"espresso in percentuale (per esempio 90%) verrà calcolato sull'altezza del " +"layer." + +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "Riempimento prima dei perimetri" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1182 -msgid "Seam preferred direction jitter" -msgstr "Direzione preferita giunzione jitter" +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "" +"Questa opzione sostituirà l'ordine di stampa dei perimetri e del " +"riempimento, realizzando per primo il secondo." -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 -msgid "Searching for devices" -msgstr "Ricerca dispositivi" +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "Riempimento solo quando necessario" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Select &Controller Tab\tCtrl+T" -msgstr "Seleziona Scheda &Controller\tCtrl+T" +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "" +"Questa opzione limiterà il riempimento alle aree che effettivamente hanno " +"bisogno di un supporto per i soffitti (si comporterà come un materiale di " +"supporto interno). Se attivato, rallenterà la generazione del G-code a causa " +"dei molteplici controlli necessari." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Select &Filament Settings Tab\tCtrl+3" -msgstr "Seleziona Scheda Impostazioni &Filamento\tCtrl+3" +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "Sovrapposizione riempimento/perimetri" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Select &Plater Tab\tCtrl+1" -msgstr "Seleziona Scheda &Piano\tCtrl+1" +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" +"Questa impostazione applica una sovrapposizione aggiuntiva tra perimetri e " +"riempimento per una migliore unione. Teoricamente non sarebbe necessario, ma " +"i contraccolpi possono causare spazi vuoi. Se espresso in percentuale (per " +"esempio: 15%) viene calcolato sulla larghezza d'estrusione del perimetro." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:103 -msgid "Select all" -msgstr "Seleziona tutto" +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "" +"Velocità per la stampa del riempimento interno. Imposta a zero per auto." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:623 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:667 -msgid "Select configuration to load:" -msgstr "Seleziona configurazione da caricare:" +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "Eredita profilo" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:104 -msgid "Select none" -msgstr "Deseleziona tutti" +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "Nome del profilo da cui questo profilo eredita." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Select P&rint Settings Tab\tCtrl+2" -msgstr "Seleziona Scheda impostazioni di &Stampa\tCtrl+2" +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "Gusci interfaccia" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Select Print&er Settings Tab\tCtrl+4" -msgstr "Seleziona Scheda Impostazioni Stampant&e\tCtrl+4" +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material." +msgstr "" +"Forza la generazione di perimetri solidi tra volumi o materiali adiacenti. " +"Utile per stampe multi estrusore con materiali traslucidi o supporti " +"solubili manuali." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Select the language" -msgstr "Seleziona la lingua" +#: src/libslic3r/PrintConfig.cpp:1043 +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 "" +"Questo codice personalizzato è inserito ad ogni cambio layer, subito dopo il " +"movimento Z e prima che l'estrusore si sposti al punto del primo layer. Si " +"fa presente che puoi usare variabili sostitutive per tutte le impostazioni " +"di Slic3r sia per [layer_num] che per [layer_z]." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1667 -msgid "Select the printers this profile is compatible with." -msgstr "Seleziona le stampanti compatibili con questo profilo." +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:566 -msgid "Select the STL file to repair:" -msgstr "Seleziona il file STL da riparare:" +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" -#: xs/src/slic3r/GUI/GUI.cpp:882 -msgid "Select what kind of support do you need" -msgstr "Seleziona il tipo di supporto richiesto" +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:239 -msgid "Send to printer" -msgstr "Manda alla stampante" +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1448 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "Mandando il file G-code al server OctoPrint..." +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:477 -msgid "Sequential printing" -msgstr "Stampa sequenziale" +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:990 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1193 -msgid "Serial port" -msgstr "Porta seriale" +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1202 -msgid "Serial port speed" -msgstr "Velocità porta seriale" +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:286 -msgid "Serial port:" -msgstr "Porta seriale:" +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 -msgid "Service name" -msgstr "Nome servizio" +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Set number of copies…" -msgstr "Imposta numero delle copie…" +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:398 -msgid "Set the shape of your printer's bed." -msgstr "Imposta la dimensione del piano della stampante." +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:378 -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." -msgstr "Imposta questo valore diverso da zero per permettere la larghezza estrusione manuale. Se lasciato a zero, Slic3r ricava la larghezza d'estrusione dal diametro dell'ugello (vedi il suggerimento per la larghezza di estrusione perimetro,larghezza estrusione riempimento ecc.). Se espresso come percentuale (ad esempio 230%), sarà calcolato sull'altezza del layer." +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:269 -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." -msgstr "Imposta questo valore diverso da zero per impostare una larghezza d'estrusione manuale per i perimetri esterni. Se lasciato a zero, verrà utilizzata la larghezza predefinita se impostata; diversamente verrà utilizzato il valore 1.125 x il diametro dell'ugello. Se espresso in percentuale (per esempio 200%), sarà calcolato sull'altezza del layer." +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:593 -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." -msgstr "Imposta questo valore diverso da zero per impostare la larghezza di estrusione manuale per il primo layer. Puoi usarlo per forzare un'estrusione più grossa per avere un'adesione migliore. Se espresso in percentuale (per esempio 120%) sarà calcolato sull'altezza del primo layer. Se impostato a zero, sarà utilizzata la larghezza di estrusione predefinita." +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "Massimo" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1293 -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." -msgstr "Imposta questo valore diverso da zero per impostare una larghezza d'estrusione manuale per il riempimento delle superfici solide. Se lasciato a zero, verrà usata la larghezza d'estrusione predefinita, altrimenti verrà utilizzato il valore 1.125 x il diametro dell'ugello. Se espresso in percentuale (per esempio 90%) verrà calcolato sull'altezza del layer." +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "Questa impostazione rappresenta la velocità massima della ventola." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1615 -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." -msgstr "Imposta questo valore diverso da zero per impostare una larghezza d'estrusione manuale per il riempimento delle superfici superiori. Dovresti scegliere un'estrusione più sottile per riempire gli spazi stretti ed ottenere una finitura più liscia. Se lasciato a zero, verrà usata la larghezza d'estrusione predefinita, altrimenti verrà utilizzato il valore 1.125 x il diametro dell'ugello. Se espresso in percentuale (per esempio 90%) verrà calcolato sull'altezza del layer." +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "" +"Questa è la massima altezza layer stampabile per questo estrusore, usata " +"come limite per l'altezza variabile dei layer e l'altezza dei layer di " +"supporto. L'altezza layer massima raccomandata è il 75% della larghezza di " +"estrusione, in modo da ottenere una buona adesione tra i layer. Se impostato " +"a 0, l'altezza layer è limitata al 75% del diametro dell'ugello." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:711 -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." -msgstr "Imposta questo valore diverso da zero per impostare una larghezza d'estrusione manuale per il riempimento. Se lasciato a zero, verrà usata la larghezza d'estrusione predefinita, altrimenti verrà utilizzato il valore 1.125 x il diametro dell'ugello. Dovresti usare un estrusione più grossa per velocizzare la stampa del riempimento e rendere le tue parti più robuste. Se espresso in percentuale (per esempio 90%) verrà calcolato sull'altezza del layer." +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "Massima velocità di stampa" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:968 -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." -msgstr "Imposta questo valore diverso da zero per impostare una larghezza d'estrusione manuale per i perimetri. Dovresti scegliere un'estrusione più sottile per ottenere superfici più precise. Se lasciato a zero, verrà usata la larghezza d'estrusione predefinita, altrimenti verrà utilizzato il valore 1.125 x il diametro dell'ugello. Se espresso in percentuale (per esempio 200%) verrà calcolato sull'altezza del layer." +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "" +"Quando le altre velocità sono impostate a 0, Slic3r calcolerà " +"automaticamente la velocità ottimale in modo da mantenere costante la " +"pressione dell'estrusore. Questa impostazione sperimentale è utilizzata per " +"impostare la velocità massima di stampa che vuoi permettere." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1455 -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." -msgstr "Imposta questo valore diverso da zero per impostare una larghezza d'estrusione manuale per il supporto. Se lasciato a zero, verrà usata la larghezza d'estrusione predefinita., altrimenti verrà utilizzato il valore del diametro dell'ugello. Se espresso in percentuale (per esempio 90%) verrà calcolato sull'altezza del layer." +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." +msgstr "" +"Questa impostazione sperimentale è utilizzata per impostare la massima " +"velocità volumetrica supportata dal tuo estrusore." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:332 -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." -msgstr "Imposta il raggio di spazio attorno all'estrusore. Se l'estrusore non è centrato, scegli il valore più grande per sicurezza. Questa impostazione è usata per controllare le collisioni e per mostrare l'anteprima grafica nel piano." +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "Massima pendenza volumetrica positiva" -#: xs/src/libslic3r/PrintConfig.cpp:877 -msgid "Set this to the maximum height that can be reached by your extruder while printing." -msgstr "Impostate alla massima altezza che può essere raggiunta dal vostro estrusore durante la stampa." +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "" +"Questa impostazione sperimentale è utilizzata per limitare la velocità del " +"cambio nel fattore di estrusione. Un valore di 1.8 mm³/s² assicura che un " +"cambio dal fattore di estrusione di 1.8 mm³/s (larghezza estrusione 0.45mm, " +"altezza estrusione di 0.2mm, avanzamento 20 mm/s) a 5.4 mm³/s (avanzamento a " +"60 mm/s) impiegherà almeno 2 secondi." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:321 -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." -msgstr "Imposta la distanza verticale tra la punta dell'ugello e (solitamente) le barre del carrello X. In altre parole, questa è l'altezza dello spazio cilindrico attorno l'estrusore, e indica la profondità massima che l'estrusore può affacciarsi prima di sbattere con altri oggetti stampati." +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "mm³/s²" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:120 -msgid "Settings" -msgstr "Impostazioni" +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" +msgstr "Massima pendenza volumetrica negativa" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:206 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Settings…" -msgstr "Impostazioni…" +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "Minimo" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:39 -msgid "Shape" -msgstr "Forma" +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "" +"Questa impostazione rappresenta la PWM minima (modulazione di larghezza di " +"impulso) che la ventola necessita per lavorare." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:98 -msgid "Shells" -msgstr "Gusci" +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "" +"Questa è l'altezza minima stampabile per questo estrusore e limita la " +"risoluzione per l'altezza variabile di layer. Valori tipici sono compresi " +"tra 0.05 mm e 0.1 mm." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:75 -msgid "Show" -msgstr "Mostra" +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" +msgstr "Velocità minima di stampa" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show &Configuration Folder" -msgstr "Cartella Mostra &Configurazione" +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "Slic3r non rallenterà la velocità al di sotto di questa." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "Show about dialog" -msgstr "Mostra la finestra di dialogo al riguardo di" +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" +msgstr "Lunghezza di estrusione minima del filamento" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show advanced settings" -msgstr "Mostra impostazioni avanzate" +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "" +"Genera almeno il numero di skirt necessari per consumare la quantità di " +"filamento specificata per il primo strato. Per le macchine multi estrusore, " +"questo minimo riguarda ciascun estrusore." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:67 -msgid "Show incompatible print and filament presets" -msgstr "Mostra preset di stampa e di filamento incompatibili" +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "Note di configurazione" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show simplified settings" -msgstr "Mostra impostazioni semplificate" +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"E' possibile inserire qui le note personali. Questo testo verrà aggiunto nei " +"commenti iniziali del G-code." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "Show system information" -msgstr "Mostra informazioni di sistema" +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "Diametro ugello" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Show the filament settings" -msgstr "Mostra impostazioni filamento" +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgstr "" +"Questo è il diametro dell'ugello dell'estrusore (per esempio: 0.5, 0.35 ecc.)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Show the plater" -msgstr "Mostra il piano" +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Show the print settings" -msgstr "Mostra impostazioni di stampa" +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Show the printer controller" -msgstr "Mostra controller stampante" +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Show the printer settings" -msgstr "Mostra impostazioni della stampante" +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show user configuration folder (datadir)" -msgstr "Mostra cartella configurazione utente (datadir)" +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "Hostname, IP o URL" -#: xs/src/slic3r/GUI/Tab.cpp:1716 xs/src/slic3r/GUI/Tab.cpp:1722 -msgid "Single extruder MM setup" -msgstr "Setup Estrusore singolo MM" +#: src/libslic3r/PrintConfig.cpp:1318 +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." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1373 -msgid "Single Extruder Multi Material" -msgstr "Multi Material a Estrusore Singolo" +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "Ritrai solo se si attraversa un perimetro" -#: xs/src/slic3r/GUI/Tab.cpp:1723 -msgid "Single extruder multimaterial parameters" -msgstr "Parametri multimateriali estrusore singolo" +#: src/libslic3r/PrintConfig.cpp:1326 +msgid "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." +msgstr "" +"Disabilita la retrazione quando la traiettoria del movimento non oltrepassa " +"i perimetri del layer superiore (pertanto qualunque scolatura sarà " +"probabilmente invisibile)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:50 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:408 -msgid "Size" -msgstr "Dimensione" +#: src/libslic3r/PrintConfig.cpp:1334 +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 "" +"Questa opzione abbasserà la temperatura degli estrusori inattivi per " +"prevenire oozing. Attiverà automaticamente uno skirt alto e muoverà " +"l'estrusore al di fuori di questo skirt al cambiamento di temperature." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:938 -msgid "Size and coordinates" -msgstr "Dimensione e coordinate" +#: src/libslic3r/PrintConfig.cpp:1342 +msgid "Output filename format" +msgstr "Formato del file di Output" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:51 -msgid "Size in X and Y of the rectangular plate." -msgstr "Dimensioni su X e Y del piano rettangolare." +#: src/libslic3r/PrintConfig.cpp:1343 +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 "" +"E' possibile utilizzare tutte le opzioni di configurazione come variabili " +"all'interno di questo modello. Ad esempio: [layer_height], [fill_density] " +"ecc. Puoi anche usare [timestamp], [year], [month], [day], [hour], [minute], " +"[second], [version], [input_filename ], [nome_filename_input]." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:365 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:146 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:88 -msgid "Skirt" -msgstr "Skirt" +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "Rileva perimetri ponte" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:364 -msgid "Skirt and brim" -msgstr "Skirt e brim" +#: src/libslic3r/PrintConfig.cpp:1355 +msgid "" +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." +msgstr "" +"Opzione sperimentale per regolare il flusso delle sporgenze (sarà utilizzato " +"il flusso dei bridge), applicare la velocità del bridge e attivare la " +"ventola." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1221 -msgid "Skirt height" -msgstr "Altezza skirt" +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" +msgstr "Posizione di parking del filamento" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1230 -msgid "Skirt Loops" -msgstr "Giri skirt" +#: src/libslic3r/PrintConfig.cpp:1363 +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 "" +"Distanza della punta dell'estrusore dalla posizione dove il filamento viene " +"posto mentre viene scaricato. Dovrebbe essere uguale al valore nel firmware " +"della stampante. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Slic3r &Manual" -msgstr "&Manuale Slic3r" +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Slic3r &Website" -msgstr "Sito &web Slic3r" +#: src/libslic3r/PrintConfig.cpp:1373 +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. " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:902 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the API Key required for authentication." -msgstr "Slic3r può caricare i file G-code su OctoPrint. Questo campo dovrebbe contenere la chiave API richiesta per l'autenticazione." +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "Perimetri" -#: xs/src/libslic3r/PrintConfig.cpp:992 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the hostname, IP address or URL of the OctoPrint instance." -msgstr "Slic3r può esportare file G-code a OctoPrint. Questo campo dovrebbe contenere l'hostname,, l'indirizzo IP o URL dell'istanza OctoPrint." +#: src/libslic3r/PrintConfig.cpp:1383 +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 "" +"Questa è l'accelerazione che la stampante utilizzerà per i perimetri. Un " +"valore alto come 9000 solitamente produce dei buoni risultati se l'hardware " +"è all'altezza. Imposta a zero per disattivare il controllo " +"dell'accelerazione per i perimetri." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r configuration is incompatible" -msgstr "Configurazione Slic3r incompatibile" +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "Estrusore perimetro" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:929 -msgid "Slic3r Error" -msgstr "Errore Slic3r" +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "" +"The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "" +"L'estrusore da utilizzare per la stampa dei perimetri e del brim. Il primo " +"estrusore è 1." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r error" -msgstr "Errore Slic3r" +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "" +"Imposta questo valore diverso da zero per impostare una larghezza " +"d'estrusione manuale per i perimetri. Dovresti scegliere un'estrusione più " +"sottile per ottenere superfici più precise. Se lasciato a zero, verrà usata " +"la larghezza d'estrusione predefinita, altrimenti verrà utilizzato il valore " +"1.125 x il diametro dell'ugello. Se espresso in percentuale (per esempio " +"200%) verrà calcolato sull'altezza del layer." + +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "" +"Velocità per i perimetri (contorni, conosciuti anche come gusci verticali). " +"Imposta a zero per automatizzare." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r has encountered an error" -msgstr "Slic3r ha riscontrato un errore" +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "" +"Questa opzione imposta il numero di perimetri da generare per ogni layer. Da " +"notare che Slic3r aumenta questo numero automaticamente quando rileva " +"superfici inclinate che potrebbero beneficiare di un aumento del numero dei " +"perimetri se l'opzione Perimetri aggiuntivi è attiva." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r incompatibility" -msgstr "Incompatibilità Slic3r" +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "(minimo)" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 -#, c-format +#: src/libslic3r/PrintConfig.cpp:1439 msgid "" -"Slic3r PE 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." +"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 "" -"Slic3r PE adesso utilizza una struttura di aggiornamento delle 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." +"Se vuoi processare il G-code in uscita con script personalizzati, basta " +"elencare qui il loro percorso assoluto. Separa i diversi script con un punto " +"e virgola. Gli script passeranno il percorso assoluto nel G-code come primo " +"argomento, e potranno accedere alle impostazioni di configurazione di Slic3r " +"leggendo le variabili di ambiente." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 -msgid "slic3r version" -msgstr "versione di slic3r" +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "Tipo stampante" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:867 -msgid "Slic3r will not scale speed down below this speed." -msgstr "Slic3r non rallenterà la velocità al di sotto di questa." +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." +msgstr "Tipologia stampante." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Slice a file into a G-code" -msgstr "Processa un file in G-code" +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "Note stampante" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Slice a file into a G-code, save as" -msgstr "Processa un file in G-code, salva come" +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "E' possibile inserire qui le note riguardanti la stampante." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice file to a multi-layer SVG" -msgstr "Processa il file in un SVG multi-layer" +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" +msgstr "Venditore della stampante" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:237 -msgid "Slice now" -msgstr "Processa ora" +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." +msgstr "Nome del venditore della stampante." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice to SV&G…\tCtrl+G" -msgstr "Processa a SV&G…\tCtrl+G" +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" +msgstr "Variante della stampante" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:438 -msgid "Sliced Info" -msgstr "Informazioni processo" +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "" +"Nome della variante di stampante. Per esempio le varianti di una stampante " +"potrebbero differire per diametro dell'ugello." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1286 -msgid "Slicing cancelled" -msgstr "Slicing cancellato" +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" +msgstr "Layer raft" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:550 -msgid "Slicing Done!" -msgstr "Slicing Completato!" +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." +msgstr "" +"L'oggetto verrà sollevato da questo numero di layer, e verrà generato il " +"materiale di supporto al di sotto di questo." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Slicing…" -msgstr "Slicing…" +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" +msgstr "Risoluzione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1239 -msgid "Slow down if layer print time is below" -msgstr "Rallenta se il tempo di stampa del layer è inferiore" +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "" +"Risoluzione minima dettaglio, utilizzato per semplificare il file input " +"accelerando lo slicing e riducendo l'utilizzo di memoria. I file ad alta " +"risoluzione spesso hanno più dettaglio di quanto la stampante possa " +"generare. Impostate a zero per disabilitare la semplificazione e utilizzare " +"la risoluzione completa." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1250 -msgid "Small perimeters" -msgstr "Perimetri piccoli" +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" +msgstr "Spostamento minimo dopo una ritrazione" -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Snapshot name" -msgstr "Nome istantanea" +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "" +"Retraction is not triggered when travel moves are shorter than this length." +msgstr "" +"La retrazione non è attivata quando i movimenti di spostamento sono più " +"brevi di questa lunghezza." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:179 -msgid "solid infill" -msgstr "riempimento solido" +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" +msgstr "Retrai la quantità prima di pulire" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1291 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1301 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:142 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:84 -msgid "Solid infill" -msgstr "Riempimento solido" +#: src/libslic3r/PrintConfig.cpp:1515 +msgid "" +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." +msgstr "" +"Con estrusori bowden, potrebbe essere saggio effettuare una certa retrazione " +"veloce prima di effettuare un movimento di pulizia." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1279 -msgid "Solid infill every" -msgstr "Riempimento solido ogni" +#: src/libslic3r/PrintConfig.cpp:1523 +msgid "Retract on layer change" +msgstr "Ritrai al cambio layer" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1271 -msgid "Solid infill extruder" -msgstr "Estrusore riempimento solido" +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "" +"Questo contrassegno forza una retrazione ogni volta che viene effettuato un " +"movimento di Z." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1262 -msgid "Solid infill threshold area" -msgstr "Area inizio riempimento solido" +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "Lunghezza" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:330 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1314 -msgid "Solid layers" -msgstr "Layer solidi" +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "Lunghezza Retrazione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:470 -msgid "Soluble material" -msgstr "Materiale solubile" +#: src/libslic3r/PrintConfig.cpp:1532 +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 "" +"Quando viene attivata la retrazione, il filamento viene ritirato per la " +"quantità specificata (la lunghezza è misurata sul filamento grezzo, prima " +"che questo entri dentro l'estrusore)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:471 -msgid "Soluble material is most likely used for a soluble support." -msgstr "Il materiale solubile è comunemente usato per un supporto solubile." +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "mm (imposta a zero per disabilitare)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:653 -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 "Alcuni comandi G/M-code, incluso il controllo temperatura ed altri, non sono universali. Attiva questa impostazione sul firmware della tua stampante per ottenere un output compatibile. Il tipo \"No estrusione\" impedisce che Slic3r esporti qualunque valore di estrusione." +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "Lunghezza Retrazione (cambio tool)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1682 -msgid "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default." -msgstr "Alcune stampanti o setup di stampanti possono riscontrare difficoltà a stampare con l'altezza layer variabile. Attivato come predefinito." +#: src/libslic3r/PrintConfig.cpp:1541 +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 "" +"Quando viene attivata la retrazione prima del cambio strumento, il filamento " +"è ritirato per la quantità specificata (la lunghezza è misurata sul " +"filamento grezzo, prima che questo entri dentro l'estrusore)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1490 -msgid "Spacing between interface lines. Set zero to get a solid interface." -msgstr "Spaziatura tra le linee di interfaccia. Imposta a zero per ottenere un'interfaccia solida." +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" +msgstr "Solleva Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1526 -msgid "Spacing between support material lines." -msgstr "Spaziatura tra le linee del materiale di supporto." +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" +"Se inserisci un valore positivo, Z verrà alzato velocemente ogni volta che " +"si innesca una retrazione. Quando si utilizzano diversi estrusori, verrà " +"considerato solamente l'impostazione del primo estrusore." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:398 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:278 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:635 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:747 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:979 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1201 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1251 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1302 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1625 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:71 -msgid "Speed" -msgstr "Velocità" +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "Sopra Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1203 -msgid "Speed (baud) of USB/serial port for printer connection." -msgstr "Velocità (baud) USB/Seriale per la connessione stampante." +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" +msgstr "Eleva solo Z al di sopra" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:336 -msgid "Speed (mm/s)" -msgstr "Velocità (mm/s)" +#: src/libslic3r/PrintConfig.cpp:1561 +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 "" +"Se inserisci un valore positivo, il sollevamento Z avverrà solamente sopra " +"un certo specifico valore assoluto Z. Puoi regolare questa impostazione per " +"evitare il sollevamento nei primi layer." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:636 -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 "Velocità per il riempimento degli spazi stretti utilizzando brevi movimenti a zig-zag. Mantieni questa velocità ragionevolmente bassa per evitare problemi di oscillazione e risonanza. Imposta a zero per disabilitare il riempimento degli spazi." +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" +msgstr "Sotto Z" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:411 -msgid "Speed for non-print moves" -msgstr "Velocità per i movimenti non di stampa" +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "Eleva solo Z al di sotto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:980 -msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." -msgstr "Velocità per i perimetri (contorni, conosciuti anche come gusci verticali). Imposta a zero per automatizzare." +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" +"Se inserisci un valore positivo, il sollevamento Z avverrà solamente sotto " +"un certo specifico valore assoluto Z. Puoi regolare questa impostazione per " +"limitare il sollevamento ai primi layer." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:399 -msgid "Speed for print moves" -msgstr "Velocità per i movimenti di stampa" +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "Lunghezza extra in ripresa" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:119 -msgid "Speed for printing bridges." -msgstr "Velocità di stampa Bridge." +#: src/libslic3r/PrintConfig.cpp:1581 +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 "" +"Quando la retrazione è compensata dopo un movimento di spostamento, " +"l'estrusore spingerà questa quantità addizionale di filamento. Questa " +"impostazione è raramente necessaria." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1303 -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 "La velocità per le regioni di stampa solide (superiore/inferiore/gusci interni orizzontali). Questo valore può essere espresso come percentuale (per esempio: 80%) sulla velocità del riempimento predefinita qui sopra. Imposta a zero per automatizzare." +#: src/libslic3r/PrintConfig.cpp:1590 +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "" +"Quando la retrazione è compensata dopo un cambio di strumento, l'estrusore " +"spingerà questa quantità addizionale di filamento." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1499 -msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." -msgstr "Velocità per la stampa dei layer di interfaccia del materiale di supporto. Se espresso come percentuale (per esempio 50%) sarà calcolato sulla velocità del materiale di supporto." +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "Velocità di retrazione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1535 -msgid "Speed for printing support material." -msgstr "Velocità per la stampa del materiale di supporto." +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "" +"Velocità delle retrazioni (si applica solamente al motore dell'estrusore)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:748 -msgid "Speed for printing the internal fill. Set to zero for auto." -msgstr "Velocità per la stampa del riempimento interno. Imposta a zero per auto." +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "Velocità di deretrazione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1626 -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." -msgstr "Velocità di stampa dei layer solidi superiori (si applica solamente al layer solido esterno più in alto e non ai layer solidi interni). Rallenta questa impostazione per ottenere una superficie più rifinita. Questo valore può essere espresso come percentuale (per esempio: 80%) della velocità del riempimento solido qui sopra. Imposta a zero per auto." +#: src/libslic3r/PrintConfig.cpp:1609 +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 "" +"La velocità di caricamento di un filamento nell'estrusore dopo la retrazione " +"(si applica solamente al motore dell'estrusore). Se lasciato a zero, verrà " +"utilizzata la velocità di retrazione." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1648 -msgid "Speed for travel moves (jumps between distant extrusion points)." -msgstr "Velocità per movimenti di spostamento (salti tra punti di estrusione distanti)." +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" +msgstr "Posizione giunzione" -#: xs/src/libslic3r/PrintConfig.cpp:460 -msgid "Speed used for loading the filament on the wipe tower. " -msgstr "Velocità utilizzata per caricare il filamento sulla torre di spurgo. " +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "Posizione dei punti iniziali dei perimetri." -#: xs/src/libslic3r/PrintConfig.cpp:468 -msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming). " -msgstr "Velocità usata per scaricare il filamento sulla wipe tower (non influisce sulla parte iniziale dello scaricamento dopo il ramming) " +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1322 -msgid "Spiral vase" -msgstr "Vaso a spirale" +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:540 -msgid "Spiral Vase" -msgstr "Vaso a Spirale" +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:188 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:204 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split" -msgstr "Dividi" +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split the selected object into individual parts" -msgstr "Divide l'oggetto selezionato in parti individuali" +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "Direzione" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:847 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1342 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1357 -msgid "Start G-code" -msgstr "Inizia G-code" +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "Direzione preferita della giunzione" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "Start new slicing process" -msgstr "Inizia un nuovo processo di slicing" +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "Direzione preferita giunzione" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:296 -msgid "Status:" -msgstr "Stato:" +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "Jitter" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1539 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1581 -msgid "STL file exported to " -msgstr "File STL esportato a " +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "Direzione preferita giunzione jitter" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Success!" -msgstr "Successo!" +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "Direzione preferita della giunzione - jitter" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:198 -msgid "support" -msgstr "supporto" +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "Porta USB/Seriale per connessione stampante." -#: xs/src/slic3r/GUI/GUI.cpp:879 -msgid "Support" -msgstr "Supporto" +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "Velocità porta seriale" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:620 -msgid "Support Generator" -msgstr "Generatore Supporto" +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." +msgstr "Velocità (baud) USB/Seriale per la connessione stampante." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:208 -msgid "support interface" -msgstr "interfaccia supporto" +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "Distanza dall'oggetto" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:374 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:375 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:191 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1030 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1380 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1387 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1399 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1409 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1417 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1432 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1453 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1464 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1480 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1489 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1498 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1509 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1525 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1533 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1534 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1543 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1551 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1565 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:147 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:89 -msgid "Support material" -msgstr "Materiale supporto" +#: src/libslic3r/PrintConfig.cpp:1680 +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 "" +"La distanza tra skirt e oggetto(i). Imposta questo valore a zero per unire " +"lo skirt all'oggetto(i) e ottenere un brim per una migliore adesione." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1497 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:148 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:90 -msgid "Support material interface" -msgstr "Interfaccia materiale supporto" +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "Altezza skirt" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1552 -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)." -msgstr "Il materiale di supporto non sarà generato per sporgenze con angolo di inclinazione (90°=verticale) superiore al limite impostato. In altre parole, questo valore rappresenta l'inclinazione orizzontale massima (misurata dal piano orizzontale) che puoi stampare senza materiale di supporto. Imposta a zero per un rilevamento automatico (raccomandato)." +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." +msgstr "" +"Altezza dello skirt espresso in layer. Imposta un valore alto per utilizzare " +"lo skirt come scudo contro le scolature." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1470 -msgid "Support material/raft interface extruder" -msgstr "Estrusore materiale di supporto/intefaccia raft" +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" +msgstr "Giri (minimo)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1444 -msgid "Support material/raft/skirt extruder" -msgstr "Estrusore materiale di supporto/raft/skirt" +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "Giri skirt" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1408 -msgid "Support on build plate only" -msgstr "Supporti solo dal piano di stampa" +#: src/libslic3r/PrintConfig.cpp:1699 +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 "" +"Numero di giri per lo skirt. Se è impostata l'opzione per la lunghezza " +"minima di estrusione, il numero dei giri potrebbe essere più grande di " +"quello configurato qui. Imposta questo valore a zero per disattivare " +"completamente lo skirt." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:617 +#: src/libslic3r/PrintConfig.cpp:1708 +msgid "Slow down if layer print time is below" +msgstr "Rallenta se il tempo di stampa del layer è inferiore" + +#: src/libslic3r/PrintConfig.cpp:1709 msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +"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 "" -"I supporti hanno più successo se l'opzione seguente è attivata:\n" -"-Rileva i perimetri in bridging\n" -"\n" -"Adattare questa opzione ai supporti?" +"Se il tempo stimato di stampa del layer è al di sotto di questo numero di " +"secondi, la velocità dei movimenti di stampa sarà ridotta per estendere la " +"durata di questo valore." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:59 -msgid "Suppress \" - default - \" presets" -msgstr "Sopprimi preset \" - default - \"" +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" +msgstr "Perimetri piccoli" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:61 -msgid "Suppress \" - default - \" presets in the Print / Filament / Printer selections once there are any other valid presets available." -msgstr "Sopprimi i preset \" - default - \" nelle selezioni Stampa / Filamento / Stampante non appena sono disponibili altri preset validi." +#: src/libslic3r/PrintConfig.cpp:1722 +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 "" +"Questa impostazione separata influenzerà la velocità dei perimetri con " +"raggio <=6.5mm (solitamente i buchi). Se espresso come percentuale (per " +"esempio: 80%) sarà calcolato sulla velocità dei perimetri qui sopra. Imposta " +"a zero per automatico." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "SVG" -msgstr "SVG" +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" +msgstr "Area inizio riempimento solido" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:325 +#: src/libslic3r/PrintConfig.cpp:1734 msgid "" -"Switching to simple settings will discard changes done in the advanced mode!\n" -"\n" -"Do you want to proceed?" +"Force solid infill for regions having a smaller area than the specified " +"threshold." msgstr "" -"Cambiare alle impostazioni semplici eliminerà tutte le modifiche fatte alle impostazioni complesse!\n" -"\n" -"Procedere?" +"Forza riempimento solido per le regioni con un'area inferiore al limite " +"specificato." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1544 -msgid "Synchronize support layers with the object print layers. This is useful with multi-material printers, where the extruder switch is expensive." -msgstr "Sincronizza i layer di supporto con i layer dell'oggetto stampato. E' utile con le stampanti multi-material, dove il cambio estrusore è costoso." +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" +msgstr "mm²" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1542 -msgid "Synchronize with object layers" -msgstr "Sincronizza con i layer dell'oggetto" +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "Estrusore riempimento solido" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "System Info" -msgstr "Informazioni di sistema" +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "L'estrusore da utilizzare per la stampa del riempimento solido." -#: xs/src/slic3r/GUI/Tab.cpp:2286 xs/src/slic3r/GUI/Tab.cpp:2372 -#: xs/src/slic3r/GUI/Preset.cpp:605 xs/src/slic3r/GUI/Preset.cpp:645 -#: xs/src/slic3r/GUI/Preset.cpp:670 xs/src/slic3r/GUI/Preset.cpp:702 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1069 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1122 lib/Slic3r/GUI/Plater.pm:552 -msgid "System presets" -msgstr "Preset di sistema" +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "Riempimento solido ogni" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Take Configuration Snapshot" -msgstr "Cattura istantanea di configurazione" +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "" +"Questa funzione permette di forzare un layer solido ogni tot layer. Zero per " +"disabilitare. E' possibile impostare qualunque valore (per esempio 9999); " +"Slic3r sceglierà automaticamente il maggior numero possibile di layer da " +"combinare secondo il diametro dell'ugello e l'altezza layer." -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Taking configuration snapshot" -msgstr "Cattura istantanea della configurazione" +#: src/libslic3r/PrintConfig.cpp:1766 +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." +msgstr "" +"Imposta questo valore diverso da zero per impostare una larghezza " +"d'estrusione manuale per il riempimento delle superfici solide. Se lasciato " +"a zero, verrà usata la larghezza d'estrusione predefinita, altrimenti verrà " +"utilizzato il valore 1.125 x il diametro dell'ugello. Se espresso in " +"percentuale (per esempio 90%) verrà calcolato sull'altezza del layer." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1576 -msgid "Temperature" -msgstr "Temperatura" +#: src/libslic3r/PrintConfig.cpp:1777 +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 "" +"La velocità per le regioni di stampa solide (superiore/inferiore/gusci " +"interni orizzontali). Questo valore può essere espresso come percentuale " +"(per esempio: 80%) sulla velocità del riempimento predefinita qui sopra. " +"Imposta a zero per automatizzare." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:794 -msgid "Temperature " -msgstr "Temperatura " +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "" +"Numero di layer solidi da generare sulle superfici superiori e inferiori." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1333 -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 "La differenza di temperatura da applicare quando un estrusore non è attivo. Abilita uno skirt \"sacrificale\" a piena altezza su cui l'ugello verrà pulito periodicamente." +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "Vaso a spirale" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1332 +#: src/libslic3r/PrintConfig.cpp:1797 +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 "" +"Questa funzione solleverà Z gradualmente durante la stampa di un oggetto a " +"parete singola allo scopo di rimuovere qualunque giunzione. Questa opzione " +"richiede un singolo perimetro, nessun riempimento, nessun layer solido " +"superiore e nessun materiale di supporto. E' possibile comunque impostare " +"qualunque numero di layer solidi inferiori così come per i giri di skirt/" +"brim. Non funzionerà stampando più di un oggetto." + +#: src/libslic3r/PrintConfig.cpp:1806 msgid "Temperature variation" msgstr "Variazione di temperatura" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Temperatures" -msgstr "Temperature" +#: src/libslic3r/PrintConfig.cpp:1807 +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 "" +"La differenza di temperatura da applicare quando un estrusore non è attivo. " +"Abilita uno skirt \"sacrificale\" a piena altezza su cui l'ugello verrà " +"pulito periodicamente." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1004 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1072 -msgid "Test" -msgstr "Test" +#: src/libslic3r/PrintConfig.cpp:1818 +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 "" +"La procedura iniziale è inserita all'inizio, dopo che il piano ha raggiunto " +"la temperatura impostata e l'estrusore ha appena iniziato a scaldare, e " +"prima che l'estrusore abbia completato il riscaldamento. Se Slic3r rileva " +"M104 o M190 nei tuoi codici personalizzati, questi comandi non verranno " +"inseriti automaticamente così sarà possibile personalizzare l'ordine dei " +"comandi di riscaldamento e altre azioni personalizzate. Da notare che è " +"possibile utilizzare variabili sostitutive per tutte le impostazioni di " +"Slic3r, così sarà possibile inserire un comando \"M109 " +"S[first_layer_temperature]\" ovunque si voglia." + +#: src/libslic3r/PrintConfig.cpp:1834 +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 "" +"Questa procedura iniziale è inserita all'inizio, dopo qualunque gcode " +"iniziale della stampante. Questo viene usato per scavalcare le impostazioni " +"per un filamento specifico. Se Slic3r rileva M104, M109, M140 o M190 nel tuo " +"codice personalizzato, questi comandi non verranno inseriti automaticamente " +"così che sarà possibile personalizzare l'ordine dei comandi di riscaldamento " +"e altre azioni personalizzate. Da notare che è possibile utilizzare " +"variabili sostitutive per tutte le impostazioni di Slic3r, così che sia " +"possibile inserire un comando \"M109S [first_layer_temperature]\" ovunque si " +"voglia. Se si hanno estrusori multipli, il gcode è processato nell'ordine " +"degli estrusori." + +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "Multi Material a Estrusore Singolo" -# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -msgid "The " -msgstr "Il " +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "La stampante processa diversi filamenti in un singolo hotend." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:309 -msgid "The extruder to use (unless more specific extruder settings are specified). This value overrides perimeter and infill extruders, but not the support extruders." -msgstr "Estrusore da utilizzare (a meno che non siano specificate impostazioni d'estrusore più specifiche). Questo valore scavalca l'estrusore dei perimetri e di riempimento, ma non l'estrusore dei supporti." +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:703 -msgid "The extruder to use when printing infill." -msgstr "L'estrusore da utilizzare per la stampa del riempimento." +#: src/libslic3r/PrintConfig.cpp:1858 +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:959 -msgid "The extruder to use when printing perimeters and brim. First extruder is 1." -msgstr "L'estrusore da utilizzare per la stampa dei perimetri e del brim. Il primo estrusore è 1." +#: src/libslic3r/PrintConfig.cpp:1864 +msgid "Generate support material" +msgstr "Genera materiale di supporto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1273 -msgid "The extruder to use when printing solid infill." -msgstr "L'estrusore da utilizzare per la stampa del riempimento solido." +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "Abilita la creazione di materiale di supporto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1472 -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 "L'estrusore da utilizzare per la stampa dell'interfaccia del materiale di supporto (1+, 0 per usare l'estrusore attuale per minimizzare il cambio di strumento). Questo influenza anche il raft." +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1446 -msgid "The extruder to use when printing support material, raft and skirt (1+, 0 to use the current extruder to minimize tool changes)." -msgstr "L'estrusore da utilizzare per la stampa del materiale di supporto, raft e skirt (1+, 0 per utilizzare l'estrusore attuale per minimizzare i cambi di strumento)." +#: src/libslic3r/PrintConfig.cpp:1873 +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 "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:209 -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 "Il primo layer verrà ristretto sul piano XY dal valore configurato, così da compensare per lo schiacciamento del 1° layer, anche noto come effetto Zampa d'elefante." +#: src/libslic3r/PrintConfig.cpp:1880 +msgid "XY separation between an object and its support" +msgstr "Separazione XY tra un oggetto e il suo supporto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1734 -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 "L'oggetto verrà allargato/ristretto sul piano XY dal valore configurato (negativo = verso l'interno, positivo = verso l'esterno). Questo può essere utile per regolare la grandezza dei fori." +#: src/libslic3r/PrintConfig.cpp:1882 +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 "" +"La separazione XY tra l'oggetto e il suo supporto. Se espresso come " +"percentuale (ad esempio 50%), verrà calcolato sulla larghezza del perimetro " +"esterno." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1031 -msgid "The object will be raised by this number of layers, and support material will be generated under it." -msgstr "L'oggetto verrà sollevato da questo numero di layer, e verrà generato il materiale di supporto al di sotto di questo." +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" +msgstr "Angolo trama" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1374 -msgid "The printer multiplexes filaments into a single hot end." -msgstr "La stampante processa diversi filamenti in un singolo hotend." +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." +msgstr "" +"Usa questa impostazione per ruotare la trama del materiale di supporto sul " +"piano orizzontale." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:324 -msgid "The selected file contains no geometry." -msgstr "Il file selezionato non contiene geometrie." +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"Only create support if it lies on a build plate. Don't create support on a " +"print." +msgstr "" +"Crea supporti solo se poggiano sulla superficie di stampa. Non creare " +"supporti sulla stampa." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:328 -msgid "The selected file contains several disjoint areas. This is not supported." -msgstr "Il file selezionato contiene molteplici aree disgiunte. Non è supportato." +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "Distanza di contatto Z" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1112 -msgid "The selected object can't be split because it contains more than one volume/material." -msgstr "L'oggetto selezionato non può essere diviso perché contiene più di un volume/materiale." +#: src/libslic3r/PrintConfig.cpp:1915 +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 "" +"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." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1121 -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/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1144 -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 "La velocità di caricamento di un filamento nell'estrusore dopo la retrazione (si applica solamente al motore dell'estrusore). Se lasciato a zero, verrà utilizzata la velocità di retrazione." +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1136 -msgid "The speed for retractions (it only applies to the extruder motor)." -msgstr "Velocità delle retrazioni (si applica solamente al motore dell'estrusore)." +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "Applica il supporto per i primi" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:533 -#, no-c-format +#: src/libslic3r/PrintConfig.cpp:1931 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?" +"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 "" -"La modalità Vaso a Spirale richiede:\n" -"- un perimetro\n" -"- assenza di layer solidi superiori\n" -"- densità riempimento 0%\n" -"- assenza di materiale di supporto\n" -"- assicura_spessore_ guscio_ verticale disattivato\n" -"\n" -"Posso regolare queste impostazioni così da attivare il Vaso a Spirale?" +"Genera materiale di supporto per il numero di layer specificati partendo dal " +"basso, a prescindere che sia abilitato il materiale di supporto normale o " +"meno, e indipendentemente dall'angolo limite. Questo è utile per ottenere " +"più adesione negli oggetti con un appoggio sul piano molto sottile o fragile." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1560 -msgid "The supplied name is empty. It can't be saved." -msgstr "Il nome fornito è vuoto. Non può essere salvato." +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "Applica il supporto per i primi n layer" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1788 -msgid "The supplied name is not available." -msgstr "Il nome fornito non è disponibile." +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "Estrusore materiale di supporto/raft/skirt" + +#: src/libslic3r/PrintConfig.cpp:1945 +msgid "" +"The extruder to use when printing support material, raft and skirt (1+, 0 to " +"use the current extruder to minimize tool changes)." +msgstr "" +"L'estrusore da utilizzare per la stampa del materiale di supporto, raft e " +"skirt (1+, 0 per utilizzare l'estrusore attuale per minimizzare i cambi di " +"strumento)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1785 -msgid "The supplied name is not valid; the following characters are not allowed:" -msgstr "Il nome fornito non è valido; i seguenti caratteri non sono permessi:" +#: src/libslic3r/PrintConfig.cpp:1955 +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." +msgstr "" +"Imposta questo valore diverso da zero per impostare una larghezza " +"d'estrusione manuale per il supporto. Se lasciato a zero, verrà usata la " +"larghezza d'estrusione predefinita., altrimenti verrà utilizzato il valore " +"del diametro dell'ugello. Se espresso in percentuale (per esempio 90%) verrà " +"calcolato sull'altezza del layer." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1418 -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 "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/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "Giri interfaccia" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1312 +#: src/libslic3r/PrintConfig.cpp:1966 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?" +"Cover the top contact layer of the supports with loops. Disabled by default." msgstr "" -"La funzione Wipe non è disponibile quando si usa la modalità Retrazione Firmware.\n" -"\n" -"Devo disattivarla per poter abilitare la Retrazione Firmware?" +"Copri lo strato di contatto superiore del supporto con anelli. Disattivato " +"per impostazione predefinita." + +#: src/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "Estrusore materiale di supporto/intefaccia raft" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:581 +#: src/libslic3r/PrintConfig.cpp:1974 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?" +"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 "" -"La Torre di Spurgo attualmente supporta solamente supporti non solubili\n" -"se questi sono stampati con l'attuale estrusore senza attivare un cambio d'attrezzo.\n" -"(entrambi support_material_extruder e support_material_interface_extruder devono essere impostati a 0).\n" -"\n" -"Devo regolare queste impostazioni per abilitare la Torre di Spurgo?" +"L'estrusore da utilizzare per la stampa dell'interfaccia del materiale di " +"supporto (1+, 0 per usare l'estrusore attuale per minimizzare il cambio di " +"strumento). Questo influenza anche il raft." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:60 -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." -msgstr "Questo codice è inserito tra gli oggetti quando si utilizza una stampa sequenziale. Come predefinito, la temperatura di estrusione e del piano sono resettate con il comando non-attesa; in ogni caso se nel codice personalizzato vengono rilevati i comandi M104,M109,M140 o M190, Slic3r non aggiungerà i comandi di temperatura. Si fa presente che puoi usare variabili sostitutive per tutte le impostazioni di Slic3r, quindi puoi inserire un comando \"M109 S[first_layer_temperature]\" quando preferisci." +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" +msgstr "Layer interfaccia" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:767 -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 "Questo codice personalizzato è inserito ad ogni cambio layer, subito dopo il movimento Z e prima che l'estrusore si sposti al punto del primo layer. Si fa presente che puoi usare variabili sostitutive per tutte le impostazioni di Slic3r sia per [layer_num] che per [layer_z]." +#: src/libslic3r/PrintConfig.cpp:1984 +msgid "" +"Number of interface layers to insert between the object(s) and support " +"material." +msgstr "" +"Numero di layer interfaccia da inserire tra l'oggetto(i) e il materiale di " +"supporto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:49 -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 "Questo codice personalizzato è inserito ad ogni cambio layer, subito prima del movimento Z. Si fa presente che puoi usare variabili sostitutive per tutte le impostazioni di Slic3r sia per [layer_num] che per [layer_z]." +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "Spaziatura trama interfaccia" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1603 -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 "Questo codice personalizzato è inserito ad ogni cambio estrusore, subito prima del movimento Z. Si fa presente che puoi usare variabili sostitutive per tutte le impostazioni di Slic3r sia per [previous_extruder] che per [next_extruder]." +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." +msgstr "" +"Spaziatura tra le linee di interfaccia. Imposta a zero per ottenere " +"un'interfaccia solida." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:228 -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 "Questa procedura finale è inserita alla fine del file di output, prima del termine del gcode della stampante. Si fa presente che puoi usare variabili sostitutive per tutte le impostazioni di Slic3r. Se hai estrusori multipli, il gcode è processato nell'ordine dell'estrusore." +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." +msgstr "" +"Velocità per la stampa dei layer di interfaccia del materiale di supporto. " +"Se espresso come percentuale (per esempio 50%) sarà calcolato sulla velocità " +"del materiale di supporto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:218 -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 "Questa procedura finale è inserita alla fine del file di output. Si fa presente che puoi usare variabili sostitutive per tutte le impostazioni di Slic3r." +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "Trama" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:827 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:838 -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." -msgstr "Questa impostazione sperimentale è utilizzata per limitare la velocità del cambio nel fattore di estrusione. Un valore di 1.8 mm³/s² assicura che un cambio dal fattore di estrusione di 1.8 mm³/s (larghezza estrusione 0.45mm, altezza estrusione di 0.2mm, avanzamento 20 mm/s) a 5.4 mm³/s (avanzamento a 60 mm/s) impiegherà almeno 2 secondi." +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "Trama usata per generare il materiale di supporto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:818 -msgid "This experimental setting is used to set the maximum volumetric speed your extruder supports." -msgstr "Questa impostazione sperimentale è utilizzata per impostare la massima velocità volumetrica supportata dal tuo estrusore." +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1657 -msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." -msgstr "Questa funziona sperimentale utilizza i comandi G10 e G11 per permettere al firmware la gestione della retrazione. E' supportata solo nel Marlin recenti." +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "Spaziatura trama" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1671 -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 "Questa impostazione sperimentale produce un valore di E in uscita in millimetri cubici anziché in millimetri lienari. Se il tuo firmware non sa ancora qual'è il diametro del filamento, puoi inserire un comando tipo 'M200 D[filament_diameter_0] T0' nel tuo G-code iniziale in modo da attivare la funzione volumetrica e usare il diametro associato al filamento selezionato su Slic3r. Questa funziona è supportata solo nel Marlin più recente." +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "Spaziatura tra le linee del materiale di supporto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:108 -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." -msgstr "Questo fattore influenza la quantità di plastica per il bridging. Puoi diminuirlo leggermente per tendere il materiale estruso ed evitare che si afflosci, sebbene le impostazioni predefinite sono generalmente buone ed è consigliabile sperimentare con il raffreddamento (usare la ventola) prima di modificare questo valore." +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "Velocità per la stampa del materiale di supporto." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:368 -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." -msgstr "Questo fattore modifica proporzionalmente il valore del flusso. Dovrai modificare questa impostazione per ottenere una buona finitura superficiale e correggere la larghezza delle pareti singole. Normalmente i valori sono tra 0.9 e 1.1. Se ritieni di dover modificare questo valore ulteriormente, controlla il diametro del filamento e i passi E del tuo firmware." +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "Sincronizza con i layer dell'oggetto" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:98 -msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "Questa velocità della ventola verrà forzata durante tutti i bridge e overhang." +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." +msgstr "" +"Sincronizza i layer di supporto con i layer dell'oggetto stampato. E' utile " +"con le stampanti multi-material, dove il cambio estrusore è costoso." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:692 -msgid "This feature allows to combine infill and speed up your print by extruding thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "Questa funzione permette di combinare il riempimento e velocizza il tempo di stampa estrudendo layer di infill più spessi conservando tuttavia i perimetri sottili, e quindi l'accuratezza." +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" +msgstr "Soglia sporgenza" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1281 -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." -msgstr "Questa funzione permette di forzare un layer solido ogni tot layer. Zero per disabilitare. E' possibile impostare qualunque valore (per esempio 9999); Slic3r sceglierà automaticamente il maggior numero possibile di layer da combinare secondo il diametro dell'ugello e l'altezza layer." +#: src/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "" +"Il materiale di supporto non sarà generato per sporgenze con angolo di " +"inclinazione (90°=verticale) superiore al limite impostato. In altre parole, " +"questo valore rappresenta l'inclinazione orizzontale massima (misurata dal " +"piano orizzontale) che puoi stampare senza materiale di supporto. Imposta a " +"zero per un rilevamento automatico (raccomandato)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1323 -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 "Questa funzione solleverà Z gradualmente durante la stampa di un oggetto a parete singola allo scopo di rimuovere qualunque giunzione. Questa opzione richiede un singolo perimetro, nessun riempimento, nessun layer solido superiore e nessun materiale di supporto. E' possibile comunque impostare qualunque numero di layer solidi inferiori così come per i giri di skirt/brim. Non funzionerà stampando più di un oggetto." +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "Con guaina attorno al supporto" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:663 +#: src/libslic3r/PrintConfig.cpp:2073 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" +"Add a sheath (a single perimeter line) around the base support. This makes " +"the support more reliable, but also more difficult to remove." 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?\n" +"Aggiunge un contorno (una singola linea di perimetro) attorno alla base del " +"supporto. Questo rende il supporto più affidabile, ma anche più difficile da " +"rimuovere." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:164 -msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." -msgstr "Questo contrassegno abilita la logica del raffreddamento automatico in modo da regolare la velocità di stampa e la velocità della ventola in base al tempo di stampa del layer." +#: src/libslic3r/PrintConfig.cpp:2081 +msgid "" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." +msgstr "" +"Temperatura estrusore per i layer successivi al primo. Imposta questo a zero " +"per disattivare i comandi di controllo temperatura nell'output." -#: xs/src/slic3r/GUI/GUI.cpp:899 -msgid "This flag enables the brim that will be printed around each object on the first layer." -msgstr "La spunta su questa opzione abilita il brim che verrà stampato attorno ad ogni oggetto nel primo layer." +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "Temperatura" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1066 -msgid "This flag enforces a retraction whenever a Z move is done." -msgstr "Questo contrassegno forza una retrazione ogni volta che viene effettuato un movimento di Z." +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "Rileva perimetri sottili" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1689 -msgid "This flag will move the nozzle while retracting to minimize the possible blob on leaky extruders." -msgstr "Questo contrassegno farà spostare l'ugello durante la retrazione in modo da minimizzare il possibile grumo su estrusori che perdono." +#: src/libslic3r/PrintConfig.cpp:2092 +msgid "" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." +msgstr "" +"Rileva pareti a spessore singolo (parti in cui non entrano due estrusioni ed " +"è necessario comprimerle in una singola traccia)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:343 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:406 -msgid "This is only used in the Slic3r interface as a visual help." -msgstr "Utilizzato solo nell'interfaccia di Slic3r come aiuto visivo." +#: src/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" +msgstr "Thread" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:171 -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." -msgstr "Questa è l'accelerazione a cui la stampante sarà reimpostata dopo aver utilizzato un valore di accelerazione per un ruolo specifico (perimetro/riempimento). Imposta a zero per evitare del tutto la reimpostazione dell'accelerazione." +#: src/libslic3r/PrintConfig.cpp:2100 +msgid "" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." +msgstr "" +"I thread sono utilizzati per parallelizzare operazioni di lunga durata. Il " +"numero di thread ottimali è leggermente superiore al numero di core / " +"processori disponibili." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:78 -msgid "This is the acceleration your printer will use for bridges. Set zero to disable acceleration control for bridges." -msgstr "Questa è l'accelerazione che la tua stampante utilizzerà per i bridge. Impostala a zero per disattivare il controllo dell'accelerazione per i bridge." +#: src/libslic3r/PrintConfig.cpp:2112 +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 "" +"Questo codice personalizzato è inserito ad ogni cambio estrusore, subito " +"prima del movimento Z. Si fa presente che puoi usare variabili sostitutive " +"per tutte le impostazioni di Slic3r sia per [previous_extruder] che per " +"[next_extruder]." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:574 -msgid "This is the acceleration your printer will use for first layer. Set zero to disable acceleration control for first layer." -msgstr "Questa è l'accelerazione che la stampante utilizzerà per il primo layer. Imposta a zero per disattivare il controllo dell'accelerazione per il primo layer." +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "" +"Imposta questo valore diverso da zero per impostare una larghezza " +"d'estrusione manuale per il riempimento delle superfici superiori. Dovresti " +"scegliere un'estrusione più sottile per riempire gli spazi stretti ed " +"ottenere una finitura più liscia. Se lasciato a zero, verrà usata la " +"larghezza d'estrusione predefinita, altrimenti verrà utilizzato il valore " +"1.125 x il diametro dell'ugello. Se espresso in percentuale (per esempio " +"90%) verrà calcolato sull'altezza del layer." + +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "" +"Velocità di stampa dei layer solidi superiori (si applica solamente al layer " +"solido esterno più in alto e non ai layer solidi interni). Rallenta questa " +"impostazione per ottenere una superficie più rifinita. Questo valore può " +"essere espresso come percentuale (per esempio: 80%) della velocità del " +"riempimento solido qui sopra. Imposta a zero per auto." + +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "Superiore" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:682 -msgid "This is the acceleration your printer will use for infill. Set zero to disable acceleration control for infill." -msgstr "Questa è l'accelerazione che la stampante utilizzerà per il riempimento. Imposta a zero per disattivare il controllo dell'accelerazione per il riempimento." +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "Numero di layer solidi da generare sulle superfici superiori." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:949 -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 "Questa è l'accelerazione che la stampante utilizzerà per i perimetri. Un valore alto come 9000 solitamente produce dei buoni risultati se l'hardware è all'altezza. Imposta a zero per disattivare il controllo dell'accelerazione per i perimetri." +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "Layer solidi superiori" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:895 -msgid "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" -msgstr "Questo è il diametro dell'ugello dell'estrusore (per esempio: 0.5, 0.35 ecc.)" +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "" +"Velocità per movimenti di spostamento (salti tra punti di estrusione " +"distanti)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:797 -#, no-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." -msgstr "Questa è la massima altezza layer stampabile per questo estrusore, usata come limite per l'altezza variabile dei layer e l'altezza dei layer di supporto. L'altezza layer massima raccomandata è il 75% della larghezza di estrusione, in modo da ottenere una buona adesione tra i layer. Se impostato a 0, l'altezza layer è limitata al 75% del diametro dell'ugello." +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "Usa retrazione firmware" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:858 -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." -msgstr "Questa è l'altezza minima stampabile per questo estrusore e limita la risoluzione per l'altezza variabile di layer. Valori tipici sono compresi tra 0.05 mm e 0.1 mm." +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." +msgstr "" +"Questa funziona sperimentale utilizza i comandi G10 e G11 per permettere al " +"firmware la gestione della retrazione. E' supportata solo nel Marlin recenti." -#: xs/src/libslic3r/PrintConfig.cpp:1816 -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 "Questa matrice descrive il volume (in millimetri cubici) necessario per purgare il filamento nella wipe tower per una qualunque coppia di strumenti. " +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "Usa distanze E relative" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:990 -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." -msgstr "Questa opzione imposta il numero di perimetri da generare per ogni layer. Da notare che Slic3r aumenta questo numero automaticamente quando rileva superfici inclinate che potrebbero beneficiare di un aumento del numero dei perimetri se l'opzione Perimetri aggiuntivi è attiva." +#: src/libslic3r/PrintConfig.cpp:2177 +msgid "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." +msgstr "" +"Se il firmware richiede valori E relativi, selezionalo, altrimenti lascialo " +"non selezionato. Molti firmware utilizzano valori assoluti." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:923 -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 "Questa opzione abbasserà la temperatura degli estrusori inattivi per prevenire oozing. Attiverà automaticamente uno skirt alto e muoverà l'estrusore al di fuori di questo skirt al cambiamento di temperature." +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" +msgstr "Utilizza E volumetrico" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:728 -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." -msgstr "Questa opzione limiterà il riempimento alle aree che effettivamente hanno bisogno di un supporto per i soffitti (si comporterà come un materiale di supporto interno). Se attivato, rallenterà la generazione del G-code a causa dei molteplici controlli necessari." +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" +"Questa impostazione sperimentale produce un valore di E in uscita in " +"millimetri cubici anziché in millimetri lienari. Se il tuo firmware non sa " +"ancora qual'è il diametro del filamento, puoi inserire un comando tipo 'M200 " +"D[filament_diameter_0] T0' nel tuo G-code iniziale in modo da attivare la " +"funzione volumetrica e usare il diametro associato al filamento selezionato " +"su Slic3r. Questa funziona è supportata solo nel Marlin più recente." + +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "Abilita la funzione Layer ad altezza variabile" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:721 -msgid "This option will switch the print order of perimeters and infill, making the latter first." -msgstr "Questa opzione sostituirà l'ordine di stampa dei perimetri e del riempimento, realizzando per primo il secondo." +#: src/libslic3r/PrintConfig.cpp:2197 +msgid "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." +msgstr "" +"Alcune stampanti o setup di stampanti possono riscontrare difficoltà a " +"stampare con l'altezza layer variabile. Attivato come predefinito." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:279 -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." -msgstr "Questa impostazione separata avrà effetto sulla velocità dei perimetri esterni (quelli visibili). Se espresso come percentuale (per esempio: 80%) verrà calcolato sull'impostazione della velocità dei perimetri qui sopra. Imposta a zero per automatico." +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "Pulisci durante la retrazione" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1252 -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 "Questa impostazione separata influenzerà la velocità dei perimetri con raggio <=6.5mm (solitamente i buchi). Se espresso come percentuale (per esempio: 80%) sarà calcolato sulla velocità dei perimetri qui sopra. Imposta a zero per automatico." +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." +msgstr "" +"Questo contrassegno farà spostare l'ugello durante la retrazione in modo da " +"minimizzare il possibile grumo su estrusori che perdono." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:737 -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." -msgstr "Questa impostazione applica una sovrapposizione aggiuntiva tra perimetri e riempimento per una migliore unione. Teoricamente non sarebbe necessario, ma i contraccolpi possono causare spazi vuoi. Se espresso in percentuale (per esempio: 15%) viene calcolato sulla larghezza d'estrusione del perimetro." +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." +msgstr "" +"Le stampanti multi-material potrebbero necessitare di caricare o spurgare " +"l'estrusore al cambio di strumento. Estrude il materiale in eccesso in una " +"torre di spurgo." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:779 -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 "Questa impostazione controlla l'altezza (e quindi il numero totale) degli strati/layer. Un layer più sottile sarà più preciso ma sarà necessario più tempo per stampare." +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" +msgstr "Volumi di purga - volumi di carico/scarico" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:788 -msgid "This setting represents the maximum speed of your fan." -msgstr "Questa impostazione rappresenta la velocità massima della ventola." +#: src/libslic3r/PrintConfig.cpp:2221 +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 "" +"Questo vettore salva il volume necessario per cambiare da/a ognuno strumento " +"usato per la wipe tower. Questi valori vengono usati per semplificare la " +"creazione dei volumi di purga completi. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:849 -msgid "This setting represents the minimum PWM your fan needs to work." -msgstr "Questa impostazione rappresenta la PWM minima (modulazione di larghezza di impulso) che la ventola necessita per lavorare." +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" +msgstr "Volumi di purga - matrice" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 -#, c-format -msgid "This Slic3r PE version: %s" -msgstr "Questa versione di Slic3r PE: %s" +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" +"Questa matrice descrive il volume (in millimetri cubici) necessario per " +"purgare il filamento nella wipe tower per una qualunque coppia di strumenti. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1358 -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 "Questa procedura iniziale è inserita all'inizio, dopo qualunque gcode iniziale della stampante. Questo viene usato per scavalcare le impostazioni per un filamento specifico. Se Slic3r rileva M104, M109, M140 o M190 nel tuo codice personalizzato, questi comandi non verranno inseriti automaticamente così che sarà possibile personalizzare l'ordine dei comandi di riscaldamento e altre azioni personalizzate. Da notare che è possibile utilizzare variabili sostitutive per tutte le impostazioni di Slic3r, così che sia possibile inserire un comando \"M109S [first_layer_temperature]\" ovunque si voglia. Se si hanno estrusori multipli, il gcode è processato nell'ordine degli estrusori." +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" +msgstr "Posizione X" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1343 -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 "La procedura iniziale è inserita all'inizio, dopo che il piano ha raggiunto la temperatura impostata e l'estrusore ha appena iniziato a scaldare, e prima che l'estrusore abbia completato il riscaldamento. Se Slic3r rileva M104 o M190 nei tuoi codici personalizzati, questi comandi non verranno inseriti automaticamente così sarà possibile personalizzare l'ordine dei comandi di riscaldamento e altre azioni personalizzate. Da notare che è possibile utilizzare variabili sostitutive per tutte le impostazioni di Slic3r, così sarà possibile inserire un comando \"M109 S[first_layer_temperature]\" ovunque si voglia." +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "Coordinata X dell'angolo frontale sinistro di una torre di spurgo" -#: xs/src/libslic3r/PrintConfig.cpp:487 -msgid "This string is edited by RammingDialog and contains ramming specific parameters " -msgstr "Questa stringa viene controllata da RammingDialog e contiene parametri specifici del ramming " +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "Posizione Y" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1743 -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 "Questo valore sarà aggiunto (o sottratto) da tutte le coordinate Z nel G-code di output. Viene utilizzato per compensare una posizione di finecorsa Z errata: per esempio, se la posizione minima del finecorsa rimane in realtà 0.3mm lontano dal piano, imposta questo valore a -0.3 (o sistema il finecorsa)." +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "Coordinata Y dell'angolo frontale sinistro di una torre di spurgo" -#: xs/src/libslic3r/PrintConfig.cpp:1808 -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 "Questo vettore salva il volume necessario per cambiare da/a ognuno strumento usato per la wipe tower. Questi valori vengono usati per semplificare la creazione dei volumi di purga completi. " +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "Larghezza della torre di spurgo" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 -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" -"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 "" -"Questa versione di Slic3r PE non è compatibile con gli attuali gruppi di configurazioni installati.\n" -"Probabilmente è causato dall'esecuzione di una vecchia versione di Slic3r PE dopo averne utilizzata una più recente.\n" -"\n" -"Prova a chiudere Slic3r e riprovare con una versione più nuova, 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 Slic3r.\n" +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "Angolo di rotazione della wipe tower" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1590 -msgid "Threads" -msgstr "Thread" +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "Angolo di rotazione della wipe tower rispetto all'asse X " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1591 -msgid "Threads are used to parallelize long-running tasks. Optimal threads number is slightly above the number of available cores/processors." -msgstr "I thread sono utilizzati per parallelizzare operazioni di lunga durata. Il numero di thread ottimali è leggermente superiore al numero di core / processori disponibili." +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "gradi" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -msgid "Time" -msgstr "Tempo" +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:477 -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. " -msgstr "Tempo di attesa dopo lo scaricamento del filamento. Può aiutare per ottenere cambi affidabili con materiali flessibili che potrebbero richiedere più tempo per tornare alle dimensioni originali. " +#: src/libslic3r/PrintConfig.cpp:2273 +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 "" -#: xs/src/slic3r/GUI/Tab.cpp:750 -msgid "To do that please specify a new name for the preset." -msgstr "Per favore specifica un nuovo nome per il preset per effettuare l'operazione." +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 -msgid "To download, follow the link below." -msgstr "Vai sul link sotto per scaricare." +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:338 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:72 -msgid "Tool" -msgstr "Strumento" +#: src/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" +msgstr "Distanza massima di bridging" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:238 -msgid "Tool #" -msgstr "Utensile #" +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "Distanza massima tra supporti in sezioni a scarso riempimento. " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1144 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1602 -msgid "Tool change G-code" -msgstr "G-code cambio strumento" +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "Compensazione dimensione XY" -#: xs/src/slic3r/GUI/Tab.cpp:1315 -msgid "Toolchange parameters with single extruder MM printers" -msgstr "Parametri di cambio strumento per stampanti MM con estrusore singolo" +#: src/libslic3r/PrintConfig.cpp:2299 +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 "" +"L'oggetto verrà allargato/ristretto sul piano XY dal valore configurato " +"(negativo = verso l'interno, positivo = verso l'esterno). Questo può essere " +"utile per regolare la grandezza dei fori." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1638 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top" -msgstr "Superiore" +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" +msgstr "Offset Z" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:187 -msgid "top solid infill" -msgstr "riempimento solido superiore" +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" +"Questo valore sarà aggiunto (o sottratto) da tutte le coordinate Z nel G-" +"code di output. Viene utilizzato per compensare una posizione di finecorsa Z " +"errata: per esempio, se la posizione minima del finecorsa rimane in realtà " +"0.3mm lontano dal piano, imposta questo valore a -0.3 (o sistema il " +"finecorsa)." + +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1613 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1624 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:143 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:85 -msgid "Top solid infill" -msgstr "Riempimento solido superiore" +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1642 -msgid "Top solid layers" -msgstr "Layer solidi superiori" +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top View" -msgstr "Vista superiore" +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:246 -msgid "Top/bottom fill pattern" -msgstr "Trama riempimento superiore/inferiore" +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:245 -msgid "Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded." -msgstr "Il volume totale di purga viene calcolato sommando i due valori sotto, a seconda di quali strumenti vengono scaricati/caricati." +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:84 -msgid "Total rammed volume" -msgstr "Volume totale di ramming" +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -msgid "Total ramming time" -msgstr "Tempo totale di ramming" +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1647 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:95 -msgid "Travel" -msgstr "Spostamento" +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1107 -msgid "Type of the printer." -msgstr "Tipologia stampante." +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Uniformly…" -msgstr "Uniformemente…" +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 -msgid "Unknown" -msgstr "ignoto" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:232 -msgid "unloaded" -msgstr "scaricato" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:467 -msgid "Unloading speed" -msgstr "Velocità di scaricamento" +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2483 -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." +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" msgstr "" -"L'icona del LUCCHETTO APERTO indica che alcune impostazioni sono state cambiate e non sono uguali ai valori di sistema per il gruppo di opzioni corrente.\n" -"Cliccate per resettare tutte le impostazioni per il gruppo corrente ai valori di sistema." -#: xs/src/slic3r/GUI/Tab.cpp:2498 -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." +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" msgstr "" -"L'icona del LUCCHETTO APERTO indica che il valore è stato cambiato e non è uguale al valore di sistema. \n" -"Cliccate per resettare il valore corrente al valore di sistema." -#: xs/src/slic3r/GUI/Tab.cpp:2445 +#: src/libslic3r/PrintConfig.cpp:2403 msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to the system values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system values." +"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 "" -"LUCCHETTO APERTO;indica che è stata modificata qualche impostazione e non è uguale ai valori di sistema del corrente gruppo di opzioni.\n" -"Clicca l'icona LUCCHETTO CHIUSO per resettare tutte le impostazioni del corrente gruppo di opzioni ai valori di sistema." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:97 -msgid "Unretractions" -msgstr "Non retrazioni" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1492 -msgid "Unsaved Changes" -msgstr "Modifiche non salvate" +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:750 -msgid "Unsaved Presets" -msgstr "Preset non salvati" +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "Update available" -msgstr "Aggiornamento disponibile" +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:279 xs/src/slic3r/GUI/Preferences.cpp:67 -msgid "Update built-in Presets automatically" -msgstr "Aggiorna automaticamente i Preset integrati" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Updates" -msgstr "Aggiornamenti" +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:283 -msgid "Updates are never applied without user's consent and never overwrite user's customized settings." -msgstr "Gli aggiornamenti non vengono mai applicati senza il consenso dell'utente e non sovrascrivono mai i settaggi personalizzati dell'utente." +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 -msgid "Upgrade" -msgstr "Aggiorna" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Upload a firmware image into an Arduino based printer" -msgstr "Carica un'immagine del firmware su una stampante basata su Arduino" +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:989 -msgid "USB/Serial connection" -msgstr "Connessione USB/Seriale" +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1194 -msgid "USB/serial port for printer connection." -msgstr "Porta USB/Seriale per connessione stampante." +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1656 -msgid "Use firmware retraction" -msgstr "Usa retrazione firmware" +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:75 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "Utilizza il rendering legacy di OpenGL 1.1" +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1663 -msgid "Use relative E distances" -msgstr "Usa distanze E relative" +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:361 -msgid "Use this option to set the axis letter associated to your printer's extruder (usually E but some printers use A)." -msgstr "Usa questa opzione per impostare la lettera dell'asse associato all'estrusore della tua stampante (solitamente E, ma alcune stampanti utilizzano A)." +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1400 -msgid "Use this setting to rotate the support material pattern on the horizontal plane." -msgstr "Usa questa impostazione per ruotare la trama del materiale di supporto sul piano orizzontale." +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1670 -msgid "Use volumetric E" -msgstr "Utilizza E volumetrico" +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:449 -msgid "Used Filament (g)" -msgstr "Filamento usato (g)" +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:447 -msgid "Used Filament (m)" -msgstr "Filamento usato (m)" +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:448 -msgid "Used Filament (mm³)" -msgstr "Filamento usato (mm³)" +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 -msgid "User" -msgstr "Utente" +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" +msgstr "" -#: xs/src/slic3r/GUI/Preset.cpp:649 xs/src/slic3r/GUI/Preset.cpp:706 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1127 lib/Slic3r/GUI/Plater.pm:553 -msgid "User presets" -msgstr "Preset utente" +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 -msgid "Value is the same as the system value" -msgstr "Valore uguale a quello di sistema" +#: src/libslic3r/PrintConfig.cpp:2531 +msgid "" +"Controls the bridge type between two neigboring 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 "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 -msgid "Value was changed and is not equal to the system value or the last saved preset" -msgstr "Il valore è stato modificato e non è uguale al valore di sistema o all'ultimo preset salvato" +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "variants" -msgstr "varianti" +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:755 -msgid "vendor" -msgstr "venditore" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:644 -msgid "Verbose G-code" -msgstr "G-code Verbose" +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid "Version " -msgstr "Versione " +#: src/libslic3r/PrintConfig.cpp:2548 +msgid "" +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 -msgid "version" -msgstr "versione" +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" +msgstr "" -#: xs/src/slic3r/GUI/AboutDialog.cpp:60 -msgid "Version" -msgstr "Versione" +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:318 -msgid "Vertical shells" -msgstr "Gusci verticali" +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:65 -msgid "View" -msgstr "Vista" +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:409 -msgid "Volume" -msgstr "Volume" +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241 -msgid "Volume to purge (mm³) when the filament is being" -msgstr "Il volume di spurgo (mm³) quando il filamento viene" +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Volumetric" -msgstr "Volumetrico" +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 -msgid "Volumetric flow rate" -msgstr "Portata volumetrica" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:370 -msgid "Volumetric flow rate (mm3/s)" -msgstr "Flusso volumetrico (mm3/s)" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:86 -msgid "Volumetric speed" -msgstr "Velocità volumetrica" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:500 -msgid "Warning" -msgstr "Attenzione" +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -msgid "Welcome" -msgstr "Benvenuti" +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "" +"How many support points (approximately) should be placed on horizontal " +"surface." +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -#, c-format -msgid "Welcome to the Slic3r %s" -msgstr "Benvenuto su Slic3r %s" +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:131 -msgid "What do you want to print today? ™" -msgstr "Cosa vuoi stampare oggi? ™" +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:69 -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 "Quando attivato, i preset di stampa e di filamento vengono mostrati nell'editor dei preset anche se sono segnati come incompatibili con la stampante attiva" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:219 -msgid "when printing " -msgstr "durante la stampa " +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:136 -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 "Durante la stampa di oggetti multi-materiali, questa impostazione farà si che slic3r unisca le parti sovrapposte dell'oggetto (la seconda sarà collegata con la prima, la terza parte sarà collegata con la prima e la seconda ecc..)." +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:155 -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 "Durante la stampa di oggetti multipli o copie, questa funzione completerà ciascun oggetto prima di spostarsi al prossimo (e iniziando la stampa dal primo layer). Questa funzione è utile per evitare il rischio di stampe rovinate. Slic3r dovrebbe avvisarti e prevenire collisioni con l'estrusore, ma fai attenzione." +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:605 -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." -msgstr "Durante la stampa di layer molto bassi, potresti comunque aver bisogno di stampare layer inferiori più spessi per migliorare l'adesione e la tolleranza per piani di stampa non perfetti. Questo può essere espresso come un valore assoluto o come una percentuale (per esempio: 150%) sull'altezza layer predefinita." +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1082 -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 "Quando viene attivata la retrazione prima del cambio strumento, il filamento è ritirato per la quantità specificata (la lunghezza è misurata sul filamento grezzo, prima che questo entri dentro l'estrusore)." +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1073 -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 "Quando viene attivata la retrazione, il filamento viene ritirato per la quantità specificata (la lunghezza è misurata sul filamento grezzo, prima che questo entri dentro l'estrusore)." +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:808 -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." -msgstr "Quando le altre velocità sono impostate a 0, Slic3r calcolerà automaticamente la velocità ottimale in modo da mantenere costante la pressione dell'estrusore. Questa impostazione sperimentale è utilizzata per impostare la velocità massima di stampa che vuoi permettere." +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1127 -msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." -msgstr "Quando la retrazione è compensata dopo un cambio di strumento, l'estrusore spingerà questa quantità addizionale di filamento." +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1119 -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 "Quando la retrazione è compensata dopo un movimento di spostamento, l'estrusore spingerà questa quantità addizionale di filamento. Questa impostazione è raramente necessaria." +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2486 -msgid "WHITE BULLET icon indicates a non system preset." -msgstr "L'icona a forma di PALLINO BIANCO indica un preset non di sistema." +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2489 -msgid "WHITE BULLET icon indicates that the settings are the same as in the last saved preset for the current option group." -msgstr "L'icona a forma di PALLINO BIANCO indica che le impostazioni sono uguali agli ultimi preset salvati per il gruppo di opzioni corrente." +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2504 -msgid "WHITE BULLET icon indicates that the value is the same as in the last saved preset." -msgstr "L'icona a forma di PALLINO BIANCO indica che il valore è lo stesso dell'ultimo preset salvato." +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2451 +#: src/libslic3r/PrintConfig.cpp:3031 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." +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." msgstr "" -"WHITE BULLET;per il bottone sinistro: indica un preset non di sistema,\n" -"per il bottone destro: indica che le impostazioni non sono state modificate." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1716 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:70 -msgid "Width" -msgstr "Larghezza" +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:334 -msgid "Width (mm)" -msgstr "Larghezza (mm)" +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1717 -msgid "Width of a wipe tower" -msgstr "Larghezza della torre di spurgo" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:41 -#, c-format -msgid "will always run at %d%% " -msgstr "lavorerà sempre a %d%% " +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:50 -msgid "will be turned off." -msgstr "verrà spento." +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:442 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:149 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:91 -msgid "Wipe tower" -msgstr "Torre di spurgo" +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:564 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:585 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:602 -msgid "Wipe Tower" -msgstr "Torre di Spurgo" +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:142 -msgid "Wipe tower - Purging volume adjustment" -msgstr "Torre di spurgo - Regolazione volume di spurgo" +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1847 -msgid "Wipe tower rotation angle" -msgstr "Angolo di rotazione della wipe tower" +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1848 -msgid "Wipe tower rotation angle with respect to x-axis " -msgstr "Angolo di rotazione della wipe tower rispetto all'asse X " +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1688 -msgid "Wipe while retracting" -msgstr "Pulisci durante la retrazione" +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1058 -msgid "With bowden extruders, it may be wise to do some amount of quick retract before doing the wipe movement." -msgstr "Con estrusori bowden, potrebbe essere saggio effettuare una certa retrazione veloce prima di effettuare un movimento di pulizia." +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1564 -msgid "With sheath around the support" -msgstr "Con guaina attorno al supporto" +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 +#: src/libslic3r/PrintConfig.cpp:3076 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:" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." 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:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1703 -msgid "X coordinate of the left front corner of a wipe tower" -msgstr "Coordinata X dell'angolo frontale sinistro di una torre di spurgo" +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1386 -msgid "XY separation between an object and its support" -msgstr "Separazione XY tra un oggetto e il suo supporto" +#: src/libslic3r/PrintConfig.cpp:3082 +msgid "" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1388 -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 "La separazione XY tra l'oggetto e il suo supporto. Se espresso come percentuale (ad esempio 50%), verrà calcolato sulla larghezza del perimetro esterno." +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1732 -msgid "XY Size Compensation" -msgstr "Compensazione dimensione XY" +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1710 -msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "Coordinata Y dell'angolo frontale sinistro di una torre di spurgo" +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1970 -msgid "Yes" -msgstr "Si" +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:885 -msgid "You can put here your personal notes. This text will be added to the G-code header comments." -msgstr "E' possibile inserire qui le note personali. Questo testo verrà aggiunto nei commenti iniziali del G-code." +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:413 -msgid "You can put your notes regarding the filament here." -msgstr "E' possibile inserire qui le note riguardanti il filamento." +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1015 -msgid "You can put your notes regarding the printer here." -msgstr "E' possibile inserire qui le note riguardanti la stampante." +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:181 -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." -msgstr "E' possibile impostare un valore positivo per disattivare completamente la ventola durante i primi layer, così da non peggiorare l'adesione." +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:931 -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 "E' possibile utilizzare tutte le opzioni di configurazione come variabili all'interno di questo modello. Ad esempio: [layer_height], [fill_density] ecc. Puoi anche usare [timestamp], [year], [month], [day], [hour], [minute], [second], [version], [input_filename ], [nome_filename_input]." +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid "You have unsaved changes " -msgstr "Sono presenti modifiche non salvate " +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:101 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "E' necessario riavviare Slic3r per rendere effettive le modifiche." +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" +msgstr "Mischiate" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Your file was repaired." -msgstr "Il file è stato riparato." +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "Altezza (mm)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:744 -msgid "Your object appears to be too large, so it was automatically scaled down to fit your print bed." -msgstr "L'oggetto sembra essere troppo grande, è stato quindi scalato automaticamente per entrare nel piano di stampa." +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" +msgstr "Larghezza (mm)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1742 -msgid "Z offset" -msgstr "Offset Z" +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "Velocità (mm/s)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:91 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:492 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1170 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1181 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1401 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1557 -msgid "°" -msgstr "°" +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "Flusso volumetrico (mm3/s)" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:484 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 -msgid "°C" -msgstr "°C" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "" diff --git a/resources/localization/ko_KR/Slic3rPE.mo b/resources/localization/ko_KR/Slic3rPE.mo index 10164d14a31a32464c48c43a2df30fc34aae5f3d..32d5c6a20edadd59c752fe2b5835695ea22dec44 100644 GIT binary patch delta 22889 zcmZA82b@gT!~gMnX7%2C8Eth|FClstJxY{VEEd^im*_@~USctN@14aEJrPnQ1W8Dd zM1E0Xl|&-a|DW%i<9UA1|Gsj(PrK)ycJJI7GX2YRt5>EA+{}?`smF0H!t)AYy&|5M zKDFods;6Afo7}K35RJj8r^{>d5<;4L?IQa0fNQho}oYL3QAF)JRPidtOG2B%RNt z8(?12ZBg|H;3=-}4I|PV%fHODV*;w;B~%CQpicM&i{f9XsV~&kS_)^8u7sN~ghR1s zH`~qyj3)gJs+~sN?Rl**pf&GAL`x8lsxTYb4&Iwc-@K(*0e{3Yn74=LwZVp{j?P0Z z$!642y^ZaB~D;ZuNb}(ea0yqyUlXa7iw>mK@FrbYI8P1o!{Q&cSCK`SWLz-0U~OkLSMV78lq;T z8ET3;pc)>D${&x#@eM46J5YP%68iBgtc!o6mbNwvUlm`*!Z-^X;8v`Rf!jo?5XsZe z+7h+7#-Y}B8furXLM_1tR6|El9lz$%cd;PpH2rNyi(@|06;Vsl9MxVg=SZZzfH#kb z8ronpyu(Jn*7Mh{GlTTva@joJerqn6+s)SBK#b?g_6Kr_(pq1333wnN)7H`n)05Lt>>l!1c>+Y3%Yt@#YpNEcyR+=Lq8E>uVEx$>u|&6_@!X9$)= zZN?y$#2uIpKgKTjIR?@bsW8OeRyA=3=?J0tNWxCI9b2dz=V6m! zo>vDiV;RiwnjKIz)OA{+I@lT0VBBjotF;+LMroXlCGY^Az)w*fSsZ6)B81v}Z(}5W zi$yVQyytbp(y00Ytd5&e9lC+-G3Rg|M%W)$V&@SID>adaBkb<|#hH!y(^OZ$3|JjA zVgu}rZEzg!z${oY(e90Es1Y_ob)*;Su9$*FaE(i!z|5qt2Z(4&Z#)0QoTRgjwD)&O z%t5*}D!(`C2{;0^G;>i8rcI~|zlB=kPf;DdiR$2wsG0j6)lS|~_WVG3B3a33g1fOZ zPC)Nq-L)6;;>C&l3+mYu$IvVi&L^Q&( zsNGr*)zfy!@_WNj7yJS>@_VQeM2xWw!J}(a?VC|cnNAm8&R8f7oNmq%#R}`a<>@v z3Nm@#!AZ8ga$G#1o>nH(8*3^9m+*)3b4|7*FNgz4m&W=A0j&+sM8G?n_s^In;?~uc`u1q0M+3-@v*2(E)SJw6|S< zj3<2)`Oj-Ni^nW}hR5*WY(7tL*c@w?xjgT=;C{@5x98b*{+`cBb5n850=wxJpw@gh zY6ebVK77aJe}$UT6x5QWS!nl4Ml49W5SGK*F26r!B|Q>#-gKA0*5&UD5YZH!#$xy$ zYBT+a>X=z%mmn{yLnTm~upAD>`q&zG;6VHZ)n3mx?OiYcwfRP%mS8igoujC|6F5yI z1CftV7rgF#h+5NBi|q+nusP}6F5L??1O3sDgRub4Mh##y>O#jcExwJq;0Kr$uVWT% zx4T5tbX!IH6v|NGu0W(bA2yP5nSm!kNQyh88su%kXzRCEw?95!5pMl<0;&S>Ui7=yCjow z2Uk%?RLnFws#x_(Em9CC$u{n0cB+Q3D zU`G50RWHL@Ya!HtDxo^m1yz3lR>z5`4jjZtytkJ5FHI!dI@TF$qZ&xN-j1*$YQ)u1 zySFZCrdqo6%czd@$2=I1n%Xx|OSIIv9d#ERcfNya@52BQ_4Edo!+WST&$YoePy}^* zRzdBNdZ>DXQA?178p%pjy|d1XsDXWsdGTLVNAqs9o3aF!AsuK!L_HgZnyQhg4$Vi6 zWDO3%-7cMXlfCUCQRlsY+5=5cBkF>hp?;`#;!*7c@G&kxbtJGkeA@=RxkPf2u?02q zw@_<(4%PF|Pz^mqEzLiuj+WeFt&eK3E2hSNsF@jzsW2W@J`!`|WGwCD!wJLp|EXQs-X%g*u|vvO5;Q0BYB-bmb|i8F_+gIO9&cCkmm?Z;3gvJ!ZiEsCME|=goHc8&EU6 z8v{j%oFbwIzs5HB5ZhthU3NsXF$3wPs0*!kZbLP^7d12Iu^wJTjX3>oyC?jZk#r?g z{ko|7opy8oYtwWmLu)z^i(&w^R_jnbJ&fwW1uTqLPz^pt4d5@-$P4bV_jzS3O?m)o z@61D$uST7>AJy)OJzeH`uyI2bU#*$cKFTFQRG3o_k^gh-Q7wl(>@xTFI zR`KFNHXznL#OQF%VP*jzA7OTB=Z_H2eY}3uwo@T+%zpYcdCN{oThtVHLharjSOEK= zdOQ|2wR5ooZbZ%8CDhd3#RBLZw<9lz$}f-ku?d#J-l*#Y-XNkWoR4Z~x2y0jssj&E zGx7w>V!9Kyqg7E;SsQhKH$}~0XP54a;rky;a=Qg2<(p60dha7k9q>LQq7gmCs+jq- z9YI4ZLAocV#{lYrvoS3$#mu+{BXJjM6JK%p-=jM86Y5d?4{A?kKVv@?OJgQ|{x>0_ z6FcAw7>$o{4K~6BXYGg3WgJer@Y|fDeAFhpg4)f0U@i3Cu@|n58%Q=oP5m8ggXWy= z$V*s|>wEo)oWuYw#rp5ssk(~l&@cZdSSS;b>V2EejM{v;Q8QHL`IGo~Wl*BOJCNe{v1_`)UofSY=W?o?(3pO6tpf%(LK=^T!l%A42`yIj=N^pcr#We{TSaw|EGNL;6a>&)jqR7)t(9v89+wA&zVlV zfThv9&d()K24BVmY>DsTO3Z%4{@S%0E0KPLC9udBc5gJsDAN6KHzr{LZ1^R=rZC{1 zm_j=6@GE}HBl0DWr=z&|CSN|V%{QJm6>EM=Cph64_9lJnJNsjE!&^Kv$bTPyA-~&y zcz%#>`-A-qh`DV?z7h3yT>TC+iH+{^5l{W3d*PoL0$w|=rm1}w>tdn%_Sfoe_yXx; zco2WZ5xAXhYiSBRu-^ff;6>7@9@=k0pI`+pROpdinpThPcgTDA2la;kWM4*y{;WO0 z`j>mc8!!cbBD3#xWjGAVtMn@m4b1+O-eR`j?91b3Y(V-;jPkM5pV6>JPU{`WZ}AuB zkY0{kNbmfcX9?*JG^V@j;lH*+Pci)cf1+o?-*%^Bbt;rLCcKutP`h|CrokDQ1Lt8) zT!*?%Kf`SJjq@?)C2f2r{0mBc%t?AC>ikux_V!}<_rJqLa*=TwHI>(JA#R8;9^1jI zlFEc{uWYGJcymUgM$!(mVpq(J16_Kgb2_SHORyAfL7n#@_Qk8IO(2|6J&o~dkWmlS z^8~DqbFe7Bhxza>Y7dySCOp-Ns0*CK?D(nk4r)NZqh>HmIum|gfumY;V z7MLD;qHdcQERJJP4Xi?)x6!4~I^RRpzvR4yJSMzfQG4VWs)Lz%aV)^~z1&0!V-#wW zwL@LFGp5Ggs1f&f4nuWd6lyIepz6&;H9Q}6J1#}l+k~2#oygYlE}%B~`xwYXUR1SHN|NQ+C5PPwX3_MIuz?nKwW4&s-3B*3(P?+!3xxj9>fSdk5}l)2L-wR zHRWpx8*e!t#aQfE#9rVys-bf(eHArBUtvl74%MMFMUCgjyf_MLqc-1O)Dqo9Ey>@g z0cZ1@@TYEJf55K!R5CQuHCO>Jpw{XaR0q-*vm?ugx}e{st2pbRM%DHjWq&%vDMyLz6!Nb@EFJOjJCj3r!1vN9>B8?Y~ z15qP>&v^;e(a)T}xcnTY?a1@vRNeojiRja8C+dFx4trw3GR7;0qcIX!U|BqaTB08@ z0rQr%7oLMnNWY1d@Ke+brYdK`dm|HSFH}U0ye*c~{oj{}rerSqaTD@X_0D0C^wshv z{2nlrw+h`xLn@l^OXy708YZF6-+=n8IOg)-cYcm5$o~N~BLUv!b>13Gr~7{w5%uU0 zYNYSE3Xf0?|BYIb+`Oskkz5qD3G1MCb!*gS?d|dt@ORSFPOr;> z!@vK3rSMe-rgx{k!=`+*}WT|c~>Wp$Wa&|&Zb$`?h zkHGRc19ja4)w%z*i;t2~3ooEP?fylrWtAG%MyQ$Th}vYcP`B+xRL5>QpP(8}SJS>J zWyM~kYoYR&pk6>$p{{#2KtyYM*=2lzTJw7@-_)`r%!sO22ybH~ssov8+o>;#`$#uL zE!AVxjHa(+yp32A)$Rq2?2C zAd(Sl;vj5{Yj7uOx3_F=?Sp!+|b^B#$X{WFP>e1N+F?%cH z?ZIoPyK8D|?teuVx3*8Fjm|x&4jn~py7QZfmG&5Qb+FNN9z zRZ#452z&v|U+S#60M188YK{e1B^uTTgy>9k)?29^K zGHT6dq8_P>QG4eR>XG^{#$&1OCj3LgQmjtL?)0!DFVxe7zuy0Yy1PE>r56zHzmdJ| zx6$8lAqCz0nDB2rcQHsh?o~!YLuvXN?<3MhqK$V3Q}810>BrY>%E$GmgLrp<@ph8` zB*s4Z)(*5Ex5rUye-riW{}~JG{x^f{?Nt=@arz=^#Dh?qCJuEM1W-?~RjAwQ3~FkB*}@&j&aZze2q{wv07ie_Vp< z*fUhe{zYxBY(s2=FQIPF!Kn5UTzU%X!gHOQP@Dev5cm22J{cX!xQu!d79VOGs)Ty* z)J8vcLv?Tr>H>369a@2Ea6M{I>_tuWDOY~QdBgcFszY~%a{nvxFB!T}-eGnMYoczi zPN?!h*a8EnkzYW4s$EA-<*%qE$i_xcc_q|RG(as`PgI8{quN`7MR9k4h&I(l)JRsw z*$Z#LVx*7YR5sOhR0n$ww+)R$?fM0%jvhkI$or@cUB_zp#94ZTP4`4C(L&Vq0xO6d zAhI5Hfldi_Q;ooPNzX!Epk1Opp+AlyJp{|+x2R9cOe5{co1sS96;(b2wPedsOSB!e z8IK?x2zcKUsY}L>Hp445%3i1fYDCpgCpJcPqyuVZVz4XD#4qqBYQ)E0w@dW^>yxfA z+Ac*RYAF_?HvJ*&sQdpzB6G+nJjSlgcGQK>pgw*tx%3aH*XCa^yjRBBH=vr>nEdvr zyJay(;Z3ZBS;sLTmheT?$9A*vc7U&8THXI6iD+aKP@CsXm)?jPc?h+c-gW8kP;2}M zHPsm=*j--)wWgI&=hbjF!8)WnqCOMmqGn(@hTs495ot!o5mb-=LRBn3(T=1x>b8t^ zjzZ1A6fA-3Q5QUie!PNOq9>@$mV1)DJBp&})pxd;#QndHj2>iYS0RQ4Nko%|sH;^RZ;8UEg%NwJU0=2BX@WfNEz>z(tmzF0j^B*n+J| zCu2YS2el;8Gi(RrP%|(CHDk+A9oXf(gnrUbP@6f|8}_rM1nL3Q7Q16$01;jIB$mT- zs0%&9%J>(mrxj+}k=8`j?||9^-B1m_jyi7vYNV@B9opy8SFs1_JE(y*nia0kzyBqo zk*q*9yc2c71E_|Nqt@;!s(~+2FP}AL+mW?I%|JJ-g2OO8lc;vLpxQZt>d?oi4*rY< zb^oWCW7niO>b8n<={8t_bPrTRZ=mk;AV%UBsJ&w5+Vk_F>P4b1SPQiW+PnN{m!E*T z%jTf|37&V1NDCei|H0~5VZQO0B`Xg|`+PFN7PG@MRQxEMv3c znxOrna(X#mOh^}4VP~SpN^4(?;Ch2xdMF0;9WH^0rev;j9abZqj2ht`)QJ8;?e;vY zYRY&UFVqW6B5Da%V_DpUe*6e);zQIDms-vJuPLj%+D>UhRKXxr{s>gZrlLBq z3^k>DQ5`>nYq{NSpf>NAb#^H>p_b?XYLi~aruZA`W4qpZ+mRmY1NK6T$k0ePpmy<5 z)X3h&w)h3=zAe4McAy5TgDp@U>yCaLj{1;!6V>q}sCplucKw%_nWc%`XqT#bV3WNM z7oy%u@1nk$ys_C%-6Pag=HFt!mitj1>4y(+IBH4yY_)gC7*vO@pl0YtJcAM2jJF8S zp_b_7?I!&9iGfK(+R~#77)3#@o%YS78EWcc@Fkp%tMLkIrs8*5-#{(d8q9#(P)l?W zH52DhA71xRw{hy-*38HZ2fW-wG)3jGIKF^>?1OdaSOE2YaBPo#(f9>bUU9Dp|4nE+ z)O~#q)xpgB>!U>59qruichlJMw*p?BD%#JZ%4h<2+8KUXvrn8>0LFJdxp8 zg`0X6ZbW^PdGV+T|JCeX)Q3~dF;2kwSO=fs4XpZ>@wQ>6d7??>)}B>gpW{9&dq1} zODINs8Y|)6ckIjU*XK<5U%%{nm#HUz_Icy2r~dj2-2eX)Y4o1$K%@63 zmW$>h?|NAJBfD!SeQbY}zJQg9brYx%(5O$$)vf%l2% z-R?5#w)hJ5#Cw9eT^h2WdZ2W4#-i@)DL4+dqVD%%kF3>D4L3tQLEF0gXiP`P6ER5s zgvTV^? zPwl2FhkAp06D#0ZREHj-X6PTxp!+}dZ}vfw4ONgEi(w&`ei1bj%}~$u9;lHgU^iTd zx^3@Z0?v76|2@IqsP;DgZZEt8%aJ~YA^Z;pB3Xvjf3P|5oj>jFPXD*@KA=Loe@yrv zkL3T?cz=>UkGJq`{yuXwZZW>_6SA<+7k;q_VLI}Uqt^Z$s-riYPce#g&In(42Af9s z0^v`ieq^ZPT%3yA(U0X*`NIFMzb)1xT_&|JyoPV)1kVd!eD}eBpl(Fb{P%e1)~~F6!A|EWI!MX;>Mx=Izjr-BEjE zENZHkpzelMsPp!q9^J=Ld*geTpDu$hyjk-Ei0Hm8fyJ;UYWH_Xoj3?}!G$h=1!`)y zJ5M5y2k#1M6Ml-ia0*7^AE-@OETb>{Vbu{;-WAp1zyKn;ZHA&QG{zN7bft%( zht4ag3*SIL-gW8pne8Ubhw8{4rezx;hPa*wB{fYPQF;Y-$JhG&e|`k1@Z0l*b1vqj zHJ%mWr=qgop&*%->&lHU_65qgkUoS;Xxj%JkY!BohHqIa78 z=j|h*;{>4?;VgMNUcs+07S~f}7$Geu{qD*e;b6)~kbj%}LM~tD<|nOVf+hUtEEk_a zeLq1*pf{1DM4k}lx&~@+a-vE(3J`zSM#KLTk)n@Xy>7(wa(+$fbaHjtlRim#bHXy> zg$R!*TT4hFZyI%1<8soMe9ZqKGIUHK9H-z%mp)5c_jFepI7IlI{8-ZMa3twd#9t*m zkOVw6pK74ag( z?^5*`@jr<_KgLn6;{|6<%63y{xXlhf%d(T!Q5|`#c|8bv%Ii&{A?JPV+T+7J;O!&v z8kqq?Zg=8*ry9vfygy#T8H6mF=}Hzmxcy|+mZM!kf;$vM-A&mkTp&L>Uy z-F8s89rsvCB(ac!M#%T3@Yjl4q&JZ6LR!ZN(mK9#={GPn={4k6ba~@(40-EaUDY2) zxJv#!!Vuc)fS*4v*YyvQ`36p+AUg%^u^4$gkpJgs=i)y(Ti`TG2UAx^GU+eyK6WH; zj;j|zJDFS^)f-6u6G9~UJqdxb%5}#U{EkqW0v%&HaSHL%#Gi6fch_h${Ft&uF5Li= zNVmcl2wU9wvrumfI!?H{dXDPQ_owrEtYjslCntBL@=)UM68LWIC6gXS{0Lz-;THn0 zHC}V_^>vXX|1gp#G@%Q52XFy-xmDnfP2}e$=y;oRa}l43eDZk5h>zA|n@-*LivsndQ>GUHvhn z_0O8TcushSu#xZ?=_OQN=qe8;ZwM#o*Bc#+@iiL_zoRPp$dxHxjq{FkPEEpo^7|2L zyYj35RZn#nM=<_lL^@K?niGUh!1JQS2eUN^%>kUyIdQV2x|{)ym}PPT-}<3vpgycix+%Uw858#I=J<>2}cT;0`MGc7+9q?l&Is7)`ZKM7v(mIk!>-dOt`1%VdtU*Fw``hC06s{wD ztXdo!+=-L1Gj$%i^hU})Azqg78eun~H+fU2vyL{45_Bvhv~+Q$^%XS(b;zl2MKeALr#3GWg55^7OC5_PQM z`rZaYH!7_s=qQ3+38{!zqH=<3P-VOH2S;;4Ci3@CuZ=5DjXUXFdcscP74R;hFY(3H z+ZH~PSt6c~{5GTmRbA#F97Dwpc$f-JaTn^yOh`+aj!vBT{OCtsjLW}C{tK@Do5U+o z=~vP(5sDM?lg>r{C|BnZX43i(rC=M0ErjYc)(;O+@eKJThz}q>&s`)RdF#k4PI@b@ z!B5GXNSzQ~QJlQ9l+7pp3cgLcEAi>X>l2O=bR6TH|9MQr5j{`AX)5b@nfPrR_1>bQ zvVX>>?&My$gSBxkMw99EorYK@e-6}CtjU+HJnP>P{MXXEz0s2 zCi52x8<0^(fz0Ei3nqQnBxlSra_W-fqn3_)q}vj%5p9bM7bjH;$rCi*PPmfb`GAuc3}_wGZE*!dskt3R{!;B87GF4h|)+i>o{w zbCUK`S4UGE=E`1lc{fPMQl};5<)4?4K0*0M0*)-MUJmDV@*WZn6H2@KC5ad0B0844dX;fHaKOb26aR+#ja+(< z>x=6BOMZd>N_Qr$;~T;iRiP`-@tfbglS`v-Nh5>^umlb4N9Cfq)6F>xfCxkfnOn?ZUkULfxqm%oy{g5=HS zq_f)H-Tziqj*FB$#`Ki*!e2OJIN`oKQ*|;>wjz8vo-cTW;G;YU6}e@TDmxai@DgX2dgdXddz zhsEg6xY)$Om=GT~(u-^vGiebcz`s9h=}U-nmO#|G;pYoni+K=KL=4G}SdWX0#XCEjDgI{OF{1JsTt~ z?OEJcDls|KbBd9*d&l^aHoy8&@`k<*O>(Y&M^Yt!GH|p>YBTt}iA>HO`^cEc#Y6L% z$fT&DxepFaYm#ydJD>E;u#b}Vy;dyw#%phy)c!K163Zq{iO-WfCH^&E()NT^N$t87 zPi~ml-Iu&?)FNMUsj=mJTq~*l_yQS9C3?*g65cw?`SUveo5_fi%TD^rm(*ZN&E)Y@@|fgZQ&*WR z!=e)h`-dmQ#%aDHlaEc`$ElIk3ynlxO-3Cd` zPJEbD`ef#${wMn+pF7zxQ*yBn(wgL^A67NV(=JB(l2%>1k+kG;-Yj0{VX^%gj=yPq zTuia#k1uCPpPcTCHooLRU)Axku*mNyR+NgK<)A2!SjR?24brgifl zs#3vp_tmabF{(<%Dz*Gos@1Jlr+ieEsHhAb+E?rp^LlI|Q&X`i1Fh??8dW7+uWA*4 zm8x~4s!}g_wvx$Jvi-1_p^4FP0}`VBtwtpd?msvtZfLx}-dJWgZfJDFL9a!}4huf6 zWL8H+RjM7FU)hWfz8__hgZrzPA0qsoKNzfPUJsV9W-1$h=#^@woC)0DzvTYhEoJN; zDCvTM zf7>E2WyOh8 zKbW@1d$3~pkBtwW^ruYUoU(qYr`y(E#D72eFda}E_qQBXyD6)K_m51ze`GpWNIt|x z=*Q|=y8O!h!5^xd{=v>QOgU}5(8L-h*(er_s%088&V*WKf-m%}j>%zy&0a7`zDoYk z^%qPovn_vpV?qU9G(%H`mNYi^OlWdb(=sA>qlL*4Jlev{He?M$~|?GEN_Fm;rv z9s0e4xnQ__@JuHY%IRsYRv!8>boBoESxn3Qq}8FrolS;_(0AR;QD16?;577>es}wwqwy7*i#5IL7q!F^X)1&8gs(!KOecXRNuNC)jqfsY&&z zlg;PBSEiW#X}y$XM^ly^3Ra(L+6AXgHKp_Z-yQQmOA|aZ)#MMJoob2%Z%;L^(nzyu zW>OaK{)W}}m+bJTyfL5k3SFCK@)^ofrkh2n{H3at3Qd?{E=B}fZ!)=qeP)}YHr8OP z$rg;8ZL((f?l0b)GJOrZ%1fEGoQ)E?G~4Wt2u_|)M=OPn%s1(M!PrHnM(Fk;{s~yn zB$<4{PZyhV%aTl6LatzRk|`XHBqgy*pCp+SU+B~_(kV5iNdNO=DZ-)y2w)OEK~%9`o^l=YKS)^73F^-{J?{_*In=jq^+&891 z9y8-Y4c{_reZkzPOvzx~Q>I36_$hNN*!{Gr>YIBY7&y&NIdR&w4W&P0eu|*Wf4swH z$M4@YLsDr!zVv~q6FU8Y+2#vP`p7)?rQ_Dy&T9FCuU|I%a(F3oS3d|YFEcVGab#Jq z%ix&s8F@qPJ~7oIf}K7!xk5i(GxdC-N}rodCiKE}bG|q?p83;k$%I?e`o3VvLzC0{ zI!3VcpJej=8Tu@#G?&(Z&=HmM`Z!6&xRBie*hXphr>}`v@-U Q1=mKI(xIp2d<%U44-8yAbN~PV delta 30476 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 bb9b9jIB>eyVSU(WU_Sgb%vup0SP}SNx_D47 diff --git a/resources/localization/ko_KR/Slic3rPE.po b/resources/localization/ko_KR/Slic3rPE.po index 5691b17e4bf..60d15b88922 100644 --- a/resources/localization/ko_KR/Slic3rPE.po +++ b/resources/localization/ko_KR/Slic3rPE.po @@ -2,493 +2,619 @@ msgid "" msgstr "" "Project-Id-Version: slic3rkorean\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-07-23 12:06+0200\n" -"PO-Revision-Date: 2018-12-11 02:52+0900\n" -"Last-Translator: 이학민 \n" +"POT-Creation-Date: 2019-01-17 13:39+0100\n" +"PO-Revision-Date: 2019-01-21 12:02+0100\n" +"Last-Translator: Oleksandra Iushchenko \n" "Language-Team: Korean\n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.0.8\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: slic3rkorean\n" "X-Crowdin-Language: ko\n" "X-Crowdin-File: ko_KR.po\n" -#: xs/src/slic3r/GUI/AboutDialog.cpp:32 +#: src/slic3r/GUI/AboutDialog.cpp:33 msgid "About Slic3r" msgstr "Slic3r에 대하여" -#: xs/src/slic3r/GUI/AboutDialog.cpp:67 +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 msgid "Version" msgstr "버전" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:39 +#: src/slic3r/GUI/BedShapeDialog.cpp:43 msgid "Shape" msgstr "모양" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:46 +#: src/slic3r/GUI/BedShapeDialog.cpp:50 msgid "Rectangular" msgstr "직사각형" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:50 xs/src/slic3r/GUI/Tab.cpp:1826 -#: lib/Slic3r/GUI/Plater.pm:498 +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 msgid "Size" msgstr "사이즈" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:51 +#: src/slic3r/GUI/BedShapeDialog.cpp:55 msgid "Size in X and Y of the rectangular plate." -msgstr "사격형 플레이트 X 및 Y 크기" +msgstr "사격형 플레이트 X 및 Y 크기." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:57 +#: src/slic3r/GUI/BedShapeDialog.cpp:61 msgid "Origin" msgstr "원본" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:58 -msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." +#: src/slic3r/GUI/BedShapeDialog.cpp:62 +msgid "" +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." msgstr "사각형의 전면 왼쪽된 모서리에서 0, 0 G-코드 좌표 거리입니다." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:62 +#: src/slic3r/GUI/BedShapeDialog.cpp:66 msgid "Circular" msgstr "원형" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:65 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:88 xs/src/slic3r/GUI/ConfigWizard.cpp:446 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:460 xs/src/slic3r/GUI/RammingChart.cpp:81 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:79 -#: xs/src/libslic3r/PrintConfig.cpp:133 xs/src/libslic3r/PrintConfig.cpp:181 -#: xs/src/libslic3r/PrintConfig.cpp:189 xs/src/libslic3r/PrintConfig.cpp:237 -#: xs/src/libslic3r/PrintConfig.cpp:248 xs/src/libslic3r/PrintConfig.cpp:363 -#: xs/src/libslic3r/PrintConfig.cpp:374 xs/src/libslic3r/PrintConfig.cpp:393 -#: xs/src/libslic3r/PrintConfig.cpp:531 xs/src/libslic3r/PrintConfig.cpp:890 -#: xs/src/libslic3r/PrintConfig.cpp:1002 xs/src/libslic3r/PrintConfig.cpp:1010 -#: xs/src/libslic3r/PrintConfig.cpp:1068 xs/src/libslic3r/PrintConfig.cpp:1086 -#: xs/src/libslic3r/PrintConfig.cpp:1104 xs/src/libslic3r/PrintConfig.cpp:1166 -#: xs/src/libslic3r/PrintConfig.cpp:1176 xs/src/libslic3r/PrintConfig.cpp:1292 -#: xs/src/libslic3r/PrintConfig.cpp:1300 xs/src/libslic3r/PrintConfig.cpp:1342 -#: xs/src/libslic3r/PrintConfig.cpp:1351 xs/src/libslic3r/PrintConfig.cpp:1361 -#: xs/src/libslic3r/PrintConfig.cpp:1369 xs/src/libslic3r/PrintConfig.cpp:1377 -#: xs/src/libslic3r/PrintConfig.cpp:1463 xs/src/libslic3r/PrintConfig.cpp:1669 -#: xs/src/libslic3r/PrintConfig.cpp:1739 xs/src/libslic3r/PrintConfig.cpp:1773 -#: xs/src/libslic3r/PrintConfig.cpp:1969 xs/src/libslic3r/PrintConfig.cpp:1976 -#: xs/src/libslic3r/PrintConfig.cpp:1983 xs/src/libslic3r/PrintConfig.cpp:2015 -#: xs/src/libslic3r/PrintConfig.cpp:2025 xs/src/libslic3r/PrintConfig.cpp:2035 +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 msgid "mm" msgstr "mm" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:66 xs/src/libslic3r/PrintConfig.cpp:528 +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 msgid "Diameter" -msgstr "노즐 직경:" +msgstr "노즐 직경" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:67 -msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." +#: src/slic3r/GUI/BedShapeDialog.cpp:71 +msgid "" +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." msgstr "인쇄 침대의 직경. 원점 (0,0) 은 중심에 있다고 가정합니다." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:71 -#: xs/src/libslic3r/GCode/PreviewData.cpp:175 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:102 +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 msgid "Custom" msgstr "커스터" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:75 +#: src/slic3r/GUI/BedShapeDialog.cpp:79 msgid "Load shape from STL..." msgstr "STL파일 로드." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:120 +#: src/slic3r/GUI/BedShapeDialog.cpp:125 msgid "Settings" msgstr "설정" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:299 +#: src/slic3r/GUI/BedShapeDialog.cpp:298 msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" msgstr "침대 모양 (STL/OBJ/AMF/3MF/PRUSA) 에서 가져오려는 파일을 선택 합니다:" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:316 +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 msgid "Error! " -msgstr "에러!" +msgstr "에러! " -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:325 +#: src/slic3r/GUI/BedShapeDialog.cpp:324 msgid "The selected file contains no geometry." msgstr "선택한 파일에는 형상이 없는 포함 되어 있습니다." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:329 -msgid "The selected file contains several disjoint areas. This is not supported." -msgstr "선택한 파일 여러 분리 된 영역을 포함 되어 있습니다. 이 지원 되지 않습니다." +#: src/slic3r/GUI/BedShapeDialog.cpp:328 +msgid "" +"The selected file contains several disjoint areas. This is not supported." +msgstr "" +"선택한 파일 여러 분리 된 영역을 포함 되어 있습니다. 이 지원 되지 않습니다." -#: xs/src/slic3r/GUI/BedShapeDialog.hpp:44 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:409 +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 msgid "Bed Shape" msgstr "배드 모양" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 +#: src/slic3r/GUI/BonjourDialog.cpp:54 msgid "Network lookup" msgstr "네트워크 조회" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 +#: src/slic3r/GUI/BonjourDialog.cpp:67 msgid "Address" msgstr "주소" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 +#: src/slic3r/GUI/BonjourDialog.cpp:68 msgid "Hostname" msgstr "호스트이름" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 +#: src/slic3r/GUI/BonjourDialog.cpp:69 msgid "Service name" msgstr "서비스 이름" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 +#: src/slic3r/GUI/BonjourDialog.cpp:70 msgid "OctoPrint version" msgstr "옥토프린트 버전" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 +#: src/slic3r/GUI/BonjourDialog.cpp:188 msgid "Searching for devices" msgstr "디바이스 검색" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 +#: src/slic3r/GUI/BonjourDialog.cpp:195 msgid "Finished" msgstr "완료" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 +#: src/slic3r/GUI/ButtonsDescription.cpp:15 msgid "Buttons And Text Colors Description" msgstr "버튼 및 텍스트 색상 설명" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 +#: src/slic3r/GUI/ButtonsDescription.cpp:40 msgid "Value is the same as the system value" msgstr "값은 시스템 값과 같습니다" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 -msgid "Value was changed and is not equal to the system value or the last saved preset" -msgstr "값이 변경 되었고 시스템 값 또는 마지막으로 저장 된 사전 설정과 같지 않음" +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" +"값이 변경 되었고 시스템 값 또는 마지막으로 저장 된 사전 설정과 같지 않음" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 msgid "Upgrade" msgstr "업그레이드" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 msgid "Downgrade" msgstr "다운그레이드" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 msgid "Before roll back" msgstr "롤백 전에" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 msgid "User" msgstr "사용자" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 msgid "Unknown" msgstr "알 수 없음" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 msgid "Active: " -msgstr "활성:" +msgstr "활성: " -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 msgid "slic3r version" msgstr "slic3r에 대하여" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 msgid "print" msgstr "프린트" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 msgid "filaments" msgstr "필라멘트" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 msgid "printer" msgstr "프린터" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:730 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 msgid "vendor" msgstr "벤더" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 msgid "version" msgstr "버전" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 msgid "min slic3r version" msgstr "최소 slic3r 버전" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 msgid "max slic3r version" msgstr "최대 slic3r 버전" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 msgid "model" msgstr "모델" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 msgid "variants" msgstr "변종" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 msgid "Incompatible with this Slic3r" msgstr "이 Slic3r와 호환 되지 않음" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 msgid "Activate" msgstr "활성화" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:349 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 msgid "Configuration Snapshots" msgstr "구성 스냅숏" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:88 +#: src/slic3r/GUI/ConfigWizard.cpp:92 msgid "nozzle" msgstr "노즐" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:89 -msgid "(default)" -msgstr "(기본값)" +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" +msgstr "기본값" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:108 +#: src/slic3r/GUI/ConfigWizard.cpp:116 msgid "Select all" msgstr "모두 선택" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:109 +#: src/slic3r/GUI/ConfigWizard.cpp:117 msgid "Select none" msgstr "선택 없음" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:218 +#: src/slic3r/GUI/ConfigWizard.cpp:226 #, c-format msgid "Welcome to the Slic3r %s" msgstr "Slic3r %s에 오신것을 환영 합니다" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:218 +#: src/slic3r/GUI/ConfigWizard.cpp:226 msgid "Welcome" msgstr "환영합니다" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:224 xs/src/slic3r/GUI/GUI.cpp:346 +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 #, c-format msgid "Run %s" msgstr "%s 실행" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:226 +#: src/slic3r/GUI/ConfigWizard.cpp:234 #, 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." -msgstr "안녕하세요, Slic3r prusa 버전에 오신 것을 환영 합니다! 이 %s 초기 구성;에 도움이 됩니다. 단지 몇 가지 설정 하 고 당신은 인쇄 준비가 될 것입니다." +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." +msgstr "" +"안녕하세요, Slic3r prusa 버전에 오신 것을 환영 합니다! 이 %s 초기 구성;에 도" +"움이 됩니다. 단지 몇 가지 설정 하 고 당신은 인쇄 준비가 될 것입니다." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:230 -msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)" +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" msgstr "사용자 프로필 제거-처음부터 설치 (스냅숏은 사전에 수행 됩니다)" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:252 +#: src/slic3r/GUI/ConfigWizard.cpp:263 msgid "Other vendors" msgstr "다른 공급 업체" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:254 +#: src/slic3r/GUI/ConfigWizard.cpp:265 msgid "Custom setup" msgstr "사용자 지정 설치" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:278 +#: src/slic3r/GUI/ConfigWizard.cpp:289 msgid "Automatic updates" msgstr "자동 업데이트" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:278 +#: src/slic3r/GUI/ConfigWizard.cpp:289 msgid "Updates" msgstr "업데이트" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:286 xs/src/slic3r/GUI/Preferences.cpp:59 +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 msgid "Check for application updates" msgstr "프로그램 업데이트 확인" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:289 xs/src/slic3r/GUI/Preferences.cpp:61 -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 application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done." -msgstr "활성화 된 경우 Slic3r은 Slic3r PE 온라인의 새 버전을 확인합니다. 새 버전을 사용할 수있게되면 다음 응용 프로그램 시작시 알림이 표시됩니다 (프로그램 사용 중에는 절대로 사용하지 마십시오). 이것은 알림 메커니즘 일뿐 자동 설치가 수행되지 않습니다." +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" +"활성화 된 경우 Slic3r은 Slic3r PE 온라인의 새 버전을 확인합니다. 새 버전을 사" +"용할 수있게되면 다음 응용 프로그램 시작시 알림이 표시됩니다 (프로그램 사용 중" +"에는 절대로 사용하지 마십시오). 이것은 알림 메커니즘 일뿐 자동 설치가 수행되" +"지 않습니다." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:293 xs/src/slic3r/GUI/Preferences.cpp:67 +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 msgid "Update built-in Presets automatically" msgstr "기존의 설정 자동 업데이트" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:296 xs/src/slic3r/GUI/Preferences.cpp:69 -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/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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은 백그라운드에서 내장 시스템 사전 설정의 업데이트를 다" +"운로드합니다. 이러한 업데이트는 별도의 임시 위치에 다운로드됩니다. 새로운 사" +"전 설정 버전을 사용할 수있게되면 응용 프로그램 시작시 제공됩니다." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 -msgid "Updates are never applied without user's consent and never overwrite user's customized settings." -msgstr "업데이트는 사용자의 동의없이 적용되지 않으며 사용자의 사용자 지정된 설정을 덮어 쓰지 않습니다." +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" +"업데이트는 사용자의 동의없이 적용되지 않으며 사용자의 사용자 지정된 설정을 덮" +"어 쓰지 않습니다." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:302 -msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied." +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." msgstr "또한 업데이트가 적용되기 전에 전체 구성의 백업 스냅 샷이 생성됩니다." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:309 +#: src/slic3r/GUI/ConfigWizard.cpp:320 msgid "Other Vendors" msgstr "다른 공급 업체" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:311 +#: src/slic3r/GUI/ConfigWizard.cpp:322 msgid "Pick another vendor supported by Slic3r PE:" msgstr "Slic3r PE가 지원하는 다른 공급 업체를 선택하십시오:" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:370 +#: src/slic3r/GUI/ConfigWizard.cpp:381 msgid "Firmware Type" msgstr "펌웨어 타입" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:370 xs/src/slic3r/GUI/Tab.cpp:1606 +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 msgid "Firmware" msgstr "펌웨어" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:374 +#: src/slic3r/GUI/ConfigWizard.cpp:385 msgid "Choose the type of firmware used by your printer." msgstr "프린터에 패치할 펌웨어를 선택하세요." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:409 +#: src/slic3r/GUI/ConfigWizard.cpp:419 msgid "Bed Shape and Size" msgstr "배드 모양과 크기" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 +#: src/slic3r/GUI/ConfigWizard.cpp:422 msgid "Set the shape of your printer's bed." msgstr "프린터 배드모양을 설정하세요." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:426 +#: src/slic3r/GUI/ConfigWizard.cpp:436 msgid "Filament and Nozzle Diameters" msgstr "필라멘트와 노즐 크기" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:426 +#: src/slic3r/GUI/ConfigWizard.cpp:436 msgid "Print Diameters" msgstr "인쇄 직경" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 +#: src/slic3r/GUI/ConfigWizard.cpp:452 msgid "Enter the diameter of your printer's hot end nozzle." msgstr "핫 엔드 노즐 직경을 입력하십시오." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 +#: src/slic3r/GUI/ConfigWizard.cpp:455 msgid "Nozzle Diameter:" msgstr "노즐 직경:" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:455 +#: src/slic3r/GUI/ConfigWizard.cpp:465 msgid "Enter the diameter of your filament." msgstr "필라멘트의 직경을 입력하십시오." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:456 -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:466 +msgid "" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." +msgstr "" +"정밀도가 필요하므로 캘리퍼를 사용하여 필라멘트를 따라 여러 번 측정 한 다음 평" +"균을 계산하십시오." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:459 +#: src/slic3r/GUI/ConfigWizard.cpp:469 msgid "Filament Diameter:" msgstr "필라멘트 직경:" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:477 +#: src/slic3r/GUI/ConfigWizard.cpp:487 msgid "Extruder and Bed Temperatures" msgstr "익스트루더와 배드 온도" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:477 +#: src/slic3r/GUI/ConfigWizard.cpp:487 msgid "Temperatures" -msgstr "온도 " +msgstr "온도" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 +#: src/slic3r/GUI/ConfigWizard.cpp:503 msgid "Enter the temperature needed for extruding your filament." msgstr "필라멘트 압출에 필요한 온도를 입력하십시오." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 +#: src/slic3r/GUI/ConfigWizard.cpp:504 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입니다." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 +#: src/slic3r/GUI/ConfigWizard.cpp:507 msgid "Extrusion Temperature:" msgstr "출력 온도 :" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:512 +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 msgid "°C" msgstr "°C" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:507 -msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." +#: src/slic3r/GUI/ConfigWizard.cpp:517 +msgid "" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." msgstr "필라멘트가 핫배드에 접착하는데 필요한 배드온도를 입력하십시오." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:508 -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 ° C입니다. 핫배드가 없는 경우에는 0으로 두십시오." +#: src/slic3r/GUI/ConfigWizard.cpp:518 +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 ° C입니다. 핫배드가 없는 경우에" +"는 0으로 두십시오." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:511 +#: src/slic3r/GUI/ConfigWizard.cpp:521 msgid "Bed Temperature:" msgstr "배드 온도 :" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:824 +#: src/slic3r/GUI/ConfigWizard.cpp:833 msgid "< &Back" msgstr "< &뒤로" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:825 +#: src/slic3r/GUI/ConfigWizard.cpp:834 msgid "&Next >" msgstr "&다음 >" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:826 +#: src/slic3r/GUI/ConfigWizard.cpp:835 msgid "&Finish" msgstr "&완료" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:896 +#: src/slic3r/GUI/ConfigWizard.cpp:906 msgid "Configuration Wizard" msgstr "구성 마법사" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:898 +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "구성 마법사" + +#: src/slic3r/GUI/ConfigWizard.cpp:909 msgid "Configuration Assistant" msgstr "구성 도우미" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:87 +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "구성 도우미" + +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "%s 이(가) 백분율을 지원하지 않음" + +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 +msgid "" +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "Input value is out of range" + +#: src/slic3r/GUI/Field.cpp:176 +#, 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." +msgstr "" + +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:133 msgid "Flash!" msgstr "완료!" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:88 +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 msgid "Cancel" msgstr "취소" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:128 +#: src/slic3r/GUI/FirmwareDialog.cpp:135 msgid "Flashing in progress. Please do not disconnect the printer!" msgstr "아직 플래싱 중입니다. 커넥트를 분리하지 마십시오!" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:155 +#: src/slic3r/GUI/FirmwareDialog.cpp:245 msgid "Flashing succeeded!" msgstr "플래싱 성공!" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:156 +#: src/slic3r/GUI/FirmwareDialog.cpp:246 msgid "Flashing failed. Please see the avrdude log below." msgstr "플래시 실패. 아래의 로그를 확인하세요." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:157 +#: src/slic3r/GUI/FirmwareDialog.cpp:247 msgid "Flashing cancelled." msgstr "깜빡임 취소됨." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:294 -msgid "Cancelling..." -msgstr "취소 중..." +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:347 +#: src/slic3r/GUI/FirmwareDialog.cpp:690 msgid "Firmware flasher" msgstr "펌웨어 플래셔" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:367 +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "펌웨어 이미지:" + +#: src/slic3r/GUI/FirmwareDialog.cpp:716 msgid "Serial port:" msgstr "시리얼 포트:" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:369 +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:719 msgid "Rescan" msgstr "재검색" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:374 -msgid "Firmware image:" -msgstr "펌웨어 이미지:" +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" +msgstr "진행:" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:377 +#: src/slic3r/GUI/FirmwareDialog.cpp:729 msgid "Status:" msgstr "지위:" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:378 +#: src/slic3r/GUI/FirmwareDialog.cpp:730 msgid "Ready" msgstr "준비" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:381 -msgid "Progress:" -msgstr "진행:" - -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:400 +#: src/slic3r/GUI/FirmwareDialog.cpp:750 msgid "Advanced: avrdude output log" msgstr "고급: avrdude 로그 출력" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:446 +#: src/slic3r/GUI/FirmwareDialog.cpp:809 msgid "" "Are you sure you want to cancel firmware flashing?\n" "This could leave your printer in an unusable state!" @@ -496,4184 +622,6255 @@ msgstr "" "펌웨어 플래싱을 취소하시겠습니까?\n" "프린터가 사용할 수 없는 상태가 될 수 있습니다!" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:447 +#: src/slic3r/GUI/FirmwareDialog.cpp:810 msgid "Confirmation" msgstr "확인" -#: xs/src/slic3r/GUI/GLCanvas3D.cpp:2308 +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 msgid "Detected object outside print volume" msgstr "출력물이 프린터 출력 사이즈를 넘었습니다" -#: xs/src/slic3r/GUI/GUI.cpp:233 +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "회전" + +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "크기" + +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "자르기" + +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "공지" + +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "참조 되지 않은 스칼라를 비우려고" + +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "위험" + +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "파일을 선택하세요 (STL/OBJ/AMF/3MF/PRUSA):" + +#: src/slic3r/GUI/GUI_App.cpp:451 msgid "Array of language names and identifiers should have the same size." msgstr "언어 이름과 식별자 배열은 같은 크기 여야합니다." -#: xs/src/slic3r/GUI/GUI.cpp:244 +#: src/slic3r/GUI/GUI_App.cpp:461 msgid "Select the language" msgstr "언어를 선택" -#: xs/src/slic3r/GUI/GUI.cpp:244 +#: src/slic3r/GUI/GUI_App.cpp:461 msgid "Language" msgstr "언어" -#: xs/src/slic3r/GUI/GUI.cpp:306 xs/src/libslic3r/PrintConfig.cpp:195 +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 msgid "Default" msgstr "기본값" -#: xs/src/slic3r/GUI/GUI.cpp:349 +# xs/src/slic3r/GUI/GUI.cpp:349 +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "구성 스냅숏" + +#: src/slic3r/GUI/GUI_App.cpp:609 msgid "Inspect / activate configuration snapshots" msgstr "구성 스냅 샷 검사 / 활성화" -#: xs/src/slic3r/GUI/GUI.cpp:350 -msgid "Take Configuration Snapshot" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" msgstr "구성 스냅 샷 가져 오기" -#: xs/src/slic3r/GUI/GUI.cpp:350 +#: src/slic3r/GUI/GUI_App.cpp:610 msgid "Capture a configuration snapshot" msgstr "구성 스냅 샷 캡처" -#: xs/src/slic3r/GUI/GUI.cpp:353 xs/src/slic3r/GUI/Preferences.cpp:9 -msgid "Preferences" +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" msgstr "환경 설정" -#: xs/src/slic3r/GUI/GUI.cpp:353 +#: src/slic3r/GUI/GUI_App.cpp:613 msgid "Application preferences" msgstr "응용 프로그램 환경 설정" -#: xs/src/slic3r/GUI/GUI.cpp:354 -msgid "Change Application Language" +#: src/slic3r/GUI/GUI_App.cpp:616 +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:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "고급" + +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" msgstr "응용 프로그램 언어 번경" -#: xs/src/slic3r/GUI/GUI.cpp:356 -msgid "Flash printer firmware" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" msgstr "프린터 펌웨어 플래시" -#: xs/src/slic3r/GUI/GUI.cpp:356 +#: src/slic3r/GUI/GUI_App.cpp:624 msgid "Upload a firmware image into an Arduino based printer" msgstr "아두이노 기반의 프린터 이미지 업로드" -#: xs/src/slic3r/GUI/GUI.cpp:368 +#: src/slic3r/GUI/GUI_App.cpp:636 msgid "Taking configuration snapshot" msgstr "구성 스냅 샷 만들기" -#: xs/src/slic3r/GUI/GUI.cpp:368 +#: src/slic3r/GUI/GUI_App.cpp:636 msgid "Snapshot name" msgstr "스냅 샷 이름" -#: xs/src/slic3r/GUI/GUI.cpp:406 +#: src/slic3r/GUI/GUI_App.cpp:674 msgid "Application will be restarted" msgstr "애플리케이션이 다시 시작됨" -#: xs/src/slic3r/GUI/GUI.cpp:406 +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 msgid "Attention!" msgstr "주목!" -#: xs/src/slic3r/GUI/GUI.cpp:422 +#: src/slic3r/GUI/GUI_App.cpp:691 msgid "&Configuration" msgstr "&구성" -#: xs/src/slic3r/GUI/GUI.cpp:446 +#: src/slic3r/GUI/GUI_App.cpp:711 msgid "You have unsaved changes " -msgstr "저장되지 않은 변경 사항이 있습니다" +msgstr "저장되지 않은 변경 사항이 있습니다 " -#: xs/src/slic3r/GUI/GUI.cpp:446 +#: src/slic3r/GUI/GUI_App.cpp:711 msgid ". Discard changes and continue anyway?" msgstr ". 변경 사항을 취소하고 계속 하시겠습니까?" -#: xs/src/slic3r/GUI/GUI.cpp:447 +#: src/slic3r/GUI/GUI_App.cpp:712 msgid "Unsaved Presets" msgstr "저장되지 않은 기존설정" -#: xs/src/slic3r/GUI/GUI.cpp:655 -msgid "Notice" -msgstr "공지" +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "레이어 및 경계선" -#: xs/src/slic3r/GUI/GUI.cpp:660 -msgid "Attempt to free unreferenced scalar" -msgstr "참조 되지 않은 스칼라를 비우려고" +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "인필(채움)" -#: xs/src/slic3r/GUI/GUI.cpp:662 xs/src/slic3r/GUI/WipeTowerDialog.cpp:39 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:321 -msgid "Warning" -msgstr "위험" +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "서포트 재료(Support material)" -#: xs/src/slic3r/GUI/GUI.cpp:859 -msgid "Support" -msgstr "서포트(지지대)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "속도" -#: xs/src/slic3r/GUI/GUI.cpp:862 -msgid "Select what kind of support do you need" -msgstr "서포트의 종류를 선택하세요" +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "익스트루더" -#: xs/src/slic3r/GUI/GUI.cpp:863 xs/src/libslic3r/GCode/PreviewData.cpp:162 -msgid "None" -msgstr "없음" +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "압출 폭" -#: xs/src/slic3r/GUI/GUI.cpp:864 xs/src/libslic3r/PrintConfig.cpp:1656 -msgid "Support on build plate only" -msgstr "출력물만 서포트를 지지" +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:865 -msgid "Everywhere" -msgstr "모든곳" +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:877 xs/src/slic3r/GUI/Tab.cpp:844 -msgid "Brim" -msgstr "브림" +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "이름" -#: xs/src/slic3r/GUI/GUI.cpp:879 -msgid "This flag enables the brim that will be printed around each object on the first layer." -msgstr "이 플래그는 첫 번째 레이어의 각 개체 주위에 인쇄 될 브림을 활성화합니다." +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:888 -msgid "Purging volumes" -msgstr "볼륨 삭제" +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:930 -msgid "Export print config" -msgstr "인쇄 설정 내보내기" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "" -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r error" -msgstr "Slic3r 오류" +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" +msgstr "" -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r has encountered an error" -msgstr "Slic3r에 오류가 발생했습니다." +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:84 -msgid "Save current " -msgstr "지금 저장" +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:85 -msgid "Delete this preset" -msgstr "이전 설정 삭제" +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:97 -msgid "" -"Hover the cursor over buttons to find more information \n" -"or click this button." +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" msgstr "" -"버튼 위로 커서를 가져 가서 자세한 정보를 찾습니다.\n" -"또는이 버튼을 클릭하십시오." -#: xs/src/slic3r/GUI/Tab.cpp:716 -msgid "It's a default preset." -msgstr "기본 설정입니다." +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:717 -msgid "It's a system preset." -msgstr "시스템 설정입니다." +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "익스트루더(Extruder)" -#: xs/src/slic3r/GUI/Tab.cpp:718 -msgid "Current preset is inherited from " -msgstr "전의 설정에서 가져 옵니다" +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:723 -msgid "It can't be deleted or modified. " -msgstr "삭제하거나 수정할 수 없습니다." +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:724 -msgid "Any modifications should be saved as a new preset inherited from this one. " -msgstr "모든 수정 사항은 이 항목에서 받은 기본 설정으로 저장해야합니다" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:725 -msgid "To do that please specify a new name for the preset." -msgstr "그렇게하려면 기본 설정의 새 이름을 지정하십시오." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:729 -msgid "Additional information:" -msgstr "추가 정보:" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:737 -msgid "printer model" -msgstr "프린터 모델" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:739 -msgid "default print profile" -msgstr "기본 인쇄 프로파일" +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:742 -msgid "default filament profile" -msgstr "기본 필라멘트 프로파일" +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:786 -msgid "Layers and perimeters" -msgstr "레이어 및 경계선" +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:787 xs/src/libslic3r/PrintConfig.cpp:886 -msgid "Layer height" -msgstr "레이어 높이" +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:791 -msgid "Vertical shells" -msgstr "쉘 높이" +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:802 -msgid "Horizontal shells" -msgstr "쉘 너비" +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:803 xs/src/libslic3r/PrintConfig.cpp:1562 -msgid "Solid layers" -msgstr "솔리드 레이어" +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:808 -msgid "Quality (slower slicing)" -msgstr "품질(슬라이싱이 느려짐)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:815 xs/src/slic3r/GUI/Tab.cpp:829 -#: xs/src/slic3r/GUI/Tab.cpp:923 xs/src/slic3r/GUI/Tab.cpp:926 -#: xs/src/slic3r/GUI/Tab.cpp:1276 xs/src/slic3r/GUI/Tab.cpp:1625 -#: xs/src/libslic3r/PrintConfig.cpp:110 xs/src/libslic3r/PrintConfig.cpp:245 -#: xs/src/libslic3r/PrintConfig.cpp:833 xs/src/libslic3r/PrintConfig.cpp:2021 -msgid "Advanced" -msgstr "고급" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:819 xs/src/slic3r/GUI/Tab.cpp:820 -#: xs/src/slic3r/GUI/Tab.cpp:1127 xs/src/libslic3r/PrintConfig.cpp:90 -#: xs/src/libslic3r/PrintConfig.cpp:284 xs/src/libslic3r/PrintConfig.cpp:585 -#: xs/src/libslic3r/PrintConfig.cpp:599 xs/src/libslic3r/PrintConfig.cpp:637 -#: xs/src/libslic3r/PrintConfig.cpp:778 xs/src/libslic3r/PrintConfig.cpp:788 -#: xs/src/libslic3r/PrintConfig.cpp:806 xs/src/libslic3r/PrintConfig.cpp:824 -#: xs/src/libslic3r/PrintConfig.cpp:843 xs/src/libslic3r/PrintConfig.cpp:1511 -#: xs/src/libslic3r/PrintConfig.cpp:1528 -msgid "Infill" -msgstr "인필(채움)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 +msgid "" +"The selected object couldn't be split because it contains only one part." +msgstr "" +"선택한 오브젝트는 파트가 하나만 포함되어 있기 때문에 분할 할 수 없습니다." -#: xs/src/slic3r/GUI/Tab.cpp:825 -msgid "Reducing printing time" -msgstr "출력 시간 단축" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:837 -msgid "Skirt and brim" -msgstr "스커트와 브림" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:838 xs/src/libslic3r/GCode/PreviewData.cpp:171 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:98 -msgid "Skirt" -msgstr "스커트" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:847 xs/src/slic3r/GUI/Tab.cpp:848 -#: xs/src/libslic3r/PrintConfig.cpp:228 xs/src/libslic3r/PrintConfig.cpp:1278 -#: xs/src/libslic3r/PrintConfig.cpp:1628 xs/src/libslic3r/PrintConfig.cpp:1635 -#: xs/src/libslic3r/PrintConfig.cpp:1647 xs/src/libslic3r/PrintConfig.cpp:1657 -#: xs/src/libslic3r/PrintConfig.cpp:1665 xs/src/libslic3r/PrintConfig.cpp:1680 -#: xs/src/libslic3r/PrintConfig.cpp:1701 xs/src/libslic3r/PrintConfig.cpp:1712 -#: xs/src/libslic3r/PrintConfig.cpp:1728 xs/src/libslic3r/PrintConfig.cpp:1737 -#: xs/src/libslic3r/PrintConfig.cpp:1746 xs/src/libslic3r/PrintConfig.cpp:1757 -#: xs/src/libslic3r/PrintConfig.cpp:1771 xs/src/libslic3r/PrintConfig.cpp:1779 -#: xs/src/libslic3r/PrintConfig.cpp:1780 xs/src/libslic3r/PrintConfig.cpp:1789 -#: xs/src/libslic3r/PrintConfig.cpp:1797 xs/src/libslic3r/PrintConfig.cpp:1811 -#: xs/src/libslic3r/GCode/PreviewData.cpp:172 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:99 -msgid "Support material" -msgstr "서포트 재료(Support material)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:853 -msgid "Raft" -msgstr "라프트" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:857 -msgid "Options for support material and raft" -msgstr "서포트와 라프트 재료를 선택" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:871 xs/src/libslic3r/PrintConfig.cpp:122 -#: xs/src/libslic3r/PrintConfig.cpp:315 xs/src/libslic3r/PrintConfig.cpp:732 -#: xs/src/libslic3r/PrintConfig.cpp:844 xs/src/libslic3r/PrintConfig.cpp:1212 -#: xs/src/libslic3r/PrintConfig.cpp:1449 xs/src/libslic3r/PrintConfig.cpp:1499 -#: xs/src/libslic3r/PrintConfig.cpp:1550 xs/src/libslic3r/PrintConfig.cpp:1871 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:77 -msgid "Speed" -msgstr "속도" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:872 -msgid "Speed for print moves" -msgstr "출력중 이동 속도" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:884 -msgid "Speed for non-print moves" -msgstr "미출력시 이동속도" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "제공된 이름이 유효하지 않습니다;" -#: xs/src/slic3r/GUI/Tab.cpp:887 -msgid "Modifiers" -msgstr "수정" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "다음 문자는 허용되지 않습니다:" -#: xs/src/slic3r/GUI/Tab.cpp:890 -msgid "Acceleration control (advanced)" -msgstr "가속 제어(고급)" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:897 -msgid "Autospeed (advanced)" -msgstr "오토스피트(고급)" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:903 -msgid "Multiple Extruders" -msgstr "다중 익스트루더" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:904 xs/src/slic3r/GUI/Tab.cpp:1451 -#: xs/src/libslic3r/PrintConfig.cpp:345 xs/src/libslic3r/PrintConfig.cpp:799 -#: xs/src/libslic3r/PrintConfig.cpp:1191 xs/src/libslic3r/PrintConfig.cpp:1520 -#: xs/src/libslic3r/PrintConfig.cpp:1693 xs/src/libslic3r/PrintConfig.cpp:1719 -#: xs/src/libslic3r/PrintConfig.cpp:1995 xs/src/libslic3r/PrintConfig.cpp:2004 -msgid "Extruders" -msgstr "익스트루더" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:911 -msgid "Ooze prevention" -msgstr "오즈 방지(Ooze prevention)" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:915 xs/src/libslic3r/GCode/PreviewData.cpp:174 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:101 -msgid "Wipe tower" -msgstr "와이프 타워(Wipe tower)" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:927 -msgid "Extrusion width" -msgstr "악출 폭(Extrusion width)" +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "View" -#: xs/src/slic3r/GUI/Tab.cpp:937 -msgid "Overlap" -msgstr "겹침(Overlap)" +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "특색 유형" -#: xs/src/slic3r/GUI/Tab.cpp:940 -msgid "Flow" -msgstr "유량(Flow)" +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "높이" -#: xs/src/slic3r/GUI/Tab.cpp:943 -msgid "Other" -msgstr "그 외" +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "폭" -#: xs/src/slic3r/GUI/Tab.cpp:950 -msgid "Output options" -msgstr "출력 옵션" +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "용적의 유량값" -#: xs/src/slic3r/GUI/Tab.cpp:951 -msgid "Sequential printing" -msgstr "연속 인쇄" +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "도구" -#: xs/src/slic3r/GUI/Tab.cpp:953 -msgid "Extruder clearance (mm)" -msgstr "익스트루더 간격(mm)" +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:962 -msgid "Output file" -msgstr "출력 파일" +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "보다" -#: xs/src/slic3r/GUI/Tab.cpp:968 xs/src/libslic3r/PrintConfig.cpp:1234 -msgid "Post-processing scripts" -msgstr "포스트 프로세싱 스크립트" +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "특색 유형" -#: xs/src/slic3r/GUI/Tab.cpp:974 xs/src/slic3r/GUI/Tab.cpp:975 -#: xs/src/slic3r/GUI/Tab.cpp:1329 xs/src/slic3r/GUI/Tab.cpp:1330 -#: xs/src/slic3r/GUI/Tab.cpp:1668 xs/src/slic3r/GUI/Tab.cpp:1669 -msgid "Notes" -msgstr "메모" +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "가장자리" -#: xs/src/slic3r/GUI/Tab.cpp:981 xs/src/slic3r/GUI/Tab.cpp:1337 -#: xs/src/slic3r/GUI/Tab.cpp:1675 -msgid "Dependencies" -msgstr "속한 그룹" +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "외부 가장자리" -#: xs/src/slic3r/GUI/Tab.cpp:982 xs/src/slic3r/GUI/Tab.cpp:1338 -#: xs/src/slic3r/GUI/Tab.cpp:1676 -msgid "Profile dependencies" -msgstr "프로파일 종석성" +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "오버행(Overhang) 둘레" -#: xs/src/slic3r/GUI/Tab.cpp:983 xs/src/slic3r/GUI/Tab.cpp:1339 -#: xs/src/slic3r/GUI/Tab.cpp:2364 xs/src/libslic3r/PrintConfig.cpp:147 -msgid "Compatible printers" -msgstr "호환 가능한 프린터들" +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "내부 채움" -#: xs/src/slic3r/GUI/Tab.cpp:1016 -#, 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" -"- one 둘레\n" -"- 탑 솔리드 레이어 없음\n" -"- 채우기(fill) 밀도 0 %\n" -"- 서포트 재료 없음\n" -"- 수직 벽 두깨를 보장하지 않음\n" -"\n" -"스파이럴 바이스를 사용하려면 이러한 설정을 조정해야합니까?" +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "솔리드 인필" -#: xs/src/slic3r/GUI/Tab.cpp:1023 -msgid "Spiral Vase" -msgstr "스파이럴 바이스" +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "가장 윗부분 채움" -#: xs/src/slic3r/GUI/Tab.cpp:1044 -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/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "프릿지 채움" -#: xs/src/slic3r/GUI/Tab.cpp:1048 xs/src/slic3r/GUI/Tab.cpp:1065 -msgid "Wipe Tower" -msgstr "와이프 타워(Wipe Tower)" +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "공백 채움" -#: xs/src/slic3r/GUI/Tab.cpp:1062 -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?" +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "스커트" + +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "서포트 재료 인터페이스" + +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" +msgstr "와이프 타워(Wipe tower)" + +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "이송" + +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "리트랙션" + +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "리트랙션 취소" + +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "쉘" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" msgstr "" -"와이퍼 타워가 가용성 서포트와 함께 작용하기 위해, 서포트 레이어\n" -"객체 레이어와 동기화되어야합니다.\n" -"\n" -"와이퍼 타워를 사용하려면 서포트 레이어를 동기화해야합니까?" -#: xs/src/slic3r/GUI/Tab.cpp:1080 -msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" msgstr "" -"다음 기능을 사용하는 경우 더 나은 작업을 지원합니다.\n" -"- 브리지 경계 검출\n" -"\n" -"서포트에 대한 설정을 조정해야합니까?" -#: xs/src/slic3r/GUI/Tab.cpp:1083 -msgid "Support Generator" -msgstr "서포트 생성" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1125 -msgid "The " -msgstr "The" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1125 -#, no-c-format -msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" msgstr "" -"infill 패턴은 100 % 밀도에서 작동하지 않습니다.\n" -"\n" -"직선 채우기 패턴으로 전환해야합니까?" -#: xs/src/slic3r/GUI/Tab.cpp:1231 xs/src/slic3r/GUI/Tab.cpp:1232 -#: lib/Slic3r/GUI/Plater.pm:454 -msgid "Filament" -msgstr "필라멘트" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "G-코드 내보내기" -#: xs/src/slic3r/GUI/Tab.cpp:1239 -msgid "Temperature " -msgstr "온도" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1240 xs/src/libslic3r/PrintConfig.cpp:344 -msgid "Extruder" -msgstr "익스트루더(Extruder)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1245 -msgid "Bed" -msgstr "배드(Bed)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1250 -msgid "Cooling" -msgstr "냉각(Cooling)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1251 xs/src/libslic3r/PrintConfig.cpp:1137 -#: xs/src/libslic3r/PrintConfig.cpp:1941 -msgid "Enable" -msgstr "사용" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "마지막으로 빠른 슬라이스 반복" -#: xs/src/slic3r/GUI/Tab.cpp:1262 -msgid "Fan settings" -msgstr "팬 설정" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "선택 및 플래이트 탭" -#: xs/src/slic3r/GUI/Tab.cpp:1263 -msgid "Fan speed" -msgstr "팬 속도" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1271 -msgid "Cooling thresholds" -msgstr "냉각 임계 값" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1277 -msgid "Filament properties" -msgstr "필라멘트 특성" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1281 -msgid "Print speed override" -msgstr "인쇄 속도 중단" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1291 -msgid "Toolchange parameters with single extruder MM printers" -msgstr "싱글 익스트루더 MM 프린터를 사용한 공구 교환 매개 변수" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1299 -msgid "Ramming" -msgstr "래미" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1301 -msgid "Ramming settings" -msgstr "래밍 설정" +# xs/src/slic3r/GUI/Preferences.cpp:9 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "환경 설정" -#: xs/src/slic3r/GUI/Tab.cpp:1316 xs/src/slic3r/GUI/Tab.cpp:1631 -msgid "Custom G-code" -msgstr "수동 G코드" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1317 xs/src/slic3r/GUI/Tab.cpp:1632 -#: xs/src/libslic3r/PrintConfig.cpp:1590 xs/src/libslic3r/PrintConfig.cpp:1605 -msgid "Start G-code" -msgstr "스타트 G코드" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1323 xs/src/slic3r/GUI/Tab.cpp:1638 -#: xs/src/libslic3r/PrintConfig.cpp:254 xs/src/libslic3r/PrintConfig.cpp:264 -msgid "End G-code" -msgstr "엔드 G코드" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1419 xs/src/slic3r/GUI/Preferences.cpp:17 -msgid "General" -msgstr "일반" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1420 -msgid "Size and coordinates" -msgstr "크기와 좌표" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1422 xs/src/libslic3r/PrintConfig.cpp:37 -msgid "Bed shape" -msgstr "배드 모양" - -#: xs/src/slic3r/GUI/Tab.cpp:1424 xs/src/slic3r/GUI/Tab.cpp:2332 -msgid " Set " -msgstr " 세트 " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1447 -msgid "Capabilities" -msgstr "기능" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1452 -msgid "Number of extruders of the printer." -msgstr "프린터 익스트루더 숫자" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "정렬" -#: xs/src/slic3r/GUI/Tab.cpp:1477 -msgid "USB/Serial connection" -msgstr "USB/시리얼 연결" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1478 xs/src/libslic3r/PrintConfig.cpp:1441 -msgid "Serial port" -msgstr "시리얼 포트" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1483 -msgid "Rescan serial ports" -msgstr "시리얼포트 재검색" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "전부 지움" -#: xs/src/slic3r/GUI/Tab.cpp:1492 xs/src/slic3r/GUI/Tab.cpp:1539 -msgid "Test" -msgstr "시험(test)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1505 -msgid "Connection to printer works correctly." -msgstr "프린터 연결이 올바르게 작동합니다." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1505 xs/src/slic3r/GUI/Tab.cpp:1549 -msgid "Success!" -msgstr "성공!" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1508 -msgid "Connection failed." -msgstr "연결 실패" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1520 xs/src/slic3r/Utils/OctoPrint.cpp:110 -msgid "OctoPrint upload" -msgstr "옥토프린트 업로드" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1523 xs/src/slic3r/GUI/Tab.cpp:1572 -msgid " Browse " -msgstr " 검색 " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1549 -msgid "Connection to OctoPrint works correctly." -msgstr "OctoPrint에 연결하면 올바르게 작동합니다." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1552 -msgid "Could not connect to OctoPrint" -msgstr "OctoPrint에 연결할 수 없습니다." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1552 -msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "참고 : OctoPrint 버전 1.1.0 이상이 필요합니다." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1578 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "인증서 파일 (* .crt, * .pem) | * .crt; * .pem | 모든 파일 | *. *" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1579 -msgid "Open CA certificate file" -msgstr "Open CA certificate file" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1593 -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/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1644 xs/src/libslic3r/PrintConfig.cpp:51 -msgid "Before layer change G-code" -msgstr "레이어 변경 전 G 코드" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1650 xs/src/libslic3r/PrintConfig.cpp:875 -msgid "After layer change G-code" -msgstr "레이어 변경 후 G 코드" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1656 xs/src/libslic3r/PrintConfig.cpp:1848 -msgid "Tool change G-code" -msgstr "툴 채인지 G 코드" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1662 -msgid "Between objects G-code (for sequential printing)" -msgstr "객체 간 G 코드 (순차 인쇄용)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1717 xs/src/slic3r/GUI/Tab.cpp:1778 -#: xs/src/slic3r/GUI/Tab.cpp:2037 xs/src/libslic3r/PrintConfig.cpp:920 -#: xs/src/libslic3r/PrintConfig.cpp:929 xs/src/libslic3r/PrintConfig.cpp:938 -#: xs/src/libslic3r/PrintConfig.cpp:950 xs/src/libslic3r/PrintConfig.cpp:960 -#: xs/src/libslic3r/PrintConfig.cpp:970 xs/src/libslic3r/PrintConfig.cpp:980 -msgid "Machine limits" -msgstr "머신 한계설정" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1730 -msgid "Values in this column are for Full Power mode" -msgstr "이 열의 값은 최대 전력 모드입니다" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1731 -msgid "Full Power" -msgstr "최대 파워" +#: src/slic3r/GUI/MainFrame.cpp:53 +msgid "" +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +msgstr "" +" -http://github.com/prusa3d/slic3r/releases에서 업데이트를 확인하는 것을 잊" +"지 마십시오" -#: xs/src/slic3r/GUI/Tab.cpp:1736 -msgid "Values in this column are for Silent mode" -msgstr "이 열의 값은 무음 모드 용입니다." +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" +msgstr "플레이트" -#: xs/src/slic3r/GUI/Tab.cpp:1737 -msgid "Silent" -msgstr "무음" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "오픈" -#: xs/src/slic3r/GUI/Tab.cpp:1745 -msgid "Maximum feedrates" -msgstr "최대 이송속도" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1750 -msgid "Maximum accelerations" -msgstr "최고 가속도" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1757 -msgid "Jerk limits" -msgstr "저크(Jerk)값 한계" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1762 -msgid "Minimum feedrates" -msgstr "최대 이송속도" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1800 xs/src/slic3r/GUI/Tab.cpp:1808 -#: xs/src/slic3r/GUI/Tab.cpp:2037 -msgid "Single extruder MM setup" -msgstr "싱글 익스트루더 MM 설정" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1809 -msgid "Single extruder multimaterial parameters" -msgstr "싱글 익스트루더 멀티메터리알 파라미터" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1822 xs/src/libslic3r/GCode/PreviewData.cpp:446 -#, c-format -msgid "Extruder %d" -msgstr "익스트루더 %d" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1829 -msgid "Layer height limits" -msgstr "레이어 높이 한계치" +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1834 -msgid "Position (for multi-extruder printers)" -msgstr "위치 (멀티 익스트루더 프린터 포함)" +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "내 보낸 구성 파일로드" -#: xs/src/slic3r/GUI/Tab.cpp:1837 -msgid "Retraction" -msgstr "리트렉션" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1840 -msgid "Only lift Z" -msgstr "Z축만 올림" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1853 -msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" -msgstr "도구 비활성화시 리트렉션 (멀티 익스트루더 고급 설정)" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1857 lib/Slic3r/GUI/Plater.pm:217 -#: lib/Slic3r/GUI/Plater.pm:2324 -msgid "Preview" -msgstr "프리뷰" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "번들에서 미리 설정로드" -#: xs/src/slic3r/GUI/Tab.cpp:1953 -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?" +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" msgstr "" -"펌웨어 리트렉션 모드를 사용할 때는 Wipe 옵션을 사용할 수 없습니다.\n" -"\n" -"펌웨어 리트렉션 하려면 비활성화해야합니까?" -#: xs/src/slic3r/GUI/Tab.cpp:1955 -msgid "Firmware Retraction" -msgstr "펌웨어 레트렉션" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "G-코드 내보내기" -#: xs/src/slic3r/GUI/Tab.cpp:2130 -msgid "Default " -msgstr "기본값 " +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "현재 플레이트를 G 코드로 내보내기" -#: xs/src/slic3r/GUI/Tab.cpp:2130 -msgid " preset" -msgstr " 기본 설정" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "STL로 내보내기" -#: xs/src/slic3r/GUI/Tab.cpp:2131 -msgid " preset\n" -msgstr " 기본설정\n" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "현재 플레이트를 STL로 내보내기" -#: xs/src/slic3r/GUI/Tab.cpp:2149 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" -msgstr "" -"\n" -"\n" -"프린터와 호완 되지 않습니다.\n" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "AMF로 내보내기" -#: xs/src/slic3r/GUI/Tab.cpp:2149 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"저장되지 않은 변경점은 다음과 같습니다:" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "현재 플레이트를AMF로 내보내기" -#: xs/src/slic3r/GUI/Tab.cpp:2150 -msgid "" -"\n" -"\n" -"has the following unsaved changes:" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" msgstr "" -"\n" -"\n" -"저장되지 않은 수정사항:" -#: xs/src/slic3r/GUI/Tab.cpp:2152 -msgid "" -"\n" -"\n" -"Discard changes and continue anyway?" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "현재 구성을 파일로 내보내기" + +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" msgstr "" -"\n" -"\n" -"수정된 사항을 취소하고 계속하겠습니까?" -#: xs/src/slic3r/GUI/Tab.cpp:2153 -msgid "Unsaved Changes" -msgstr "미 저장된 변경점" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "모든 이전 설정을 파일로 내보내기" -#: xs/src/slic3r/GUI/Tab.cpp:2240 -msgid "The supplied name is empty. It can't be saved." -msgstr "파일 이름이 비어 있습니다. 저장할 수 없습니다." +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2245 -msgid "Cannot overwrite a system profile." -msgstr "시스템 프로파일을 겹쳐 쓸 수 없습니다." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2249 -msgid "Cannot overwrite an external profile." -msgstr "외부 프로필을 덮어 쓸 수 없습니다." +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "파일을 G 코드로 분할" -#: xs/src/slic3r/GUI/Tab.cpp:2275 -msgid "remove" -msgstr "제거(remove)" +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2275 -msgid "delete" -msgstr "지우기(delete)" +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "파일을 G 코드로 분할하고 다음으로 저장" -#: xs/src/slic3r/GUI/Tab.cpp:2276 -msgid "Are you sure you want to " -msgstr "정말로 다음과 같이 하겠습니까? " +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2276 -msgid " the selected preset?" -msgstr " 를(가) 선택된 설정을 실행 할까요?" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2277 -msgid "Remove" -msgstr "제거(remove)" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "새로운 슬라이싱 작업 시작" -#: xs/src/slic3r/GUI/Tab.cpp:2277 lib/Slic3r/GUI/Plater.pm:251 -#: lib/Slic3r/GUI/Plater.pm:269 lib/Slic3r/GUI/Plater.pm:2215 -msgid "Delete" -msgstr "지우기(delete)" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "STL 파일 복구" -#: xs/src/slic3r/GUI/Tab.cpp:2278 -msgid " Preset" -msgstr " 기본 설정" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "STL 파일을 자동으로 복구합니다" -#: xs/src/slic3r/GUI/Tab.cpp:2331 -msgid "All" -msgstr "모두 선택" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2363 -msgid "Select the printers this profile is compatible with." -msgstr "이 프로파일과 호환 가능한 프린터를 선택하세요." +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "Slic3r 종료" -#: xs/src/slic3r/GUI/Tab.cpp:2409 xs/src/slic3r/GUI/Tab.cpp:2495 -#: xs/src/slic3r/GUI/Preset.cpp:702 xs/src/slic3r/GUI/Preset.cpp:742 -#: xs/src/slic3r/GUI/Preset.cpp:770 xs/src/slic3r/GUI/Preset.cpp:802 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1193 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1246 lib/Slic3r/GUI/Plater.pm:603 -msgid "System presets" -msgstr "시스템 기본설정" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2410 xs/src/slic3r/GUI/Tab.cpp:2496 -msgid "Default presets" -msgstr "시스템 기본값" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2565 -msgid "LOCKED LOCK;indicates that the settings are the same as the system values for the current option group" -msgstr "자물쇠 잠금 : 설정이 현재 옵션 그룹의 시스템 값과 동일 함을 나타냅니다." +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2568 -msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to the system values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system values." +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" msgstr "" -"잠금 풀림 : 일부 설정이 변경되었으며 현재 옵션 그룹의 시스템 값과 같지 않음을 나타냅니다.\n" -"현재 옵션 그룹의 모든 설정을 시스템 값으로 재설정하려면 자물쇠 잠금 아이콘을 클릭하십시오." -#: xs/src/slic3r/GUI/Tab.cpp:2574 -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." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" msgstr "" -"흰색 총알; 왼쪽 버튼 : 시스템이 아닌 사전 설정을 나타내며,\n" -"오른쪽 버튼의 경우 : 설정이 수정되지 않았 음을 나타냅니다." -#: xs/src/slic3r/GUI/Tab.cpp:2578 -msgid "" -"BACK ARROW;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." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" msgstr "" -"잠금 풀림;일부 설정이 변경되었으며 현재 옵션 그룹의 시스템 값과 같지 않음을 나타냅니다.\n" -"현재 옵션 그룹의 모든 설정을 시스템 값으로 재설정하려면 자물쇠 잠금 아이콘을 클릭하십시오." -#: xs/src/slic3r/GUI/Tab.cpp:2604 -msgid "LOCKED LOCK icon indicates that the settings are the same as the system values for the current option group" -msgstr "자물쇠 잠금 아이코 설정이 현재 옵션 그룹의 시스템 값과 동일 함을 나타냅니다." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "선택 및 플래이트 탭" -#: xs/src/slic3r/GUI/Tab.cpp:2606 -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." -msgstr "" -"잠금 풀림 아이코 일부 설정이 변경되었으며 현재 옵션 그룹의 시스템 값과 같지 않음을 나타냅니다.\n" -"현재 옵션 그룹의 모든 설정을 시스템 값으로 재설정하려면 자물쇠 잠금 아이콘을 클릭하십시오." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "플레이트를 보기" -#: xs/src/slic3r/GUI/Tab.cpp:2609 -msgid "WHITE BULLET icon indicates a non system preset." -msgstr "흰색 글머리 아이콘은 시스템 사전 설정이 아닌 것을 나타냅니다." +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2612 -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/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "인쇄 설정 표시" -#: xs/src/slic3r/GUI/Tab.cpp:2614 -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." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" msgstr "" -"백화살표 아이콘 설정을 변경 하 고 현재 옵션 그룹에 대 한 마지막 저장 된 프리셋을 동일 하지 않습니다 나타냅니다.\n" -"마지막 현재 옵션 그룹에 대 한 모든 설정 다시 설정을 클릭 하 여 사전 설정을 저장." -#: xs/src/slic3r/GUI/Tab.cpp:2620 -msgid "LOCKED LOCK icon indicates that the value is the same as the system value." -msgstr "잠긴 자물쇠 아이콘 값 같은 시스템 값 임을 나타냅니다." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "필라멘트 설정보기" -#: xs/src/slic3r/GUI/Tab.cpp:2621 -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." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" msgstr "" -"잠금 해제 자물쇠 아이콘 값 변경 된 시스템 값은 나타냅니다.\n" -"시스템 값을 현재 값으로 설정 하려면 클릭 합니다." -#: xs/src/slic3r/GUI/Tab.cpp:2627 -msgid "WHITE BULLET icon indicates that the value is the same as in the last saved preset." -msgstr "흰색 글머리 기호 아이콘은 마지막으로 저장 한 사전 설정과 동일한 값을 나타냅니다." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "간단한 설정보기" -#: xs/src/slic3r/GUI/Tab.cpp:2628 -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." +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" msgstr "" -"잠금 해제 자물쇠 아이콘 값 변경 된 시스템 값은 나타냅니다.\n" -"시스템 값을 현재 값으로 설정 하려면 클릭 합니다." -#: xs/src/slic3r/GUI/Tab.cpp:2703 lib/Slic3r/GUI/MainFrame.pm:469 -#: lib/Slic3r/GUI/Plater.pm:1795 -msgid "Save " -msgstr "저장 " +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2703 -msgid " as:" -msgstr " as:" +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2742 xs/src/slic3r/GUI/Tab.cpp:2746 -msgid "The supplied name is not valid;" -msgstr "제공된 이름이 유효하지 않습니다;" +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2743 -msgid "the following characters are not allowed:" -msgstr "다음 문자는 허용되지 않습니다:" +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2747 -msgid "the following postfix are not allowed:" -msgstr "다음 접미사는 허용되지 않습니다:" +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2750 -msgid "The supplied name is not available." -msgstr "The supplied name is not available." - -#: xs/src/slic3r/GUI/Tab.hpp:286 -msgid "Print Settings" -msgstr "출력 설정" - -#: xs/src/slic3r/GUI/Tab.hpp:306 -msgid "Filament Settings" -msgstr "필라멘트 설정" +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:332 -msgid "Printer Settings" -msgstr "프린터 설정" +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "Iso 보기" -#: xs/src/slic3r/GUI/Tab.hpp:348 -msgid "Save preset" -msgstr "사전 설정 저장" +# lib/Slic3r/GUI/MainFrame.pm:327 +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "윗부분" -#: xs/src/slic3r/GUI/Field.cpp:98 -msgid "default" -msgstr "기본값 " +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "위에서 보기" -#: xs/src/slic3r/GUI/Field.cpp:128 -#, c-format -msgid "%s doesn't support percentage" -msgstr "%s 이(가) 백분율을 지원하지 않음" +# lib/Slic3r/GUI/MainFrame.pm:328 +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "바닥(Bottom)" -#: xs/src/slic3r/GUI/Field.cpp:137 -msgid "Input value is out of range" -msgstr "Input value is out of range" +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "바닥 보기" -#: xs/src/slic3r/GUI/Preset.cpp:144 -msgid "modified" -msgstr "수정된곳" +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "앞" -#: xs/src/slic3r/GUI/Preset.cpp:746 xs/src/slic3r/GUI/Preset.cpp:806 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1251 lib/Slic3r/GUI/Plater.pm:604 -msgid "User presets" -msgstr "사용자 사전설정" +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "앞면 보기" -#: xs/src/slic3r/GUI/PresetHints.cpp:27 -#, 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 %%에서 실행되고 인쇄 속도가 감소되어 해당 레이어에 % ds 이상 소비됩니다 (단, 속도는 % dmm / s 이하로 감소하지 않습니다) ." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "뒷면" -#: xs/src/slic3r/GUI/PresetHints.cpp:31 -#, 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%%." -msgstr "" -"\n" -"예상 레이어 시간이 더 길지만 ~ % ds 미만인 경우 팬은 % d %%와 % d %% 사이에 비례하여 감소하는 속도로 실행됩니다." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "뒷면 보기" -#: xs/src/slic3r/GUI/PresetHints.cpp:35 -msgid "" -"\n" -"During the other layers, fan " -msgstr "" -"\n" -"다른 레이어 중 팬 " +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "왼쪽" -#: xs/src/slic3r/GUI/PresetHints.cpp:37 -msgid "Fan " -msgstr "팬(Fan) " +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "왼쪽 보기" -#: xs/src/slic3r/GUI/PresetHints.cpp:42 -#, c-format -msgid "will always run at %d%% " -msgstr "항상 다음처럼 실행 %d%% " +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "오른쪽" -#: xs/src/slic3r/GUI/PresetHints.cpp:45 -#, c-format -msgid "except for the first %d layers" -msgstr "첫 번째 %d 레이어를 제외하고" +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "오른쪽 보기" -#: xs/src/slic3r/GUI/PresetHints.cpp:49 -msgid "except for the first layer" -msgstr "첫 번째 레이어를 제외하고" +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "푸르사 3D 드라이버" -#: xs/src/slic3r/GUI/PresetHints.cpp:51 -msgid "will be turned off." -msgstr "off 됩니다." +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "브라우저에서 Prusa3D 드라이버 다운로드 페이지를 엽니다" -#: xs/src/slic3r/GUI/PresetHints.cpp:152 -msgid "external perimeters" -msgstr "외부 둘레" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "Prusa 에디션 릴리스" -#: xs/src/slic3r/GUI/PresetHints.cpp:161 -msgid "perimeters" -msgstr "둘레" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "브라우저에서 Prusa Edition 릴리즈 페이지를 엽니 다" -#: xs/src/slic3r/GUI/PresetHints.cpp:170 -msgid "infill" -msgstr "채움(infill)" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "Slic3r 및 웹 사이트" -#: xs/src/slic3r/GUI/PresetHints.cpp:180 -msgid "solid infill" -msgstr "고체(solid)부분 채움" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "브라우저에서 Slic3r 웹 사이트 열기" -#: xs/src/slic3r/GUI/PresetHints.cpp:188 -msgid "top solid infill" -msgstr "가장 윗부분 채움" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "Slic3r &메뉴얼" -#: xs/src/slic3r/GUI/PresetHints.cpp:199 -msgid "support" -msgstr "서포트" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "브라우저에서 Slic3r 설명서를 엽니다" -#: xs/src/slic3r/GUI/PresetHints.cpp:209 -msgid "support interface" -msgstr "서포트 인터페이스" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "시스템 정보" -#: xs/src/slic3r/GUI/PresetHints.cpp:215 -msgid "First layer volumetric" -msgstr "첫번째 레이어 용적" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "시스템 정보 표시" -#: xs/src/slic3r/GUI/PresetHints.cpp:215 -msgid "Bridging volumetric" -msgstr "브리징(Bridging) 용적" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "폴더 표시 및 구성" -#: xs/src/slic3r/GUI/PresetHints.cpp:215 -msgid "Volumetric" -msgstr "용적" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "사용자 구성 폴더 표시 (datadir)" -#: xs/src/slic3r/GUI/PresetHints.cpp:216 -msgid " flow rate is maximized " -msgstr "유속(flow)이 최대화된다." +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "문제보고" -#: xs/src/slic3r/GUI/PresetHints.cpp:219 -msgid "by the print profile maximum" -msgstr "인쇄 프로파일 최대 값" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "Slic3r Prusa Edition에 관한 문제점 보고" -#: xs/src/slic3r/GUI/PresetHints.cpp:220 -msgid "when printing " -msgstr "인쇄 할때 " +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "&Slic3r에 대하여" -#: xs/src/slic3r/GUI/PresetHints.cpp:221 -msgid " with a volumetric rate " -msgstr " 용적 비율로 " +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "대화상자 표시" -#: xs/src/slic3r/GUI/PresetHints.cpp:225 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f mm³/s" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:227 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " 필라멘트 속도는 %3.2f mm/s." +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:246 -msgid "Recommended object thin wall thickness: Not available due to invalid layer height." -msgstr "권장 객체(object) 벽(wall) 두께: 잘못된 레이어 높이 때문에 사용할 수 없음" +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "&파일" -#: xs/src/slic3r/GUI/PresetHints.cpp:263 -#, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "개체 레이어 높이 %.2f 에 대 한 얇은 벽 두께 권장 하 고 " +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:270 -#, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d 라인(lines): %.2lf mm" +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "&윈도우" -#: xs/src/slic3r/GUI/Preferences.cpp:34 -msgid "Remember output directory" -msgstr "출력 디렉토리 기억하기" +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "&보다" -#: xs/src/slic3r/GUI/Preferences.cpp:36 -msgid "If this is enabled, Slic3r will prompt the last output directory instead of the one containing the input files." -msgstr "이 옵션을 사용하면 Slic3r은 입력 파일이 들어있는 디렉터리 대신 마지막 출력 디렉터리를 묻습니다." +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "&도움말" -#: xs/src/slic3r/GUI/Preferences.cpp:42 -msgid "Auto-center parts" -msgstr "부품을 자동으로 중심에" +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "슬라이스 할 파일을 선택하십시오 (STL / OBJ / AMF / 3MF / PRUSA):" -#: xs/src/slic3r/GUI/Preferences.cpp:44 -msgid "If this is enabled, Slic3r will auto-center objects around the print bed center." -msgstr "이 옵션을 사용하면 Slic3r이 개체를 인쇄판 중앙에 자동으로 배치합니다." +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "이전에 분리 된 파일이 없습니다." -#: xs/src/slic3r/GUI/Preferences.cpp:50 -msgid "Background processing" -msgstr "백그라운드 프로세싱" +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "에러" -#: xs/src/slic3r/GUI/Preferences.cpp:52 -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." -msgstr "이 사용 하는 경우 Slic3r는 전처리 개체 최대한 빨리 그들이 시간을 절약 하기 위해 로드 G-코드를 내보낼 때." +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "이전에 분리 된 파일 (" -#: xs/src/slic3r/GUI/Preferences.cpp:74 -msgid "Disable USB/serial connection" -msgstr "USB/시리얼 연결 비활성화" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr ")을 찾을 수 없습니다." -#: xs/src/slic3r/GUI/Preferences.cpp:76 -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 케이블. 이 프린터는 결코 컴퓨터에 연결 하는 경우에 사용자 인터페이스를 간소화 합니다." +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "파일을 찾을수 없다" -#: xs/src/slic3r/GUI/Preferences.cpp:82 -msgid "Suppress \" - default - \" presets" -msgstr "\"- 기본 -\"사전 설정 숨기기" +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "저장 " -#: xs/src/slic3r/GUI/Preferences.cpp:84 -msgid "Suppress \" - default - \" presets in the Print / Filament / Printer selections once there are any other valid presets available." -msgstr "사용 가능한 다른 유효한 사전 설정이 있으면 인쇄 / 필라멘트 / 프린터 선택에서 \"- 기본 -\"사전 설정을 억제하십시오." +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:90 -msgid "Show incompatible print and filament presets" -msgstr "호환 되지 않는 인쇄 및 필라멘트 설정" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:92 -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/MainFrame.cpp:531 +msgid " file as:" +msgstr " 다음 파일 :" -#: xs/src/slic3r/GUI/Preferences.cpp:98 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "레거시 OpenGL 1.1 렌더링 사용" +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:100 -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 드라이버로 인한 렌더링 문제가있는 경우이 확인란을 선택해보십시오. 이렇게하면 레이어 높이 편집 및 앤티 앨리어싱이 비활성화되므로 그래픽 드라이버를 업그레이드하는 것이 좋습니다." +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "슬라이싱" -#: xs/src/slic3r/GUI/Preferences.cpp:124 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "변경 사항을 적용하려면 Slic3r을 다시 시작해야합니다." +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "프로세싱 " -#: xs/src/slic3r/GUI/RammingChart.cpp:23 -msgid "NO RAMMING AT ALL" -msgstr "전혀 충돌 없음" +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr " 성공적으로 슬라이스." -#: xs/src/slic3r/GUI/RammingChart.cpp:76 -msgid "Time" -msgstr "시간" +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "슬라이스 완료!" -#: xs/src/slic3r/GUI/RammingChart.cpp:76 xs/src/slic3r/GUI/RammingChart.cpp:81 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:77 -#: xs/src/libslic3r/PrintConfig.cpp:490 -msgid "s" -msgstr "s" +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "복구 할 STL 파일을 선택하십시오:" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -msgid "Volumetric speed" -msgstr "용적(Volumetric) 스피트" +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "OBJ 파일을 저장하십시오 (STL보다 오류를 덜 조정할 가능성이 적음):" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "Update available" -msgstr "사용가능한 업데이트" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "파일이 복구되었습니다." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "New version of Slic3r PE is available" -msgstr "새로운 버전의 Slic3r PE 사용 가능" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "수정" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 -msgid "To download, follow the link below." -msgstr "다운로드하려면 아래 링크를 클릭하십시오." +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "구성을 저장 :" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 -msgid "Current version:" -msgstr "현재 버전:" +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "로드 할 구성 선택 :" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 -msgid "New version:" -msgstr "새로운 버전:" +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "이전 설정 번들을 다음과 같이 저장 :" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 -msgid "Don't notify about new releases any more" -msgstr "새로운 수정사항에 대해 더 이상 알림 안 함" +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "% d 사전 설정을 가져 왔습니다." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 -msgid "Configuration update" -msgstr "구성 업데이트" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "Slic3r 오류" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -msgid "Configuration update is available" -msgstr "구성 업데이트를 사용할 수 있음" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "Slic3r에 오류가 발생했습니다" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 -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:" +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" msgstr "" -"그것을 설치 하시겠습니까?\n" -"\n" -"전체 구성 스냅 샷이 먼저 만들어집니다. 그런 다음 새 버전에 문제가있을 경우 언제든지 복원 할 수 있습니다.\n" -"\n" -"업데이트 된 구성 번들 :" - -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r incompatibility" -msgstr "Slic3r와 호환 되지 않음" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r configuration is incompatible" -msgstr "Slic3r 구성이 호환되지 않습니다." +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "정보" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 -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" -"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 "" -"이 버전의 Slic3r PE는 현재 설치된 구성 번들과 호환되지 않습니다.\n" -"이것은 아마도 새로운 Slic3r PE를 사용한 후에 실행 된 결과 일 것입니다.\n" -"\n" -"Slic3r을 종료하고 새 버전으로 다시 시도하거나 초기 구성을 다시 실행할 수 있습니다. 이렇게하면이 Slic3r과 호환되는 파일을 설치하기 전에 기존 구성의 백업 스냅 샷을 생성 할 수 있습니다.\n" +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "크기" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 -#, c-format -msgid "This Slic3r PE version: %s" -msgstr "이 Slic3r PE 버전 : % s" +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "측면" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 -msgid "Incompatible bundles:" -msgstr "호환되지 않는 번들 :" +#: src/slic3r/GUI/Plater.cpp:128 +msgid "Materials" +msgstr "재료" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 -msgid "Exit Slic3r" -msgstr "Exit Slic3r" +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "많은" + +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "슬라이스된 정보" + +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "사용자 필라멘트 (m)" + +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "사용자 필라멘트 (mm³)" + +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "사용자 필라멘트 (g)" + +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "비용" + +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "서포트(지지대)" + +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "서포트의 종류를 선택하세요" + +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "없음" + +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "출력물만 서포트를 지지" + +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "모든곳" + +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "브림" + +#: src/slic3r/GUI/Plater.cpp:381 +msgid "" +"This flag enables the brim that will be printed around each object on the " +"first layer." +msgstr "" +"이 플래그는 첫 번째 레이어의 각 개체 주위에 인쇄 될 브림을 활성화합니다." + +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "볼륨 삭제" + +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "프린트 설정" + +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "필라멘트" + +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "프린터" + +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "프린터로 보내기" + +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "지금 자르기" + +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "오류자동수정 (%d errors)" + +#: src/slic3r/GUI/Plater.cpp:795 +#, c-format +msgid "" +"%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 후방 모서" +"리" + +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "로딩" + +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "입력 파일 처리 %s\n" + +#: src/slic3r/GUI/Plater.cpp:1366 +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" + +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 +msgid "Multi-part object detected" +msgstr "다중 부품 객체가 감지" + +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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:1408 +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" + +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "로드(loaded)" + +#: src/slic3r/GUI/Plater.cpp:1492 +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:1493 +msgid "Object too large?" +msgstr "개체가 너무 큽니까?" + +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "인쇄 설정 내보내기" + +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "" +"The selected object can't be split because it contains more than one volume/" +"material." +msgstr "" +"선택한 객체는 둘 이상의 볼륨 / 재료가 포함되어 있기 때문에 분할 할 수 없습니" +"다." + +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "취소 중" + +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "다른 내보내기 작업이 현재 실행 중입니다." + +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "내보내기 실패" + +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "지우기(delete)" + +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "선택한 객체 제거" + +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "복사본 늘리기" + +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "선택한 객체를 하나 더 복사합니다" + +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "복사본 감소" + +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "선택한 객체 복사본 하나 삭제" + +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "복사될 수량 설정" + +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "선택한 개체의 복사본 수 변경" + +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "디스크에서 다시 불러오기" + +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "디스크에서 다시 불러오기" + +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "이 객체를 STL 파일로 내 보냅니다" + +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "선택한 객체를 X 축을 따라 반전합니다" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "선택한 객체를 Y 축을 따라 반전합니다" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "선택한 객체를 Z 축을 따라 반전합니다" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "반전(Mirror)" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "반전할 객제를 선택" + +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "쪼개기" + +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" +msgstr "내보낸 STL 파일 %s" + +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" +msgstr "내보낸 AMF 파일 %s" + +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" +msgstr "AMF 파일 내보내기 오류 %s" + +#: src/slic3r/GUI/Plater.cpp:2891 +#, c-format +msgid "3MF file exported to %s" +msgstr "3MF 파일을 내보냈습니다 %s" + +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "3MF 파일 내보내기 오류 %s" + +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "일반" + +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "출력 디렉토리 기억하기" + +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "" +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." +msgstr "" +"이 옵션을 사용하면 Slic3r은 입력 파일이 들어있는 디렉터리 대신 마지막 출력 디" +"렉터리를 묻습니다." + +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "부품을 자동으로 중심에" + +#: src/slic3r/GUI/Preferences.cpp:44 +msgid "" +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." +msgstr "이 옵션을 사용하면 Slic3r이 개체를 인쇄판 중앙에 자동으로 배치합니다." + +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "백그라운드 프로세싱" + +#: src/slic3r/GUI/Preferences.cpp:52 +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." +msgstr "" +"이 사용 하는 경우 Slic3r는 전처리 개체 최대한 빨리 그들이 시간을 절약 하기 위" +"해 로드 G-코드를 내보낼 때." + +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "\"- 기본 -\"사전 설정 숨기기" + +#: src/slic3r/GUI/Preferences.cpp:76 +msgid "" +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." +msgstr "" +"사용 가능한 다른 유효한 사전 설정이 있으면 인쇄 / 필라멘트 / 프린터 선택에서 " +"\"- 기본 -\"사전 설정을 억제하십시오." + +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "호환 되지 않는 인쇄 및 필라멘트 설정" + +#: src/slic3r/GUI/Preferences.cpp:84 +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:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "레거시 OpenGL 1.1 렌더링 사용" + +#: src/slic3r/GUI/Preferences.cpp:92 +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 드라이버로 인한 렌더링 문제가있는 경우이 확인란을 선택" +"해보십시오. 이렇게하면 레이어 높이 편집 및 앤티 앨리어싱이 비활성화되므로 그" +"래픽 드라이버를 업그레이드하는 것이 좋습니다." + +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "변경 사항을 적용하려면 Slic3r을 다시 시작해야합니다." + +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "수정된곳" + +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "시스템 기본설정" + +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "사용자 사전설정" + +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" +msgstr "" + +#: 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 %%에서 실행되고 인쇄 속도가 감" +"소되어 해당 레이어에 % ds 이상 소비됩니다 (단, 속도는 % dmm / s 이하로 감소하" +"지 않습니다) ." + +#: 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%%." +msgstr "" +"\n" +"예상 레이어 시간이 더 길지만 ~ % ds 미만인 경우 팬은 % d %%와 % d %% 사이에 " +"비례하여 감소하는 속도로 실행됩니다." + +#: src/slic3r/GUI/PresetHints.cpp:36 +msgid "" +"\n" +"During the other layers, fan " +msgstr "" +"\n" +"다른 레이어 중 팬 " + +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "팬(Fan) " + +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "항상 다음처럼 실행 %d%% " + +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "첫 번째 %d 레이어를 제외하고" + +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "첫 번째 레이어를 제외하고" + +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "off 됩니다." + +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "외부 둘레" + +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" +msgstr "둘레" + +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "채움(infill)" + +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "고체(solid)부분 채움" + +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "가장 윗부분 채움" + +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "서포트" + +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "서포트 인터페이스" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "첫번째 레이어 용적" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "브리징(Bridging) 용적" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "용적" + +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr "유속(flow)이 최대화된다 " + +#: src/slic3r/GUI/PresetHints.cpp:220 +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 mm³/s" + +#: src/slic3r/GUI/PresetHints.cpp:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr " 필라멘트 속도는 %3.2f mm/s." + +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." +msgstr "" +"권장 객체(object) 벽(wall) 두께: 잘못된 레이어 높이 때문에 사용할 수 없음." + +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "개체 레이어 높이 %.2f 에 대 한 얇은 벽 두께 권장 하 고 " + +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "%d 라인(lines): %.2lf mm" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" +msgstr "업로드 후 인쇄 시작" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "필요한 경우 디렉토리 분리 기호로 슬래시 (/)를 사용하십시오." + +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" +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:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "s" + +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "용적(Volumetric) 스피트" + +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "호환 가능한 프린터들" + +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "이 프로파일과 호환 가능한 프린터를 선택하세요." + +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "지금 저장 " + +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "이전 설정 삭제" + +#: src/slic3r/GUI/Tab.cpp:131 +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" +"버튼 위로 커서를 가져 가서 자세한 정보를 찾습니다.\n" +"또는이 버튼을 클릭하십시오." + +#: src/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "기본 설정입니다." + +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "시스템 설정입니다." + +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "전의 설정에서 가져 옵니다 " + +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " +msgstr "삭제하거나 수정할 수 없습니다. " + +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "모든 수정 사항은 이 항목에서 받은 기본 설정으로 저장해야합니다. " + +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "그렇게하려면 기본 설정의 새 이름을 지정하십시오." + +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "추가 정보:" + +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" +msgstr "프린터 모델" + +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" +msgstr "기본 인쇄 프로파일" + +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" +msgstr "기본 필라멘트 프로파일" + +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "레이어 및 경계선" + +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "레이어 높이" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Re-configure" -msgstr "재구성" +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "쉘 높이" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 -#, c-format +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "쉘 너비" + +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "솔리드 레이어" + +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "품질(슬라이싱이 느려짐)" + +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "출력 시간 단축" + +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "스커트와 브림" + +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "라프트" + +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "서포트와 라프트 재료를 선택" + +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "출력중 이동 속도" + +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "미출력시 이동속도" + +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "수정" + +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "가속 제어(고급)" + +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "오토스피트(고급)" + +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "다중 익스트루더" + +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "오즈 방지(Ooze prevention)" + +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "악출 폭(Extrusion width)" + +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "겹침(Overlap)" + +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "유량(Flow)" + +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "그 외" + +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "출력 옵션" + +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "연속 인쇄" + +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "익스트루더 간격(mm)" + +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "출력 파일" + +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "포스트 프로세싱 스크립트" + +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "메모" + +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "속한 그룹" + +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "프로파일 종석성" + +#: src/slic3r/GUI/Tab.cpp:1161 +#, no-c-format msgid "" -"Slic3r PE now uses an updated configuration structure.\n" +"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" +"- one 둘레\n" +"- 탑 솔리드 레이어 없음\n" +"- 채우기(fill) 밀도 0 %\n" +"- 서포트 재료 없음\n" +"- 수직 벽 두깨를 보장하지 않음\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" +"스파이럴 바이스를 사용하려면 이러한 설정을 조정해야합니까?" + +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "스파이럴 바이스" + +#: src/slic3r/GUI/Tab.cpp:1191 +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" -"Please proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." +"Shall I adjust those settings in order to enable the Wipe Tower?" msgstr "" -"Slic3r PE는 이제 업데이트 된 구성 구조를 사용합니다.\n" +"와이퍼 타워는 현재 비 가용성 서포트 만 지원합니다.\n" +"공구 교환을 트리거하지 않고 현재 압출기로 인쇄 한 경우.\n" +"(support_material_extruder 및 support_material_interface_extruder를 모두 0으" +"로 설정해야 함).\n" +"\n" +"와이퍼 타워를 사용하려면 이러한 설정을 조정해야합니까?" + +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "와이프 타워(Wipe Tower)" + +#: src/slic3r/GUI/Tab.cpp:1209 +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" -"'시스템 사전 설정'이 도입되어 다양한 프린터에 기본 제공되는 기본 설정이 유지됩니다. 이러한 시스템 사전 설정은 수정할 수 없으며 대신 사용자는 시스템 사전 설정 중 하나에서 설정을 상속하는 자체 사전 설정을 만들 수 있습니다.\n" -"상속 된 사전 설정은 부모로부터 특정 값을 상속 받거나 사용자 정의 값으로 대체 할 수 있습니다.\n" +"Shall I synchronize support layers in order to enable the Wipe Tower?" +msgstr "" +"와이퍼 타워가 가용성 서포트와 함께 작용하기 위해, 서포트 레이어\n" +"객체 레이어와 동기화되어야합니다.\n" "\n" -"새 사전 설정을 설정하고 자동 사전 설정 업데이트를 사용할지 여부를 선택하려면 다음의 % s을 계속 진행하십시오." +"와이퍼 타워를 사용하려면 서포트 레이어를 동기화해야합니까?" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 -msgid "For more information please visit our wiki page:" -msgstr "자세한 정보는 위키 페이지를 참조하십시오 :" +#: src/slic3r/GUI/Tab.cpp:1227 +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" +"서포트에 대한 설정을 조정해야합니까?" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:9 -msgid "Ramming customization" -msgstr "사용자 정의 다지기(Ramming)" +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "서포트 생성" + +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "The " -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:35 +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format 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" +" infill pattern is not supposed to work at 100% density.\n" "\n" -"This is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." +"Shall I switch to rectilinear fill pattern?" msgstr "" -"래밍은 단일 압출기 MM 프린터에서 공구 교환 직전의 신속한 압출을 나타냅니다. 그 목적은 언로드 된 필라멘트의 끝 부분을 적절히 형성하여 새로운 필라멘트의 삽입을 방지하고 나중에 다시 삽입 할 수 있도록하기위한 것입니다. 이 단계는 중요하며 다른 재료는 좋은 모양을 얻기 위해 다른 압출 속도를 요구할 수 있습니다. 이러한 이유로, 래밍 중 압출 속도는 조정 가능합니다.\n" +" infill 패턴은 100 % 밀도에서 작동하지 않습니다.\n" "\n" -"전문가 수준의 설정이므로 잘못된 조정으로 인해 용지 걸림, 압출기 휠이 필라멘트 등에 연삭 될 수 있습니다." +"직선 채우기 패턴으로 전환해야합니까?" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:77 -msgid "Total ramming time" -msgstr "총 래밍 시간" +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "온도 " -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:79 -msgid "Total rammed volume" -msgstr "총 레미드 양" +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" +msgstr "배드(Bed)" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:83 -msgid "Ramming line width" -msgstr "래밍 선 너비" +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "냉각(Cooling)" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:85 -msgid "Ramming line spacing" -msgstr "래밍 선 간격" +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "사용" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:137 -msgid "Wipe tower - Purging volume adjustment" -msgstr "와이프 타워 - 버려진 필라멘트 조절" +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "팬 설정" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218 -msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." -msgstr "여기서 주어진 도구 쌍에 필요한 정화 용량 (mm³)을 조정할 수 있습니다." +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "팬 속도" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:219 -msgid "Extruder changed to" -msgstr "익스트루더 번경" +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "냉각 임계 값" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:227 -msgid "unloaded" -msgstr "언로드(unloaded)" +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "필라멘트 특성" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:228 -msgid "loaded" -msgstr "로드(loaded)" +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "인쇄 속도 중단" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 -msgid "Tool #" -msgstr "툴(Tool) #" +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" +msgstr "싱글 익스트루더 MM 프린터를 사용한 공구 교환 매개 변수" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:240 -msgid "Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded." -msgstr "총 정화 량은 어느 공구가로드 / 언로드되는지에 따라 아래의 두 값을 합산하여 계산됩니다." +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" +msgstr "래밍 설정" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241 -msgid "Volume to purge (mm³) when the filament is being" -msgstr "제거할 필라멘트 양 (mm³)" +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "수동 G코드" + +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "스타트 G코드" + +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "엔드 G코드" + +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr " 검색 " + +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "시험(test)" + +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "성공!" + +#: src/slic3r/GUI/Tab.cpp:1636 +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/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "인증서 파일 (* .crt, * .pem) | * .crt; * .pem | 모든 파일 | *. *" + +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" +msgstr "Open CA certificate file" + +#: src/slic3r/GUI/Tab.cpp:1676 +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:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "크기와 좌표" + +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr " 세트 " + +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "기능" + +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "프린터 익스트루더 숫자." + +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "USB/시리얼 연결" + +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "시리얼 포트" + +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "시리얼포트 재검색" + +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "프린터 연결이 올바르게 작동합니다." + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "연결 실패." + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "레이어 변경 전 G 코드" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "레이어 변경 후 G 코드" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "툴 채인지 G 코드" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:255 -msgid "From" -msgstr "From" +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "객체 간 G 코드 (순차 인쇄용)" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:320 -msgid "" -"Switching to simple settings will discard changes done in the advanced mode!\n" -"\n" -"Do you want to proceed?" +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" msgstr "" -"단순 설정으로 전환하면 고급 모드에서 수행된 변경 내용이 삭제됨!\n" -"\n" -"계속하시겠습니까?" - -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:332 -msgid "Show simplified settings" -msgstr "간단한 설정보기" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:332 -msgid "Show advanced settings" -msgstr "고급 설정보기" +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" +msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:33 -msgid "Send G-Code to printer" -msgstr "프린터에 G 코드 전송" +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" +msgstr "머신 한계설정" -#: xs/src/slic3r/Utils/OctoPrint.cpp:33 -msgid "Upload to OctoPrint with the following filename:" -msgstr "OctoPrint에 다음 파일명으로 업로드하십시오 :" +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" +msgstr "이 열의 값은 최대 전력 모드입니다" -#: xs/src/slic3r/Utils/OctoPrint.cpp:35 -msgid "Start printing after upload" -msgstr "업로드 후 인쇄 시작" +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" +msgstr "최대 파워" -#: xs/src/slic3r/Utils/OctoPrint.cpp:37 -msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "필요한 경우 디렉토리 분리 기호로 슬래시 (/)를 사용하십시오." +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" +msgstr "이 열의 값은 무음 모드 용입니다" -#: xs/src/slic3r/Utils/OctoPrint.cpp:98 -msgid "Error while uploading to the OctoPrint server" -msgstr "OctoPrint 서버에 업로드하는 동안 오류가 발생했습니다." +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" +msgstr "무음" -#: xs/src/slic3r/Utils/OctoPrint.cpp:111 lib/Slic3r/GUI/Plater.pm:1558 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "OctoPrint 서버에 G 코드 파일 보내기 ..." +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" +msgstr "최대 이송속도" -#: xs/src/slic3r/Utils/PresetUpdater.cpp:544 -#, c-format -msgid "requires min. %s and max. %s" -msgstr "최소. %s 와 최대. %s" +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" +msgstr "최고 가속도" -#: xs/src/libslic3r/Print.cpp:553 -msgid "All objects are outside of the print volume." -msgstr "모든 개체가 인쇄 볼륨 외부에 있습니다." +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" +msgstr "저크(Jerk)값 한계" -#: xs/src/libslic3r/Print.cpp:579 -msgid "Some objects are too close; your extruder will collide with them." -msgstr "일부 개체가 너무 가깝습니다. 귀하의 압출기가 그들과 충돌합니다." +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" +msgstr "최대 이송속도" -#: xs/src/libslic3r/Print.cpp:594 -msgid "Some objects are too tall and cannot be printed without extruder collisions." -msgstr "일부 개체는 너무 크고 익스트루더 충돌없이 인쇄 할 수 없습니다." +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" +msgstr "싱글 익스트루더 MM 설정" -#: xs/src/libslic3r/Print.cpp:604 -msgid "The Spiral Vase option can only be used when printing a single object." -msgstr "나선형 꽃병(Spiral Vase) 옵션은 단일 개체를 인쇄 할 때만 사용할 수 있습니다." +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" +msgstr "싱글 익스트루더 멀티메터리알 파라미터" -#: xs/src/libslic3r/Print.cpp:606 -msgid "The Spiral Vase option can only be used when printing single material objects." -msgstr "나선형 꽃병 옵션(Spiral Vase)은 단일 재료 객체를 인쇄 할 때만 사용할 수 있습니다." +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "익스트루더 %d" -#: xs/src/libslic3r/Print.cpp:612 -msgid "All extruders must have the same diameter for single extruder multimaterial printer." -msgstr "모든 익스트루더는 멀티메터리얼 프린터의 싱글 익스트루더에 대해 동일한 직경을 가져야합니다." +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "레이어 높이 한계치" -#: xs/src/libslic3r/Print.cpp:617 -msgid "The Wipe Tower is currently only supported for the Marlin and RepRap/Sprinter G-code flavors." -msgstr "현재 Wipe Tower는 Marlin 및 RepRap / Sprinter G 코드의 경우에만 지원됩니다." +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "위치 (멀티 익스트루더 프린터 포함)" -#: xs/src/libslic3r/Print.cpp:619 -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/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "리트렉션" -#: xs/src/libslic3r/Print.cpp:631 -msgid "The Wipe Tower is only supported for multiple objects if they have equal layer heigths" -msgstr "와이프 타워 (Wipe Tower)는 같은 레이어 높이에 경우 여러 객체에 대해서만 지원됩니다." +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "Z축만 올림" -#: xs/src/libslic3r/Print.cpp:633 -msgid "The Wipe Tower is only supported for multiple objects if they are printed over an equal number of raft layers" -msgstr "와이프 타워는 같은 수의 라프트 레이어 위에 인쇄 된 경우 여러 객체에 대해서만 지원됩니다" +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" +msgstr "도구 비활성화시 리트렉션 (멀티 익스트루더 고급 설정)" -#: xs/src/libslic3r/Print.cpp:635 -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/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "프리뷰" -#: xs/src/libslic3r/Print.cpp:637 -msgid "The Wipe Tower is only supported for multiple objects if they are sliced equally." -msgstr "와이프 타워는 똑같이 슬라이스 된 경우 여러 오브젝트에 대해서만 지원됩니다." +#: src/slic3r/GUI/Tab.cpp:2284 +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 "" +"펌웨어 리트렉션 모드를 사용할 때는 Wipe 옵션을 사용할 수 없습니다.\n" +"\n" +"펌웨어 리트렉션 하려면 비활성화해야합니까?" -#: xs/src/libslic3r/Print.cpp:661 -msgid "The Wipe tower is only supported if all objects have the same layer height profile" -msgstr "모든 오브젝트의 레이어 높이 프로필이 동일한 경우에만 와이프 타워가 지원됩니다." +#: src/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" +msgstr "펌웨어 레트렉션" -#: xs/src/libslic3r/Print.cpp:670 -msgid "The supplied settings will cause an empty print." -msgstr "제공된 설정으로 인해 빈 인쇄가 발생합니다." +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" +msgstr "시스템 기본값 (%s)" -#: xs/src/libslic3r/Print.cpp:680 -msgid "One or more object were assigned an extruder that the printer does not have." -msgstr "하나 이상의 개체에 프린터에없는 압출기가 지정되었습니다." +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" +msgstr "" -#: xs/src/libslic3r/Print.cpp:689 -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/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" +msgstr "저장되지 않은 수정사항:" -#: xs/src/libslic3r/Print.cpp:695 -msgid "first_layer_height" -msgstr "first_layer_height" +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" +msgstr "프린터와 호완 되지 않습니다" -#: xs/src/libslic3r/Print.cpp:710 -msgid "First layer height can't be greater than nozzle diameter" -msgstr "첫번째 레이어 높이는 노즐 직경보다 클 수 없습니다." +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" +msgstr "" -#: xs/src/libslic3r/Print.cpp:714 -msgid "Layer height can't be greater than nozzle diameter" -msgstr "레이어 높이는 노즐 직경보다 클 수 없습니다." +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" +msgstr "저장되지 않은 변경점은 다음과 같습니다:" -#: xs/src/libslic3r/Print.cpp:1196 -msgid "Failed processing of the output_filename_format template." -msgstr "Failed processing of the output_filename_format template." +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" +msgstr "수정된 사항을 취소하고 계속하겠습니까?" -#: xs/src/libslic3r/PrintConfig.cpp:29 -msgid "Avoid crossing perimeters" -msgstr "출력된 외측을 피하세요" +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "미 저장된 변경점" -#: xs/src/libslic3r/PrintConfig.cpp:30 -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." -msgstr "둘레의 교차를 최소화하기 위해 여행 이동을 최적화하십시오. 이것은 보 잉 (Bowling) 압출기가 흘러 나오기 쉬운 경우에 주로 유용합니다. 이 기능을 사용하면 인쇄 및 G 코드 생성 속도가 느려집니다." +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:41 xs/src/libslic3r/PrintConfig.cpp:1818 -msgid "Other layers" -msgstr "다른 레이어" +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:42 -msgid "Bed temperature for layers after the first one. Set this to zero to disable bed temperature control commands in the output." -msgstr "첫 번째 레이어 이후의 레이어 온도. 이 값을 0으로 설정하면 출력에서 ​​베드 온도 제어 명령을 비활성화합니다." +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "파일 이름이 비어 있습니다. 저장할 수 없습니다." -#: xs/src/libslic3r/PrintConfig.cpp:45 -msgid "Bed temperature" -msgstr "배드 온도" +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." +msgstr "시스템 프로파일을 겹쳐 쓸 수 없습니다." -#: xs/src/libslic3r/PrintConfig.cpp:52 -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 이동 직전의 모든 레이어 변경에 삽입됩니다. [Slide3r] 설정과 [layer_num] 및 [layer_z]에 대한 자리 표시 자 변수를 사용할 수 있습니다." +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." +msgstr "외부 프로필을 덮어 쓸 수 없습니다." -#: xs/src/libslic3r/PrintConfig.cpp:62 -msgid "Between objects G-code" -msgstr "객체 간 G 코드" +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "제거(remove)" -#: xs/src/libslic3r/PrintConfig.cpp:63 -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." -msgstr "이 코드는 순차 인쇄를 사용할 때 객체간에 삽입됩니다. 기본적으로 익스트루더 및 베드 온도는 대기 모드가 아닌 명령을 사용하여 재설정됩니다. 그러나 이 사용자 코드에서 M104, M109, M140 또는 M190이 감지되면 Slic3r은 온도 명령을 추가하지 않습니다. 모든 Slic3r 설정에 자리 표시 변수를 사용할 수 있으므로 원하는 위치에 \"M109 S [first_layer_temperature]\"명령을 넣을 수 있습니다." +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "지우기(delete)" -#: xs/src/libslic3r/PrintConfig.cpp:71 lib/Slic3r/GUI/MainFrame.pm:328 -msgid "Bottom" -msgstr "바닥(Bottom)" +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "정말로 다음과 같이 하겠습니까? " -#: xs/src/libslic3r/PrintConfig.cpp:72 xs/src/libslic3r/PrintConfig.cpp:276 -#: xs/src/libslic3r/PrintConfig.cpp:327 xs/src/libslic3r/PrintConfig.cpp:335 -#: xs/src/libslic3r/PrintConfig.cpp:701 xs/src/libslic3r/PrintConfig.cpp:871 -#: xs/src/libslic3r/PrintConfig.cpp:887 xs/src/libslic3r/PrintConfig.cpp:1156 -#: xs/src/libslic3r/PrintConfig.cpp:1222 xs/src/libslic3r/PrintConfig.cpp:1400 -#: xs/src/libslic3r/PrintConfig.cpp:1829 xs/src/libslic3r/PrintConfig.cpp:1885 -msgid "Layers and Perimeters" -msgstr "레이어 및 경계선" +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr " 를(가) 선택된 설정을 실행 할까요?" -#: xs/src/libslic3r/PrintConfig.cpp:73 -msgid "Number of solid layers to generate on bottom surfaces." -msgstr "바닥면에 생성 할 솔리드 레이어의 수." +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "제거(remove)" -#: xs/src/libslic3r/PrintConfig.cpp:75 -msgid "Bottom solid layers" -msgstr "바닥 단일 레이어" +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr " 기본 설정" -#: xs/src/libslic3r/PrintConfig.cpp:80 -msgid "Bridge" -msgstr "브리지" +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "모두 선택" -#: xs/src/libslic3r/PrintConfig.cpp:81 -msgid "This is the acceleration your printer will use for bridges. Set zero to disable acceleration control for bridges." -msgstr "이것은 프린터가 브릿지에 사용할 가속도입니다. 브리지의 가속 제어를 사용하지 않으려면 0으로 설정하십시오." +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "자물쇠 잠금 : 설정이 현재 옵션 그룹의 시스템 값과 동일 함을 나타냅니다" -#: xs/src/libslic3r/PrintConfig.cpp:83 xs/src/libslic3r/PrintConfig.cpp:199 -#: xs/src/libslic3r/PrintConfig.cpp:673 xs/src/libslic3r/PrintConfig.cpp:781 -#: xs/src/libslic3r/PrintConfig.cpp:931 xs/src/libslic3r/PrintConfig.cpp:972 -#: xs/src/libslic3r/PrintConfig.cpp:982 xs/src/libslic3r/PrintConfig.cpp:1185 -msgid "mm/s²" +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." msgstr "" +"잠금 풀림 : 일부 설정이 변경되었으며 현재 옵션 그룹의 시스템 값과 같지 않음" +"을 나타냅니다.\n" +"현재 옵션 그룹의 모든 설정을 시스템 값으로 재설정하려면 자물쇠 잠금 아이콘을 " +"클릭하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:89 -msgid "Bridging angle" -msgstr "브릿지 각도" +#: src/slic3r/GUI/Tab.cpp:2878 +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." +msgstr "" +"흰색 총알; 왼쪽 버튼 : 시스템이 아닌 사전 설정을 나타내며,\n" +"오른쪽 버튼의 경우 : 설정이 수정되지 않았 음을 나타냅니다." -#: xs/src/libslic3r/PrintConfig.cpp:91 -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." -msgstr "브리징 각도 오버라이드(override)값이. 왼쪽으로 0 일 경우 브리징 각도가 자동으로 계산됩니다. 그렇지 않으면 제공된 각도가 모든 브리지에 사용됩니다. 각도 제로는 180 °를 사용하십시오." +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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" +"현재 옵션 그룹의 모든 설정을 시스템 값으로 재설정하려면 자물쇠 잠금 아이콘을 " +"클릭하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:94 xs/src/libslic3r/PrintConfig.cpp:589 -#: xs/src/libslic3r/PrintConfig.cpp:1418 xs/src/libslic3r/PrintConfig.cpp:1429 -#: xs/src/libslic3r/PrintConfig.cpp:1649 xs/src/libslic3r/PrintConfig.cpp:1803 -msgid "°" +#: src/slic3r/GUI/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" msgstr "" +"자물쇠 잠금 아이코 설정이 현재 옵션 그룹의 시스템 값과 동일 함을 나타냅니다" -#: xs/src/libslic3r/PrintConfig.cpp:100 -msgid "Bridges fan speed" -msgstr "브릿지 팬 속도" +#: src/slic3r/GUI/Tab.cpp:2910 +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." +msgstr "" +"잠금 풀림 아이코 일부 설정이 변경되었으며 현재 옵션 그룹의 시스템 값과 같지 " +"않음을 나타냅니다.\n" +"현재 옵션 그룹의 모든 설정을 시스템 값으로 재설정하려면 자물쇠 잠금 아이콘을 " +"클릭하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:101 -msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "이 팬 속도는 모든 브릿지 및 오버행 중에 적용됩니다." +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "흰색 글머리 아이콘은 시스템 사전 설정이 아닌 것을 나타냅니다." -#: xs/src/libslic3r/PrintConfig.cpp:102 xs/src/libslic3r/PrintConfig.cpp:601 -#: xs/src/libslic3r/PrintConfig.cpp:990 xs/src/libslic3r/PrintConfig.cpp:1058 -#: xs/src/libslic3r/PrintConfig.cpp:1308 -msgid "%" +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." msgstr "" +"흰색 글머리 기호 아이콘은 설정이 현재 옵션 그룹에 대해 마지막으로 저장 된 사" +"전 설정과 동일 하다는 것을 나타냅니다." -#: xs/src/libslic3r/PrintConfig.cpp:109 -msgid "Bridge flow ratio" -msgstr "브릿지 유량(flow)값" +#: src/slic3r/GUI/Tab.cpp:2918 +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" +"마지막 현재 옵션 그룹에 대 한 모든 설정 다시 설정을 클릭 하 여 사전 설정을 저" +"장." -#: xs/src/libslic3r/PrintConfig.cpp:111 -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." -msgstr "이 요인은 브리징을위한 플라스틱의 양에 영향을 미칩니다. 압출 성형물을 잡아 당겨 처짐을 방지하기 위해 약간 줄일 수 있지만 기본 설정은 일반적으로 좋지만이 문제를 해결하기 전에 냉각 (팬 사용)을 시도해야합니다." +#: src/slic3r/GUI/Tab.cpp:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "잠긴 자물쇠 아이콘 값 같은 시스템 값 임을 나타냅니다." -#: xs/src/libslic3r/PrintConfig.cpp:121 -msgid "Bridges" -msgstr "브릿지(Bridges)" +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" +"잠금 해제 자물쇠 아이콘 값 변경 된 시스템 값은 나타냅니다.\n" +"시스템 값을 현재 값으로 설정 하려면 클릭 합니다." -#: xs/src/libslic3r/PrintConfig.cpp:123 -msgid "Speed for printing bridges." -msgstr "브릿지 인쇄 속도" - -#: xs/src/libslic3r/PrintConfig.cpp:124 xs/src/libslic3r/PrintConfig.cpp:471 -#: xs/src/libslic3r/PrintConfig.cpp:480 xs/src/libslic3r/PrintConfig.cpp:508 -#: xs/src/libslic3r/PrintConfig.cpp:516 xs/src/libslic3r/PrintConfig.cpp:735 -#: xs/src/libslic3r/PrintConfig.cpp:846 xs/src/libslic3r/PrintConfig.cpp:922 -#: xs/src/libslic3r/PrintConfig.cpp:940 xs/src/libslic3r/PrintConfig.cpp:952 -#: xs/src/libslic3r/PrintConfig.cpp:962 xs/src/libslic3r/PrintConfig.cpp:1019 -#: xs/src/libslic3r/PrintConfig.cpp:1076 xs/src/libslic3r/PrintConfig.cpp:1214 -#: xs/src/libslic3r/PrintConfig.cpp:1385 xs/src/libslic3r/PrintConfig.cpp:1394 -#: xs/src/libslic3r/PrintConfig.cpp:1782 xs/src/libslic3r/PrintConfig.cpp:1895 -msgid "mm/s" -msgstr "mm/s" +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" +"흰색 글머리 기호 아이콘은 마지막으로 저장 한 사전 설정과 동일한 값을 나타냅니" +"다." -#: xs/src/libslic3r/PrintConfig.cpp:131 -msgid "Brim width" -msgstr "브림 폭" +#: src/slic3r/GUI/Tab.cpp:2932 +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" +"시스템 값을 현재 값으로 설정 하려면 클릭 합니다." -#: xs/src/libslic3r/PrintConfig.cpp:132 -msgid "Horizontal width of the brim that will be printed around each object on the first layer." -msgstr "첫 번째 레이어의 각 객체 주위에 인쇄 될 가장자리의 가로 폭입니다." +#: src/slic3r/GUI/Tab.cpp:3031 +msgid " as:" +msgstr " as:" -#: xs/src/libslic3r/PrintConfig.cpp:139 -msgid "Clip multi-part objects" -msgstr "여러 파트 오브젝트 클립" +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "다음 접미사는 허용되지 않습니다:" -#: xs/src/libslic3r/PrintConfig.cpp:140 -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 "멀티 메터리얼(multi-material) 개체를 인쇄 할 때이 설정을 사용하면 겹치는 개체 파트를 서로 겹쳐서 잘라낼 수 있습니다 (두 번째 부분은 첫 번째 부분에서 클리핑되며 세 번째 부분은 첫 번째 및 두 번째 부분에서 잘립니다)." +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "The supplied name is not available." -#: xs/src/libslic3r/PrintConfig.cpp:151 -msgid "Compatible printers condition" -msgstr "호환 가능한 프린터 조건" +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:152 -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/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "레이어" -#: xs/src/libslic3r/PrintConfig.cpp:163 -msgid "Complete individual objects" -msgstr "개별 개체 완성" +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:164 -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 "여러 객체 또는 사본을 인쇄 할 때이 객체는 다음 객체로 이동하기 전에 각 객체를 완성합니다 (맨 아래 레이어에서 시작). 이 기능은 인쇄물이 망가지는 위험을 피할 때 유용합니다. Slic3r은 압출기 충돌을 경고하고 예방해야하지만 조심하십시오." +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:172 -msgid "Enable auto cooling" -msgstr "자동 냉각 사용" +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:173 -msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." -msgstr "이 플래그는 레이어 인쇄 시간에 따라 인쇄 속도와 팬 속도를 조정하는 자동 냉각 논리를 활성화합니다." +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:179 -msgid "Cooling tube position" -msgstr "냉각 튜브 위치" +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:180 -msgid "Distance of the center-point of the cooling tube from the extruder tip " -msgstr "압출기 팁에서 냉각 튜브의 중심점까지의 거리 " +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "출력 설정" -#: xs/src/libslic3r/PrintConfig.cpp:187 -msgid "Cooling tube length" -msgstr "냉각 튜브 길이" +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "필라멘트 설정" -#: xs/src/libslic3r/PrintConfig.cpp:188 -msgid "Length of the cooling tube to limit space for cooling moves inside it " -msgstr "내부의 냉각 이동을 위해 공간을 제한하는 냉각 튜브의 길이" +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "프린터 설정" -#: xs/src/libslic3r/PrintConfig.cpp:196 -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." -msgstr "역할 별 가속도 값이 사용 된 후에 프린터가 재설정되는 속도입니다 (둘레 / 충전). 가속을 전혀 재설정하지 않으려면 0으로 설정하십시오." +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:205 -msgid "Default filament profile" -msgstr "기본 필라멘트 프로파일" +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "사전 설정 저장" -#: xs/src/libslic3r/PrintConfig.cpp:206 -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/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "사용가능한 업데이트" -#: xs/src/libslic3r/PrintConfig.cpp:211 -msgid "Default print profile" -msgstr "기본 인쇄 프로파일" +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "새로운 버전의 Slic3r PE 사용 가능" -#: xs/src/libslic3r/PrintConfig.cpp:212 -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/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "다운로드하려면 아래 링크를 클릭하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:217 -msgid "Disable fan for the first" -msgstr "첫 번째 팬 사용 중지" +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "현재 버전:" -#: xs/src/libslic3r/PrintConfig.cpp:218 -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." -msgstr "이 값을 양수 값으로 설정하면 첫 번째 레이어에서 팬을 사용하지 않도록 설정하여 접착력을 악화시키지 않습니다." +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "새로운 버전:" -#: xs/src/libslic3r/PrintConfig.cpp:220 xs/src/libslic3r/PrintConfig.cpp:791 -#: xs/src/libslic3r/PrintConfig.cpp:1281 xs/src/libslic3r/PrintConfig.cpp:1472 -#: xs/src/libslic3r/PrintConfig.cpp:1533 xs/src/libslic3r/PrintConfig.cpp:1685 -#: xs/src/libslic3r/PrintConfig.cpp:1730 -msgid "layers" -msgstr "레이어" +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "새로운 수정사항에 대해 더 이상 알림 안 함" -#: xs/src/libslic3r/PrintConfig.cpp:227 -msgid "Don't support bridges" -msgstr "서포트와 브릿지를 사용하지 마세요." +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "구성 업데이트" -#: xs/src/libslic3r/PrintConfig.cpp:229 -msgid "Experimental option for preventing support material from being generated under bridged areas." -msgstr "브릿지 영역 아래에 서포팅 재료가 생성되는 것을 방지하기위한 실험적 옵션." +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "구성 업데이트를 사용할 수 있음" -#: xs/src/libslic3r/PrintConfig.cpp:235 -msgid "Distance between copies" -msgstr "복사본 간 거리" +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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 "" +"그것을 설치 하시겠습니까?\n" +"\n" +"전체 구성 스냅 샷이 먼저 만들어집니다. 그런 다음 새 버전에 문제가있을 경우 언" +"제든지 복원 할 수 있습니다.\n" +"\n" +"업데이트 된 구성 번들 :" -#: xs/src/libslic3r/PrintConfig.cpp:236 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "플래터(plater)의 자동 정렬 기능에 사용되는 거리입니다." +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "Slic3r와 호환 되지 않음" -#: xs/src/libslic3r/PrintConfig.cpp:244 -msgid "Elephant foot compensation" -msgstr "코끼리 발(Elephant foot) 보상값" +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "Slic3r 구성이 호환되지 않습니다" -#: xs/src/libslic3r/PrintConfig.cpp:246 -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 평면에서 수축되어 일층 스 퀴시 코끼리발(Elephant Foot) 효과를 보완합니다." +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" +"이 버전의 Slic3r PE는 현재 설치된 구성 번들과 호환되지 않습니다.\n" +"이것은 아마도 새로운 Slic3r PE를 사용한 후에 실행 된 결과 일 것입니다.\n" +"\n" +"Slic3r을 종료하고 새 버전으로 다시 시도하거나 초기 구성을 다시 실행할 수 있습" +"니다. 이렇게하면이 Slic3r과 호환되는 파일을 설치하기 전에 기존 구성의 백업 스" +"냅 샷을 생성 할 수 있습니다.\n" -#: xs/src/libslic3r/PrintConfig.cpp:255 -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 설정에 자리 표시자 변수를 사용할 수 있다는 점에 유의하십시오." +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" +msgstr "이 Slic3r PE 버전 : % s" -#: xs/src/libslic3r/PrintConfig.cpp:265 -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 설정에 자리 표시자 변수를 사용할 수 있다는 점에 유의하십시오. 여러 개의 압출부가 있는 경우, 그 코드는 압출 순서대로 처리된다." +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "호환되지 않는 번들 :" -#: xs/src/libslic3r/PrintConfig.cpp:275 -msgid "Ensure vertical shell thickness" -msgstr "수직 쉘(shell) 두께 확인" +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "Exit Slic3r" -#: xs/src/libslic3r/PrintConfig.cpp:277 -msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)." -msgstr "경사 표면 근처에 솔리드 인필을 추가하여 수직 셸 두께(상단+하단 솔리드 레이어)를 보장하십시오." +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "재구성" -#: xs/src/libslic3r/PrintConfig.cpp:283 -msgid "Top/bottom fill pattern" -msgstr "상단/하단 채우기(fill) 패턴" +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format +msgid "" +"Slic3r PE 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 "" +"Slic3r PE는 이제 업데이트 된 구성 구조를 사용합니다.\n" +"\n" +"'시스템 사전 설정'이 도입되어 다양한 프린터에 기본 제공되는 기본 설정이 유지" +"됩니다. 이러한 시스템 사전 설정은 수정할 수 없으며 대신 사용자는 시스템 사전 " +"설정 중 하나에서 설정을 상속하는 자체 사전 설정을 만들 수 있습니다.\n" +"상속 된 사전 설정은 부모로부터 특정 값을 상속 받거나 사용자 정의 값으로 대체 " +"할 수 있습니다.\n" +"\n" +"새 사전 설정을 설정하고 자동 사전 설정 업데이트를 사용할지 여부를 선택하려면 " +"다음의 % s을 계속 진행하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:285 -msgid "Fill pattern for top/bottom infill. This only affects the external visible layer, and not its adjacent solid shells." -msgstr "상단/하단 주입의 채우기 패턴은 인접한 외부면이 아닌 외부 솔리드 층에만 영향을 미친다." +#: src/slic3r/GUI/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "자세한 정보는 위키 페이지를 참조하십시오 :" -#: xs/src/libslic3r/PrintConfig.cpp:294 xs/src/libslic3r/PrintConfig.cpp:654 -#: xs/src/libslic3r/PrintConfig.cpp:1764 -msgid "Rectilinear" -msgstr "직선면(Rectilinear)" +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "사용자 정의 다지기(Ramming)" -#: xs/src/libslic3r/PrintConfig.cpp:295 xs/src/libslic3r/PrintConfig.cpp:660 -msgid "Concentric" -msgstr "동심원(Concentric)" +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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 "" +"래밍은 단일 압출기 MM 프린터에서 공구 교환 직전의 신속한 압출을 나타냅니다. " +"그 목적은 언로드 된 필라멘트의 끝 부분을 적절히 형성하여 새로운 필라멘트의 삽" +"입을 방지하고 나중에 다시 삽입 할 수 있도록하기위한 것입니다. 이 단계는 중요" +"하며 다른 재료는 좋은 모양을 얻기 위해 다른 압출 속도를 요구할 수 있습니다. " +"이러한 이유로, 래밍 중 압출 속도는 조정 가능합니다.\n" +"\n" +"전문가 수준의 설정이므로 잘못된 조정으로 인해 용지 걸림, 압출기 휠이 필라멘" +"트 등에 연삭 될 수 있습니다." -#: xs/src/libslic3r/PrintConfig.cpp:296 xs/src/libslic3r/PrintConfig.cpp:664 -msgid "Hilbert Curve" -msgstr "힐버트 곡선(Hilbert Curve)" +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 +msgid "Total ramming time" +msgstr "총 래밍 시간" -#: xs/src/libslic3r/PrintConfig.cpp:297 xs/src/libslic3r/PrintConfig.cpp:665 -msgid "Archimedean Chords" -msgstr "아르키메데우스(Archimedean Chords)" +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "총 레미드 양" -#: xs/src/libslic3r/PrintConfig.cpp:298 xs/src/libslic3r/PrintConfig.cpp:666 -msgid "Octagram Spiral" -msgstr "옥타그램 나선(Octagram Spiral)" +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "래밍 선 너비" -#: xs/src/libslic3r/PrintConfig.cpp:304 xs/src/libslic3r/PrintConfig.cpp:314 -msgid "External perimeters" -msgstr "외측 둘레" +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "래밍 선 간격" -#: xs/src/libslic3r/PrintConfig.cpp:305 xs/src/libslic3r/PrintConfig.cpp:415 -#: xs/src/libslic3r/PrintConfig.cpp:689 xs/src/libslic3r/PrintConfig.cpp:807 -#: xs/src/libslic3r/PrintConfig.cpp:1200 xs/src/libslic3r/PrintConfig.cpp:1540 -#: xs/src/libslic3r/PrintConfig.cpp:1702 xs/src/libslic3r/PrintConfig.cpp:1860 -msgid "Extrusion Width" -msgstr "압출 폭" +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "와이프 타워 - 버려진 필라멘트 조절" -#: xs/src/libslic3r/PrintConfig.cpp:306 -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." -msgstr "외부 경계에 대한 수동 압출 폭을 설정하려면 이 값을 0이 아닌 값으로 설정하십시오. 0인 경우 기본 압출 너비가 사용되며, 그렇지 않으면 1.125 x 노즐 직경이 사용된다. 백분율(예: 200%)로 표현되는 경우, 레이어 높이에 걸쳐 계산된다." +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "여기서 주어진 도구 쌍에 필요한 정화 용량 (mm³)을 조정할 수 있습니다." -#: xs/src/libslic3r/PrintConfig.cpp:309 xs/src/libslic3r/PrintConfig.cpp:694 -#: xs/src/libslic3r/PrintConfig.cpp:812 xs/src/libslic3r/PrintConfig.cpp:1205 -#: xs/src/libslic3r/PrintConfig.cpp:1544 xs/src/libslic3r/PrintConfig.cpp:1706 -#: xs/src/libslic3r/PrintConfig.cpp:1865 -msgid "mm or % (leave 0 for default)" -msgstr "mm 또는 %(기본값의 경우 0으로 유지)" +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "익스트루더 번경" -#: xs/src/libslic3r/PrintConfig.cpp:316 -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." -msgstr "이 별도의 설정은 외부 경계선(시각적 경계선)의 속도에 영향을 미친다. 백분율(예: 80%)로 표현되는 경우 위의 Perimeter 속도 설정에 따라 계산된다. 자동을 위해 0으로 설정한다." +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "언로드(unloaded)" -#: xs/src/libslic3r/PrintConfig.cpp:319 xs/src/libslic3r/PrintConfig.cpp:716 -#: xs/src/libslic3r/PrintConfig.cpp:1503 xs/src/libslic3r/PrintConfig.cpp:1554 -#: xs/src/libslic3r/PrintConfig.cpp:1749 xs/src/libslic3r/PrintConfig.cpp:1877 -msgid "mm/s or %" -msgstr "mm/s 또는 %" +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "로드(loaded)" -#: xs/src/libslic3r/PrintConfig.cpp:326 -msgid "External perimeters first" -msgstr "외부 경계선 먼저" +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "툴(Tool) #" -#: xs/src/libslic3r/PrintConfig.cpp:328 -msgid "Print contour perimeters from the outermost one to the innermost one instead of the default inverse order." -msgstr "기본 역순 대신 가장 바깥쪽부터 가장 안쪽까지 윤곽선을 인쇄하십시오. 타겟 TTS복사하기번역 저장번역 저장번역 수정." +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" +"총 정화 량은 어느 공구가로드 / 언로드되는지에 따라 아래의 두 값을 합산하여 계" +"산됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:334 -msgid "Extra perimeters if needed" -msgstr "필요한 경우 추가 둘레" +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "제거할 필라멘트 양 (mm³)" -#: xs/src/libslic3r/PrintConfig.cpp:336 -#, no-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." -msgstr "경사 벽의 틈을 피하기 위해 필요한 경우 더 많은 perimeter를 추가하십시오. 위의 루프의 70% 이상이 지지될 때까지 Slic3r는 계속해서 perimeter를 추가한다." +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "From" -#: xs/src/libslic3r/PrintConfig.cpp:346 -msgid "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/slic3r/GUI/WipeTowerDialog.cpp:321 +msgid "" +"Switching to simple settings will discard changes done in the advanced " +"mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" +"단순 설정으로 전환하면 고급 모드에서 수행된 변경 내용이 삭제됨!\n" +"\n" +"계속하시겠습니까?" -#: xs/src/libslic3r/PrintConfig.cpp:358 lib/Slic3r/GUI/Plater/3DPreview.pm:75 -msgid "Height" -msgstr "높이" +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "간단한 설정보기" -#: xs/src/libslic3r/PrintConfig.cpp:359 -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." -msgstr "이것을 노즐 팁과 (일반적으로) X 캐리지 로드 사이의 수직 거리로 설정하십시오. 다시 말하면, 이것은 당신의 압출기 주위의 틈새 실린더의 높이이며, 그것은 다른 인쇄된 물체와 충돌하기 전에 압출기가 엿볼 수 있는 최대 깊이를 나타낸다." +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "고급 설정보기" -#: xs/src/libslic3r/PrintConfig.cpp:369 -msgid "Radius" -msgstr "반지름" +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:370 -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." -msgstr "이것을 당신의 압출기 주변의 간극 반경으로 설정하시오. 압출부가 중앙에 있지 않으면 안전을 위해 가장 큰 값을 선택하십시오. 이 설정은 충돌 여부를 확인하고 플래터에 그래픽 미리 보기를 표시하기 위해 사용된다." +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "OctoPrint에 연결하면 올바르게 작동합니다." -#: xs/src/libslic3r/PrintConfig.cpp:380 -msgid "Extruder Color" -msgstr "익스트루더 컬러" +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "OctoPrint에 연결할 수 없습니다" -#: xs/src/libslic3r/PrintConfig.cpp:381 xs/src/libslic3r/PrintConfig.cpp:444 -msgid "This is only used in the Slic3r interface as a visual help." -msgstr "이것은 시각적 도움말로 Slic3r 인터페이스에서만 사용된다." +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "참고 : OctoPrint 버전 1.1.0 이상이 필요합니다." -#: xs/src/libslic3r/PrintConfig.cpp:388 -msgid "Extruder offset" -msgstr "익스트루더 오프셋" +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:389 -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)." -msgstr "펌웨어가 압출기 위치 변경을 처리하지 못하면 G 코드를 고려해야합니다. 이 옵션을 사용하면 첫 번째 것에 대한 각 압출기의 변위를 지정할 수 있습니다. 양의 좌표가 필요합니다 (XY 좌표에서 뺍니다)." +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:398 -msgid "Extrusion axis" -msgstr "압출 축" +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "최소. %s 와 최대. %s" -#: xs/src/libslic3r/PrintConfig.cpp:399 -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를 사용합니다)." +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:405 -msgid "Extrusion multiplier" -msgstr "압출 승수" +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:406 -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." -msgstr "이 요소는 비례하여 유량의 양을 변경합니다. 멋진 서페이스 마무리와 단일 벽 너비를 얻기 위해이 설정을 조정해야 할 수도 있습니다. 일반적인 값은 0.9와 1.1 사이입니다. 이 값을 더 변경해야한다고 판단되면 필라멘트 직경과 펌웨어 E 단계를 확인하십시오." +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:414 -msgid "Default extrusion width" -msgstr "기본 압출 폭" +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:416 -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." -msgstr "수동 압출 폭을 허용하려면이 값을 0이 아닌 값으로 설정하십시오. 0으로 남겨두면 Slic3r은 노즐 직경에서 압출 폭을 도출합니다 (주변 압출 폭, 성형 압출 폭 등의 툴팁 참조). 백분율로 표시되는 경우 (예 : 230 %) 레이어 높이를 기준으로 계산됩니다." +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:420 -msgid "mm or % (leave 0 for auto)" -msgstr "mm 또는 % (자동으로 0을 유지)" +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:425 -msgid "Keep fan always on" -msgstr "항상 팬 켜기" +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:426 -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." -msgstr "이 기능을 사용하면 팬이 비활성화되지 않으며 최소한 최소 속도로 계속 회전합니다. PLA에 유용하며 ABS에 해롭다." +#: 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 "" -#: xs/src/libslic3r/PrintConfig.cpp:432 -msgid "Enable fan if layer print time is below" -msgstr "레이어 인쇄 시간이 미만인 경우 팬 활성화" +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:433 -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." -msgstr "레이어 인쇄 시간이이 초 미만으로 예상되는 경우 팬이 활성화되고 속도는 최소 및 최대 속도를 보간하여 계산됩니다." +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:435 xs/src/libslic3r/PrintConfig.cpp:1490 -msgid "approximate seconds" -msgstr "근사치 초" +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:443 -msgid "Color" -msgstr "색상" +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:450 -msgid "Filament notes" -msgstr "필라멘트 메모" +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:451 -msgid "You can put your notes regarding the filament here." -msgstr "여기에 필라멘트에 관한 메모를 넣을 수 있다." +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:459 xs/src/libslic3r/PrintConfig.cpp:1025 -msgid "Max volumetric speed" -msgstr "최대 체적 속도" +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:460 -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." -msgstr "이 필라멘트에 허용되는 최대 체적 속도. 인쇄물의 최대 체적 속도를 인쇄 및 필라멘트 체적 속도 최소로 제한한다. 제한 없음에 대해 0으로 설정하십시오." +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:463 xs/src/libslic3r/PrintConfig.cpp:1028 -msgid "mm³/s" +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:469 -msgid "Loading speed" -msgstr "로딩 속도" +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "모든 개체가 인쇄 볼륨 외부에 있습니다." -#: xs/src/libslic3r/PrintConfig.cpp:470 -msgid "Speed used for loading the filament on the wipe tower. " -msgstr "와이퍼 탑(wipe)에 필라멘트를 장착하는 데 사용되는 속도. " +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "일부 개체가 너무 가깝습니다. 귀하의 압출기가 그들과 충돌합니다." -#: xs/src/libslic3r/PrintConfig.cpp:477 -msgid "Unloading speed" -msgstr "언로딩 스피드" +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "일부 개체는 너무 크고 익스트루더 충돌없이 인쇄 할 수 없습니다." -#: xs/src/libslic3r/PrintConfig.cpp:478 -msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming). " -msgstr "와이퍼 타워에서 필라멘트를 언로드하는 데 사용되는 속도(램핑 후 바로 언로딩의 초기 부분에는 영향을 주지 않음)" +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" +"나선형 꽃병(Spiral Vase) 옵션은 단일 개체를 인쇄 할 때만 사용할 수 있습니다." -#: xs/src/libslic3r/PrintConfig.cpp:486 -msgid "Delay after unloading" -msgstr "언로드 후 딜레이" +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" +"나선형 꽃병 옵션(Spiral Vase)은 단일 재료 객체를 인쇄 할 때만 사용할 수 있습" +"니다." -#: xs/src/libslic3r/PrintConfig.cpp:487 -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. " -msgstr "필라멘트를 내린 후 기다리는 시간. 원래 치수로 축소하는 데 더 많은 시간이 필요할 수있는 유연한 재료로 신뢰할 수있는 공구 교환을 얻을 수 있습니다." +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" +"모든 익스트루더는 멀티메터리얼 프린터의 싱글 익스트루더에 대해 동일한 직경을 " +"가져야합니다." -#: xs/src/libslic3r/PrintConfig.cpp:496 -msgid "Number of cooling moves" -msgstr "쿨링 이동 숫자" +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:497 -msgid "Filament is cooled by being moved back and forth in the cooling tubes. Specify desired number of these moves " -msgstr "필라멘트는 냉각 튜브에서 앞뒤로 움직여 냉각됩니다. 원하는 이동 숫자 지정" +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" +"와이프 타워는 현재 상대적 압출기 어드레싱 (use_relative_e_distances = 1)에서" +"만 지원됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:505 -msgid "Speed of the first cooling move" -msgstr "첫 번째 냉각 이동 속도" +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" +"와이프 타워 (Wipe Tower)는 같은 레이어 높이에 경우 여러 객체에 대해서만 지원" +"됩니다" -#: xs/src/libslic3r/PrintConfig.cpp:506 -msgid "Cooling moves are gradually accelerating beginning at this speed. " -msgstr "냉각 속도가 서서히 빨라지고 있습니다. " +#: src/libslic3r/Print.cpp:1255 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"over an equal number of raft layers" +msgstr "" +"와이프 타워는 같은 수의 라프트 레이어 위에 인쇄 된 경우 여러 객체에 대해서만 " +"지원됩니다" -#: xs/src/libslic3r/PrintConfig.cpp:513 -msgid "Speed of the last cooling move" -msgstr "마지막 냉각 이동 속도" +#: src/libslic3r/Print.cpp:1257 +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로 인쇄 된 경우 여러 객" +"체에 대해서만 지원됩니다" -#: xs/src/libslic3r/PrintConfig.cpp:514 -msgid "Cooling moves are gradually accelerating towards this speed. " -msgstr "냉각은 이 속도쪽으로 점차 가속화되고 있습니다." +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" +"와이프 타워는 똑같이 슬라이스 된 경우 여러 오브젝트에 대해서만 지원됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:521 -msgid "Ramming parameters" -msgstr "래밍 파라미터" +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" +"모든 오브젝트의 레이어 높이 프로필이 동일한 경우에만 와이프 타워가 지원됩니다" -#: xs/src/libslic3r/PrintConfig.cpp:522 -msgid "This string is edited by RammingDialog and contains ramming specific parameters " -msgstr "이 문자열은 RammingDialog에 의해 편집되고 램밍 특정 매개 변수를 포함합니다" +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "제공된 설정으로 인해 빈 인쇄가 발생합니다." -#: xs/src/libslic3r/PrintConfig.cpp:529 -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/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "하나 이상의 개체에 프린터에없는 압출기가 지정되었습니다." -#: xs/src/libslic3r/PrintConfig.cpp:537 -msgid "Density" -msgstr "밀도" +#: src/libslic3r/Print.cpp:1316 +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)로 인쇄되는 경우 모든 노즐은 동일한 지름이어야합니다." -#: xs/src/libslic3r/PrintConfig.cpp:538 -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." -msgstr "여기서 필라멘트 밀도를 입력하십시오. 이것은 통계 정보 용입니다. 괜찮은 방법은 알려진 길이의 필라멘트의 무게를 측정하고 길이와 볼륨의 비율을 계산하는 것입니다. 변위를 통해 직접적으로 부피를 계산하는 것이 더 좋습니다." +#: src/libslic3r/Print.cpp:1324 +msgid "" +"For the Wipe Tower to work with the soluble supports, the support layers " +"need to be synchronized with the object layers." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:541 -msgid "g/cm³" +#: src/libslic3r/Print.cpp:1328 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:547 -msgid "Filament type" -msgstr "필라멘트 타입" +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "first_layer_height" -#: xs/src/libslic3r/PrintConfig.cpp:548 xs/src/libslic3r/PrintConfig.cpp:1235 -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." -msgstr "사용자 정의 스크립트를 통해 출력 G 코드를 처리하려면 여기에 절대 경로를 나열하십시오. 여러 개의 스크립트를 세미콜론으로 구분하십시오. 스크립트는 G 코드 파일의 절대 경로를 첫 번째 인수로 전달되며 환경 변수를 읽음으로써 Slic3r 구성 설정에 액세스 할 수 있습니다." +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "첫번째 레이어 높이는 노즐 직경보다 클 수 없습니다" -#: xs/src/libslic3r/PrintConfig.cpp:567 -msgid "Soluble material" -msgstr "수용성 재료" +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "레이어 높이는 노즐 직경보다 클 수 없습니다" -#: xs/src/libslic3r/PrintConfig.cpp:568 -msgid "Soluble material is most likely used for a soluble support." -msgstr "수용성 재료눈 물에 녹는 서포트에 가장 많이 사용된다." +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:573 lib/Slic3r/GUI/Plater.pm:1616 -msgid "Cost" -msgstr "비용" +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "배드 모양" -#: xs/src/libslic3r/PrintConfig.cpp:574 -msgid "Enter your filament cost per kg here. This is only for statistical information." -msgstr "kg 당 필라멘트 비용을 여기에 입력하십시오. 통계를 내기 위해서 입니다." +#: src/libslic3r/PrintConfig.cpp:48 +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 "" +"이 설정은 슬라이스/레이어의 높이(따라서 총 수)를 제어한다. 얇은 층은 더 나은 " +"정확성을 제공하지만 인쇄하는 데는 더 많은 시간이 걸린다." -#: xs/src/libslic3r/PrintConfig.cpp:575 -msgid "money/kg" -msgstr "원(\\)/kg" +#: src/libslic3r/PrintConfig.cpp:56 +msgid "Max print height" +msgstr "최대 프린트 높이" -#: xs/src/libslic3r/PrintConfig.cpp:584 -msgid "Fill angle" -msgstr "채움 각도" +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "인쇄 중에 익스트루더가 도달 할 수있는 최대 높이로 설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:586 -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." -msgstr "본 오리엔테이션 방향의 기본 각도입니다. 해칭이 적용될 것입니다. Slic3r이 감지 할 수있는 최상의 방향을 사용하여 브릿징이 채워지므로이 설정은 영향을 미치지 않습니다." +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "출력된 외측을 피하세요" -#: xs/src/libslic3r/PrintConfig.cpp:598 -msgid "Fill density" -msgstr "채우기(fill) 밀도" +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" +"둘레의 교차를 최소화하기 위해 여행 이동을 최적화하십시오. 이것은 보 잉 " +"(Bowling) 압출기가 흘러 나오기 쉬운 경우에 주로 유용합니다. 이 기능을 사용하" +"면 인쇄 및 G 코드 생성 속도가 느려집니다." + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "다른 레이어" -#: xs/src/libslic3r/PrintConfig.cpp:600 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." -msgstr "0 % - 100 % 범위로 표현 된 내부 채움(infill)의 밀도." +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" +"첫 번째 레이어 이후의 레이어 온도. 이 값을 0으로 설정하면 출력에서 ​​베드 온도 " +"제어 명령을 비활성화합니다." -#: xs/src/libslic3r/PrintConfig.cpp:636 -msgid "Fill pattern" -msgstr "채우기(fill) 패턴" +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "배드 온도" -#: xs/src/libslic3r/PrintConfig.cpp:638 -msgid "Fill pattern for general low-density infill." -msgstr "일반 낮은 밀도 채움의 패턴." +#: src/libslic3r/PrintConfig.cpp:93 +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 이동 직전의 모든 레이어 변경에 삽입됩니다. [Slide3r] " +"설정과 [layer_num] 및 [layer_z]에 대한 자리 표시 자 변수를 사용할 수 있습니" +"다." -#: xs/src/libslic3r/PrintConfig.cpp:655 -msgid "Grid" -msgstr "그리드(Grid)" +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "객체 간 G 코드" -#: xs/src/libslic3r/PrintConfig.cpp:656 -msgid "Triangles" -msgstr "삼각형(Triangles)" +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" +"이 코드는 순차 인쇄를 사용할 때 객체간에 삽입됩니다. 기본적으로 익스트루더 " +"및 베드 온도는 대기 모드가 아닌 명령을 사용하여 재설정됩니다. 그러나 이 사용" +"자 코드에서 M104, M109, M140 또는 M190이 감지되면 Slic3r은 온도 명령을 추가하" +"지 않습니다. 모든 Slic3r 설정에 자리 표시 변수를 사용할 수 있으므로 원하는 위" +"치에 \"M109 S [first_layer_temperature]\"명령을 넣을 수 있습니다." + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "바닥(Bottom)" -#: xs/src/libslic3r/PrintConfig.cpp:657 -msgid "Stars" -msgstr "별(Stars)" +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "바닥면에 생성 할 솔리드 레이어의 수." -#: xs/src/libslic3r/PrintConfig.cpp:658 -msgid "Cubic" -msgstr "큐빅" +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "바닥 단일 레이어" -#: xs/src/libslic3r/PrintConfig.cpp:659 -msgid "Line" -msgstr "선(Line)" +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "브리지" -#: xs/src/libslic3r/PrintConfig.cpp:661 xs/src/libslic3r/PrintConfig.cpp:1766 -msgid "Honeycomb" -msgstr "벌집" +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "" +"이것은 프린터가 브릿지에 사용할 가속도입니다. 브리지의 가속 제어를 사용하지 " +"않으려면 0으로 설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:662 -msgid "3D Honeycomb" -msgstr "3D 벌집" +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:663 -msgid "Gyroid" -msgstr "자이로이드(Gyroid)" +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "브릿지 각도" -#: xs/src/libslic3r/PrintConfig.cpp:670 xs/src/libslic3r/PrintConfig.cpp:679 -#: xs/src/libslic3r/PrintConfig.cpp:688 xs/src/libslic3r/PrintConfig.cpp:722 -msgid "First layer" -msgstr "첫 레이어" +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" +"브리징 각도 오버라이드(override)값이. 왼쪽으로 0 일 경우 브리징 각도가 자동으" +"로 계산됩니다. 그렇지 않으면 제공된 각도가 모든 브리지에 사용됩니다. 각도 제" +"로는 180 °를 사용하십시오." + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:671 -msgid "This is the acceleration your printer will use for first layer. Set zero to disable acceleration control for first layer." -msgstr "이것은 프린터가 첫 번째 레이어에 사용할 가속도입니다. 0을 설정하면 첫 번째 레이어에 대한 가속 제어가 사용되지 않습니다." +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "브릿지 팬 속도" -#: xs/src/libslic3r/PrintConfig.cpp:680 -msgid "Heated build plate temperature for the first layer. Set this to zero to disable bed temperature control commands in the output." -msgstr "첫 번째 레이어에 대한 빌드 플레이트 온도를 가열. 이 값을 0으로 설정하면 출력에서 ​​베드 온도 제어 명령을 비활성화합니다." +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "이 팬 속도는 모든 브릿지 및 오버행 중에 적용됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:690 -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." -msgstr "첫 번째 레이어의 수동 압출 폭을 설정하려면이 값을 0이 아닌 값으로 설정합니다. 이 방법을 사용하면보다 우수한 접착력을 위해 더 두꺼운 압출 성형물을 만들 수 있습니다. 백분율 (예 : 120 %)로 표현하면 첫 번째 레이어 높이를 기준으로 계산됩니다. 0으로 설정하면 기본 압출 폭이 사용됩니다." +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:700 -msgid "First layer height" -msgstr "첫 레이어 높이" +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "브릿지 유량(flow)값" -#: xs/src/libslic3r/PrintConfig.cpp:702 -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." -msgstr "매우 낮은 층의 높이로 인쇄할 때, 당신은 여전히 완벽하지 않은 빌드 플레이트의 부착력과 허용오차를 개선하기 위해 더 두꺼운 바닥 층을 인쇄하기를 원할 수 있다. 이것은 절대값 또는 기본 계층 높이에 대한 백분율(예: 150%)로 표시할 수 있다." +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" +"이 요인은 브리징을위한 플라스틱의 양에 영향을 미칩니다. 압출 성형물을 잡아 당" +"겨 처짐을 방지하기 위해 약간 줄일 수 있지만 기본 설정은 일반적으로 좋지만이 " +"문제를 해결하기 전에 냉각 (팬 사용)을 시도해야합니다." -#: xs/src/libslic3r/PrintConfig.cpp:706 xs/src/libslic3r/PrintConfig.cpp:837 -#: xs/src/libslic3r/PrintConfig.cpp:1638 -msgid "mm or %" -msgstr "mm/s 또는 %" +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "브릿지(Bridges)" -#: xs/src/libslic3r/PrintConfig.cpp:712 -msgid "First layer speed" -msgstr "첫 레이어 속도" +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "브릿지 인쇄 속도." + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "mm/s" -#: xs/src/libslic3r/PrintConfig.cpp:713 -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." -msgstr "절대값(mm/s)으로 표현되는 경우, 이 속도는 유형에 관계없이 첫 번째 층의 모든 인쇄 이동에 적용된다. 백분율(예: 40%)로 표현되는 경우 기본 속도를 스케일링한다." +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "브림 폭" -#: xs/src/libslic3r/PrintConfig.cpp:723 -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:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "첫 번째 레이어의 각 객체 주위에 인쇄 될 가장자리의 가로 폭입니다." -#: xs/src/libslic3r/PrintConfig.cpp:731 -#: xs/src/libslic3r/GCode/PreviewData.cpp:170 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:97 -msgid "Gap fill" -msgstr "공백 채움" +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "여러 파트 오브젝트 클립" -#: xs/src/libslic3r/PrintConfig.cpp:733 -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:188 +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 "" +"멀티 메터리얼(multi-material) 개체를 인쇄 할 때이 설정을 사용하면 겹치는 개" +"체 파트를 서로 겹쳐서 잘라낼 수 있습니다 (두 번째 부분은 첫 번째 부분에서 클" +"리핑되며 세 번째 부분은 첫 번째 및 두 번째 부분에서 잘립니다)." -#: xs/src/libslic3r/PrintConfig.cpp:741 -msgid "Verbose G-code" -msgstr "세부 G-코드" +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:742 -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." -msgstr "설명 텍스트로 설명되는 각 행과 함께 코멘트된 G-code 파일을 가져오려면 이 옵션을 선택하십시오. 만일 당신이 SD카드로 인쇄한다면, 파일의 추가 무게로 인해 펌웨어의 속도가 느려질 수 있다." +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:749 -msgid "G-code flavor" -msgstr "G-code 형식" +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "호환 가능한 프린터 조건" -#: xs/src/libslic3r/PrintConfig.cpp:750 -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가 어떠한 압출 값도 출력하지 못하게 한다." +#: src/libslic3r/PrintConfig.cpp:208 +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로 평" +"가되면이 프로필은 활성 프린터 프로필과 호환되는 것으로 간주됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:774 -msgid "No extrusion" -msgstr "압출 없음" +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:779 -msgid "This is the acceleration your printer will use for infill. Set zero to disable acceleration control for infill." -msgstr "이것은 당신 프린터의 채움 가속력이다. 주입에 대한 가속 제어를 비활성화하려면 0을 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:221 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:787 -msgid "Combine infill every" -msgstr "다음 시간마다 결합" +#: src/libslic3r/PrintConfig.cpp:235 +msgid "Complete individual objects" +msgstr "개별 개체 완성" -#: xs/src/libslic3r/PrintConfig.cpp:789 -msgid "This feature allows to combine infill and speed up your print by extruding thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "이 기능은 인필을 결합하고 얇은 주변기기를 보존하면서 두꺼운 인필 층을 압출하여 인쇄 속도를 높일 수 있도록 하여 정확도를 높인다." +#: src/libslic3r/PrintConfig.cpp:236 +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 "" +"여러 객체 또는 사본을 인쇄 할 때이 객체는 다음 객체로 이동하기 전에 각 객체" +"를 완성합니다 (맨 아래 레이어에서 시작). 이 기능은 인쇄물이 망가지는 위험을 " +"피할 때 유용합니다. Slic3r은 압출기 충돌을 경고하고 예방해야하지만 조심하십시" +"오." -#: xs/src/libslic3r/PrintConfig.cpp:793 -msgid "Combine infill every n layers" -msgstr "모든 n개 층을 채우기 위해 결합" +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "자동 냉각 사용" -#: xs/src/libslic3r/PrintConfig.cpp:798 -msgid "Infill extruder" -msgstr "채움(Infill) 익스트루더" +#: src/libslic3r/PrintConfig.cpp:246 +msgid "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." +msgstr "" +"이 플래그는 레이어 인쇄 시간에 따라 인쇄 속도와 팬 속도를 조정하는 자동 냉각 " +"논리를 활성화합니다." -#: xs/src/libslic3r/PrintConfig.cpp:800 -msgid "The extruder to use when printing infill." -msgstr "채움으로 사용할 익스트루더." +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "냉각 튜브 위치" -#: xs/src/libslic3r/PrintConfig.cpp:808 -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." -msgstr "채움에 수동 압출 폭을 설정하려면이 값을 0이 아닌 값으로 설정합니다. 0으로 설정하면 설정된 경우 기본 압출 폭이 사용되고 그렇지 않으면 1.125 x 노즐 직경이 사용됩니다. 채움 속도를 높이고 부품을 더 강하게 만들려면보다 큰 압출 성형물을 사용하는 것이 좋습니다. 백분율 (예 : 90 %)로 표현하면 레이어 높이를 기준으로 계산됩니다." +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "압출기 팁에서 냉각 튜브의 중심점까지의 거리 " -#: xs/src/libslic3r/PrintConfig.cpp:817 -msgid "Infill before perimeters" -msgstr "둘레보다 앞쪽에 채움" +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "냉각 튜브 길이" -#: xs/src/libslic3r/PrintConfig.cpp:818 -msgid "This option will switch the print order of perimeters and infill, making the latter first." -msgstr "이 옵션은 외부출력과 채움 인쇄 순서를 바꾸어, 후자를 먼저 만든다." +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "내부의 냉각 이동을 위해 공간을 제한하는 냉각 튜브의 길이 " -#: xs/src/libslic3r/PrintConfig.cpp:823 -msgid "Only infill where needed" -msgstr "필요한 경우 채음" +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" +"역할 별 가속도 값이 사용 된 후에 프린터가 재설정되는 속도입니다 (둘레 / 충" +"전). 가속을 전혀 재설정하지 않으려면 0으로 설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:825 -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." -msgstr "이 옵션은 천장 지원에 실제로 필요한 영역에만 적용된다(내부 서포트 재료 역할을 할 것이다). 활성화된 경우 관련된 여러 번의 점검으로 인해 G-code 생성 속도를 늦춰라." +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "기본 필라멘트 프로파일" -#: xs/src/libslic3r/PrintConfig.cpp:832 -msgid "Infill/perimeters overlap" -msgstr "채움/둘레 겹침(perimeters overlap)" +#: src/libslic3r/PrintConfig.cpp:282 +msgid "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." +msgstr "" +"현재 프린터 프로파일과 연관된 기본 필라멘트 프로파일. 현재 프린터 프로파일을 " +"선택하면 이 필라멘트 프로파일이 활성화됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:834 -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." -msgstr "이 설정은 더 나은 본딩을 위해 충전 및 둘레 사이에 추가 겹침을 적용합니다. 이론적으로 이것은 필요하지 않아야하지만 백래시가 갭을 유발할 수 있습니다. 백분율 (예 : 15 %)로 표시되는 경우 경계 압출 폭을 기준으로 계산됩니다." +#: src/libslic3r/PrintConfig.cpp:287 +msgid "Default print profile" +msgstr "기본 인쇄 프로파일" -#: xs/src/libslic3r/PrintConfig.cpp:845 -msgid "Speed for printing the internal fill. Set to zero for auto." -msgstr "내부 채우기 인쇄 속도. 자동으로 0으로 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +msgid "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." +msgstr "" +"현재 프린터 프로파일과 연관된 기본 인쇄 프로파일. 현재 프린터 프로파일을 선택" +"하면이 인쇄 프로파일이 활성화됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:854 -msgid "Inherits profile" -msgstr "프로필 상속" +#: src/libslic3r/PrintConfig.cpp:293 +msgid "Disable fan for the first" +msgstr "첫 번째 팬 사용 중지" -#: xs/src/libslic3r/PrintConfig.cpp:855 -msgid "Name of the profile, from which this profile inherits." -msgstr "이 프로파일이 상속되는 프로파일의 이름." +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" +"이 값을 양수 값으로 설정하면 첫 번째 레이어에서 팬을 사용하지 않도록 설정하" +"여 접착력을 악화시키지 않습니다." -#: xs/src/libslic3r/PrintConfig.cpp:866 -msgid "Interface shells" -msgstr "인터페이스 셸(shells)" +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "레이어" -#: xs/src/libslic3r/PrintConfig.cpp:867 -msgid "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:304 +msgid "Don't support bridges" +msgstr "서포트와 브릿지를 사용하지 마세요" -#: xs/src/libslic3r/PrintConfig.cpp:876 -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]에 자리 표시자 변수를 사용할 수 있다는 점에 유의하십시오." +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "" +"브릿지 영역 아래에 서포팅 재료가 생성되는 것을 방지하기위한 실험적 옵션." -#: xs/src/libslic3r/PrintConfig.cpp:888 -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:313 +msgid "Distance between copies" +msgstr "복사본 간 거리" -#: xs/src/libslic3r/PrintConfig.cpp:896 -msgid "Support silent mode" -msgstr "서포트 무음 모드" +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "플래터(plater)의 자동 정렬 기능에 사용되는 거리입니다." -#: xs/src/libslic3r/PrintConfig.cpp:897 -msgid "Set silent mode for the G-code flavor" -msgstr "G-코드 특징에 대한 무음 모드 설정" +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "코끼리 발(Elephant foot) 보상값" -#: xs/src/libslic3r/PrintConfig.cpp:919 -#, c-format -msgid "Maximum feedrate %1%" -msgstr "최 대 공 급 속 도" +#: src/libslic3r/PrintConfig.cpp:324 +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 평면에서 수축되어 일층 스 퀴시 코끼리" +"발(Elephant Foot) 효과를 보완합니다." -#: xs/src/libslic3r/PrintConfig.cpp:921 -#, c-format -msgid "Maximum feedrate of the %1% axis" -msgstr "최대 공급 속도 of the %1% axis" +#: src/libslic3r/PrintConfig.cpp:334 +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 설정에 자리 표시자 변수" +"를 사용할 수 있다는 점에 유의하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:928 -#, c-format -msgid "Maximum acceleration %1%" -msgstr "최대가속 %1%" +#: src/libslic3r/PrintConfig.cpp:345 +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 설" +"정에 자리 표시자 변수를 사용할 수 있다는 점에 유의하십시오. 여러 개의 압출부" +"가 있는 경우, 그 코드는 압출 순서대로 처리된다." -#: xs/src/libslic3r/PrintConfig.cpp:930 -#, c-format -msgid "Maximum acceleration of the %1% axis" -msgstr "최대 가속도는 %1% 축" +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "수직 쉘(shell) 두께 확인" -#: xs/src/libslic3r/PrintConfig.cpp:937 -#, c-format -msgid "Maximum jerk %1%" -msgstr "최대 저크(jerk) %1%" +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" +"경사 표면 근처에 솔리드 인필을 추가하여 수직 셸 두께(상단+하단 솔리드 레이어)" +"를 보장하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:939 -#, c-format -msgid "Maximum jerk of the %1% axis" -msgstr "최대 저크는(jerk) %1% axis" +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "상단/하단 채우기(fill) 패턴" -#: xs/src/libslic3r/PrintConfig.cpp:949 xs/src/libslic3r/PrintConfig.cpp:951 -msgid "Minimum feedrate when extruding" -msgstr "압출시 최소 공급 속도" +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "" +"상단/하단 주입의 채우기 패턴은 인접한 외부면이 아닌 외부 솔리드 층에만 영향" +"을 미친다." -#: xs/src/libslic3r/PrintConfig.cpp:959 xs/src/libslic3r/PrintConfig.cpp:961 -msgid "Minimum travel feedrate" -msgstr "최소 이송 속도" +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "직선면(Rectilinear)" -#: xs/src/libslic3r/PrintConfig.cpp:969 xs/src/libslic3r/PrintConfig.cpp:971 -msgid "Maximum acceleration when extruding" -msgstr "압출시 최대 가속도" +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "동심원(Concentric)" -#: xs/src/libslic3r/PrintConfig.cpp:979 xs/src/libslic3r/PrintConfig.cpp:981 -msgid "Maximum acceleration when retracting" -msgstr "리트렉션 최대 가속도" +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "힐버트 곡선(Hilbert Curve)" -#: xs/src/libslic3r/PrintConfig.cpp:988 xs/src/libslic3r/PrintConfig.cpp:997 -msgid "Max" -msgstr "최대" +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "아르키메데우스(Archimedean Chords)" -#: xs/src/libslic3r/PrintConfig.cpp:989 -msgid "This setting represents the maximum speed of your fan." -msgstr "이 설정은 팬의 최대 속도를 나타냅니다." +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "옥타그램 나선(Octagram Spiral)" -#: xs/src/libslic3r/PrintConfig.cpp:998 -#, no-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." -msgstr "이것은이 익스트루더의 가장 높은 인쇄 가능 층 높이이며, 가변 층 높이 및 지지층 높이를 캡하는 데 사용됩니다. 합당한 층간 접착력을 얻기 위해 최대 권장 높이는 압출 폭의 75 %입니다. 0으로 설정하면 층 높이가 노즐 지름의 75 %로 제한됩니다." +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "외측 둘레" -#: xs/src/libslic3r/PrintConfig.cpp:1008 -msgid "Max print height" -msgstr "최대 프린트 높이" +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" +"외부 경계에 대한 수동 압출 폭을 설정하려면 이 값을 0이 아닌 값으로 설정하십시" +"오. 0인 경우 기본 압출 너비가 사용되며, 그렇지 않으면 1.125 x 노즐 직경이 사" +"용된다. 백분율(예: 200%)로 표현되는 경우, 레이어 높이에 걸쳐 계산된다." + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "mm 또는 %(기본값의 경우 0으로 유지)" -#: xs/src/libslic3r/PrintConfig.cpp:1009 -msgid "Set this to the maximum height that can be reached by your extruder while printing." -msgstr "인쇄 중에 익스트루더가 도달 할 수있는 최대 높이로 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" +"이 별도의 설정은 외부 경계선(시각적 경계선)의 속도에 영향을 미친다. 백분율" +"(예: 80%)로 표현되는 경우 위의 Perimeter 속도 설정에 따라 계산된다. 자동을 위" +"해 0으로 설정한다." -#: xs/src/libslic3r/PrintConfig.cpp:1015 -msgid "Max print speed" -msgstr "최대 프린트 속도" +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "mm/s 또는 %" -#: xs/src/libslic3r/PrintConfig.cpp:1016 -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." -msgstr "다른 속도 설정을 0으로 설정할 경우, 지속적인 외부 압력을 유지하기 위해 최적의 속도를 자동 계산한다. 이 실험 설정은 허용할 최대 인쇄 속도를 설정하는 데 사용된다." +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "외부 경계선 먼저" -#: xs/src/libslic3r/PrintConfig.cpp:1026 -msgid "This experimental setting is used to set the maximum volumetric speed your extruder supports." -msgstr "이 실험 설정은 압출기가 지원하는 최대 체적 속도를 설정하기 위해 사용된다." +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "" +"기본 역순 대신 가장 바깥쪽부터 가장 안쪽까지 윤곽선을 인쇄하십시오. 타겟 TTS" +"복사하기번역 저장번역 저장번역 수정." -#: xs/src/libslic3r/PrintConfig.cpp:1034 -msgid "Max volumetric slope positive" -msgstr "최대 체적 기울기 양" +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "필요한 경우 추가 둘레" -#: xs/src/libslic3r/PrintConfig.cpp:1035 xs/src/libslic3r/PrintConfig.cpp:1046 -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." -msgstr "이 실험 설정은 돌출율의 변화 속도를 제한하는데 사용된다. 1.8mm3/s2 값은 1.8mm3/s(0.45mm 압출 폭, 0.2mm 압출 높이, 공급 속도 20mm/s)에서 5.4mm3/s(공급 속도 60mm/s)로 변경하는 데 최소 2초 이상 걸린다." +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" +"경사 벽의 틈을 피하기 위해 필요한 경우 더 많은 perimeter를 추가하십시오. 위" +"의 루프의 70% 이상이 지지될 때까지 Slic3r는 계속해서 perimeter를 추가한다." -#: xs/src/libslic3r/PrintConfig.cpp:1039 xs/src/libslic3r/PrintConfig.cpp:1050 -msgid "mm³/s²" +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"The extruder to use (unless more specific extruder settings are specified). " +"This value overrides perimeter and infill extruders, but not the support " +"extruders." msgstr "" +"사용할 압출부(더 구체적인 압출부 설정이 지정되지 않은 경우) 이 값은 경계 및 " +"압출부를 초과하지만 지원 압출자를 주입하지는 않는다." -#: xs/src/libslic3r/PrintConfig.cpp:1045 -msgid "Max volumetric slope negative" -msgstr "최대 체적 기울기 음수" +#: src/libslic3r/PrintConfig.cpp:444 +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." +msgstr "" +"이것을 노즐 팁과 (일반적으로) X 캐리지 로드 사이의 수직 거리로 설정하십시오. " +"다시 말하면, 이것은 당신의 압출기 주위의 틈새 실린더의 높이이며, 그것은 다른 " +"인쇄된 물체와 충돌하기 전에 압출기가 엿볼 수 있는 최대 깊이를 나타낸다." -#: xs/src/libslic3r/PrintConfig.cpp:1056 xs/src/libslic3r/PrintConfig.cpp:1065 -msgid "Min" -msgstr "최소" +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "반지름" -#: xs/src/libslic3r/PrintConfig.cpp:1057 -msgid "This setting represents the minimum PWM your fan needs to work." -msgstr "이 설정은 최소 PWM팬이 활동하는데 필요한를 나타냅니다." +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" +"이것을 당신의 압출기 주변의 간극 반경으로 설정하시오. 압출부가 중앙에 있지 않" +"으면 안전을 위해 가장 큰 값을 선택하십시오. 이 설정은 충돌 여부를 확인하고 플" +"래터에 그래픽 미리 보기를 표시하기 위해 사용된다." -#: xs/src/libslic3r/PrintConfig.cpp:1066 -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." -msgstr "이것은 이 압출기에 대한 가장 낮은 인쇄 가능한 층 높이이고 가변 층 높이에 대한 분해능을 제한한다. 대표적인 값은 0.05mm와 0.1mm이다." +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "익스트루더 컬러" -#: xs/src/libslic3r/PrintConfig.cpp:1074 -msgid "Min print speed" -msgstr "최소 인쇄 속도" +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "이것은 시각적 도움말로 Slic3r 인터페이스에서만 사용된다." -#: xs/src/libslic3r/PrintConfig.cpp:1075 -msgid "Slic3r will not scale speed down below this speed." -msgstr "Slic3r는 이 속도 이하로 속도를 낮추지 않을 것이다." +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "익스트루더 오프셋" -#: xs/src/libslic3r/PrintConfig.cpp:1082 -msgid "Minimal filament extrusion length" -msgstr "최소 필라멘트 압출 길이" +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" +"펌웨어가 압출기 위치 변경을 처리하지 못하면 G 코드를 고려해야합니다. 이 옵션" +"을 사용하면 첫 번째 것에 대한 각 압출기의 변위를 지정할 수 있습니다. 양의 좌" +"표가 필요합니다 (XY 좌표에서 뺍니다)." -#: xs/src/libslic3r/PrintConfig.cpp:1083 -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." -msgstr "하단 레이어에서 지정된 양의 필라멘트를 사용하는 데 필요한 스커트 루프의 수 이상으로 생성한다. 멀티 익스트루더의 경우, 이 최소값은 각 추가기기에 적용된다." +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "압출 축" -#: xs/src/libslic3r/PrintConfig.cpp:1092 -msgid "Configuration notes" -msgstr "구성 노트" +#: src/libslic3r/PrintConfig.cpp:487 +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를 사용합니다)." -#: xs/src/libslic3r/PrintConfig.cpp:1093 -msgid "You can put here your personal notes. This text will be added to the G-code header comments." -msgstr "여기에 개인 노트를 넣을 수 있다. 이 텍스트는 G-code 헤더 코멘트에 추가될 것이다." +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "압출 승수" -#: xs/src/libslic3r/PrintConfig.cpp:1102 -msgid "Nozzle diameter" -msgstr "노즐 직경:" +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" +"이 요소는 비례하여 유량의 양을 변경합니다. 멋진 서페이스 마무리와 단일 벽 너" +"비를 얻기 위해이 설정을 조정해야 할 수도 있습니다. 일반적인 값은 0.9와 1.1 사" +"이입니다. 이 값을 더 변경해야한다고 판단되면 필라멘트 직경과 펌웨어 E 단계를 " +"확인하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:1103 -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:503 +msgid "Default extrusion width" +msgstr "기본 압출 폭" -#: xs/src/libslic3r/PrintConfig.cpp:1109 -msgid "API Key" +#: src/libslic3r/PrintConfig.cpp:505 +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." msgstr "" +"수동 압출 폭을 허용하려면이 값을 0이 아닌 값으로 설정하십시오. 0으로 남겨두" +"면 Slic3r은 노즐 직경에서 압출 폭을 도출합니다 (주변 압출 폭, 성형 압출 폭 등" +"의 툴팁 참조). 백분율로 표시되는 경우 (예 : 230 %) 레이어 높이를 기준으로 계" +"산됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:1110 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the API Key required for authentication." -msgstr "Slic3r는 G-code 파일을 OctoPrint에 업로드할 수 있다. 이 필드에는 인증에 필요한 API 키가 포함되어야 한다." +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "mm 또는 % (자동으로 0을 유지)" -#: xs/src/libslic3r/PrintConfig.cpp:1123 -msgid "Hostname, IP or URL" -msgstr "호스트 이름(Hostname), IP or URL" +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "항상 팬 켜기" -#: xs/src/libslic3r/PrintConfig.cpp:1124 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the hostname, IP address or URL of the OctoPrint instance." -msgstr "Slic3r는 G-code 파일을 OctoPrint에 업로드할 수 있다. 이 필드에는 OctoPrint 인스턴스의 호스트 이름, IP 주소 또는 URL이 포함되어야 한다." +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" +"이 기능을 사용하면 팬이 비활성화되지 않으며 최소한 최소 속도로 계속 회전합니" +"다. PLA에 유용하며 ABS에 해롭다." -#: xs/src/libslic3r/PrintConfig.cpp:1130 -msgid "Only retract when crossing perimeters" -msgstr "둘레를 횡단 할 때만 수축" +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "레이어 인쇄 시간이 미만인 경우 팬 활성화" -#: xs/src/libslic3r/PrintConfig.cpp:1131 -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:523 +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." +msgstr "" +"레이어 인쇄 시간이이 초 미만으로 예상되는 경우 팬이 활성화되고 속도는 최소 " +"및 최대 속도를 보간하여 계산됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:1138 -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:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "근사치 초" -#: xs/src/libslic3r/PrintConfig.cpp:1145 -msgid "Output filename format" -msgstr "출력 파일이름 형식" +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "색상" -#: xs/src/libslic3r/PrintConfig.cpp:1146 -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 "" +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "필라멘트 메모" -#: xs/src/libslic3r/PrintConfig.cpp:1155 -msgid "Detect bridging perimeters" -msgstr "브릿 징 경계선 감지" +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "여기에 필라멘트에 관한 메모를 넣을 수 있다." -#: xs/src/libslic3r/PrintConfig.cpp:1157 -msgid "Experimental option to adjust flow for overhangs (bridge flow will be used), to apply bridge speed to them and enable fan." -msgstr "오버행에 대한 유량을 조정하는 실험 옵션 (브리지 흐름(flow)이 사용됨)에 브릿지 속도를 적용하고 팬을 활성화합니다." +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "최대 체적 속도" -#: xs/src/libslic3r/PrintConfig.cpp:1163 -msgid "Filament parking position" -msgstr "필라멘트 멈춤 위치" +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" +"이 필라멘트에 허용되는 최대 체적 속도. 인쇄물의 최대 체적 속도를 인쇄 및 필라" +"멘트 체적 속도 최소로 제한한다. 제한 없음에 대해 0으로 설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:1164 -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:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1172 -msgid "Extra loading distance" -msgstr "추가 로딩 거리" +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "로딩 속도" -#: xs/src/libslic3r/PrintConfig.cpp:1173 -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. " -msgstr "0으로 설정하면로드 중에 필라멘트가 위치에서 이동 한 거리는 언로드 중에 다시 이동 한 거리와 동일합니다. 양수이면 음수가 더 많이 로드되고 로드가 음수 인 경우 언로드보다 짧습니다." +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "와이퍼 탑(wipe)에 필라멘트를 장착하는 데 사용되는 속도. " -#: xs/src/libslic3r/PrintConfig.cpp:1181 xs/src/libslic3r/PrintConfig.cpp:1199 -#: xs/src/libslic3r/PrintConfig.cpp:1211 xs/src/libslic3r/PrintConfig.cpp:1221 -msgid "Perimeters" -msgstr "둘레" +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1182 -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으로 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1190 -msgid "Perimeter extruder" -msgstr "주변 익스트루더" +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "언로딩 스피드" -#: xs/src/libslic3r/PrintConfig.cpp:1192 -msgid "The extruder to use when printing perimeters and brim. First extruder is 1." -msgstr "둘레와 가장자리를 인쇄 할 때 사용할 압출기입니다. 첫 번째 압출기는 1입니다." +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " +msgstr "" +"와이퍼 타워에서 필라멘트를 언로드하는 데 사용되는 속도(램핑 후 바로 언로딩의 " +"초기 부분에는 영향을 주지 않음). " -#: xs/src/libslic3r/PrintConfig.cpp:1201 -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." -msgstr "이 값을 0이 아닌 값으로 설정하면 수동 압출 폭을 둘레로 설정할 수 있습니다. 보다 정확한 서페이스를 얻으려면 더 얇은 압출 성형품을 사용하는 것이 좋습니다. 0으로 설정하면 설정된 경우 기본 돌출 폭이 사용되고 그렇지 않으면 1.125 x 노즐 직경이 사용됩니다. 백분율 (예 : 200 %)로 표현하면 레이어 높이를 기준으로 계산됩니다." +#: src/libslic3r/PrintConfig.cpp:590 +msgid "Unloading speed at the start" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1213 -msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." -msgstr "둘레의 속도 (등고선, 일명 세로 셸). 자동으로 0으로 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1223 -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." -msgstr "이 옵션은 각 레이어에 대해 생성 할 경계 수를 설정합니다. 추가 경계선 옵션을 사용하면 더 큰 주변 수를 사용하는 경사면을 감지 할 때 Slic3r이이 수를 자동으로 증가시킬 수 있습니다." +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "언로드 후 딜레이" -#: xs/src/libslic3r/PrintConfig.cpp:1227 -msgid "(minimum)" -msgstr "(최소)" +#: src/libslic3r/PrintConfig.cpp:600 +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. " +msgstr "" +"필라멘트를 내린 후 기다리는 시간. 원래 치수로 축소하는 데 더 많은 시간이 필요" +"할 수있는 유연한 재료로 신뢰할 수있는 공구 교환을 얻을 수 있습니다. " -#: xs/src/libslic3r/PrintConfig.cpp:1247 -msgid "Printer type" -msgstr "프린터 타입" +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "쿨링 이동 숫자" -#: xs/src/libslic3r/PrintConfig.cpp:1248 -msgid "Type of the printer." -msgstr "프린터 유형." +#: src/libslic3r/PrintConfig.cpp:611 +msgid "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " +msgstr "" +"필라멘트는 냉각 튜브에서 앞뒤로 움직여 냉각됩니다. 원하는 이동 숫자 지정 " -#: xs/src/libslic3r/PrintConfig.cpp:1252 -msgid "Printer notes" -msgstr "프린터 노트" +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "첫 번째 냉각 이동 속도" -#: xs/src/libslic3r/PrintConfig.cpp:1253 -msgid "You can put your notes regarding the printer here." -msgstr "프린터 관련 메모를 여기에 넣을 수 있습니다." +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "냉각 속도가 서서히 빨라지고 있습니다. " -#: xs/src/libslic3r/PrintConfig.cpp:1261 -msgid "Printer vendor" -msgstr "제조 회사" +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1262 -msgid "Name of the printer vendor." -msgstr "프린터 공급 업체의 이름입니다." +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1266 -msgid "Printer variant" -msgstr "프린터 변형" +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1267 -msgid "Name of the printer variant. For example, the printer variants may be differentiated by a nozzle diameter." -msgstr "프린터 변종 이름입니다. 예를 들어, 프린터 변형은 노즐 지름으로 구별 될 수 있습니다." +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "마지막 냉각 이동 속도" -#: xs/src/libslic3r/PrintConfig.cpp:1277 -msgid "Raft layers" -msgstr "라프트(Raft) 레이어" +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " +msgstr "냉각은 이 속도쪽으로 점차 가속화되고 있습니다. " -#: xs/src/libslic3r/PrintConfig.cpp:1279 -msgid "The object will be raised by this number of layers, and support material will be generated under it." -msgstr "물체는 이 개수의 층에 의해 상승되며, 그 아래에서 서포트 재료가 생성될 것이다." +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1287 -msgid "Resolution" -msgstr "해결" +#: src/libslic3r/PrintConfig.cpp:651 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1288 -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." -msgstr "잘라내기 작업의 속도를 높이고 메모리 사용량을 줄이기 위해 입력 파일을 단순화하는 데 사용되는 최소 세부 해상도. 고해상도 모델은 종종 프린터가 렌더링할 수 있는 것보다 더 많은 디테일을 가지고 있다. 단순화를 사용하지 않고 입력에서 전체 해상도를 사용하려면 0으로 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" +msgstr "래밍 파라미터" -#: xs/src/libslic3r/PrintConfig.cpp:1298 -msgid "Minimum travel after retraction" -msgstr "리트랙션 후 최소 이동 거리" +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" +"이 문자열은 RammingDialog에 의해 편집되고 램밍 특정 매개 변수를 포함합니다 " -#: xs/src/libslic3r/PrintConfig.cpp:1299 -msgid "Retraction is not triggered when travel moves are shorter than this length." -msgstr "이동 거리가 이 길이보다 짧으면 리트렉션이 트리거되지 않습니다." +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1305 -msgid "Retract amount before wipe" -msgstr "닦아 내기 전의 수축량" +#: src/libslic3r/PrintConfig.cpp:668 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1306 -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:677 +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 "" +"여기에 필라멘트 직경을 입력하십시오. 정밀도가 필요하므로 캘리퍼를 사용하여 필" +"라멘트를 따라 여러 번 측정 한 다음 평균을 계산하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:1313 -msgid "Retract on layer change" -msgstr "레이어 변경 후퇴" +#: src/libslic3r/PrintConfig.cpp:685 +msgid "Density" +msgstr "밀도" -#: xs/src/libslic3r/PrintConfig.cpp:1314 -msgid "This flag enforces a retraction whenever a Z move is done." -msgstr "이 플래그는 Z 이동이 완료 될 때마다 취소를 강제 실행합니다." +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "" +"여기서 필라멘트 밀도를 입력하십시오. 이것은 통계 정보 용입니다. 괜찮은 방법" +"은 알려진 길이의 필라멘트의 무게를 측정하고 길이와 볼륨의 비율을 계산하는 것" +"입니다. 변위를 통해 직접적으로 부피를 계산하는 것이 더 좋습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1319 xs/src/libslic3r/PrintConfig.cpp:1328 -msgid "Length" -msgstr "길이" +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1320 -msgid "Retraction Length" -msgstr "리트랙션 길이" +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "필라멘트 타입" -#: xs/src/libslic3r/PrintConfig.cpp:1321 -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:696 +msgid "The filament material type for use in custom G-codes." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1323 xs/src/libslic3r/PrintConfig.cpp:1333 -msgid "mm (zero to disable)" -msgstr "mm (0은 비활성화)" +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "수용성 재료" -#: xs/src/libslic3r/PrintConfig.cpp:1329 -msgid "Retraction Length (Toolchange)" -msgstr "리트랙션 길이 (툴 체인지)" +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "수용성 재료눈 물에 녹는 서포트에 가장 많이 사용된다." -#: xs/src/libslic3r/PrintConfig.cpp:1330 -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:719 +msgid "" +"Enter your filament cost per kg here. This is only for statistical " +"information." +msgstr "kg 당 필라멘트 비용을 여기에 입력하십시오. 통계를 내기 위해서 입니다." -#: xs/src/libslic3r/PrintConfig.cpp:1338 -msgid "Lift Z" -msgstr "Z축 올림" +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "원(\\)/kg" -#: xs/src/libslic3r/PrintConfig.cpp:1339 -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 "이 값을 양수 값으로 설정하면 철회가 트리거 될 때마다 Z가 빠르게 올라갑니다. 여러 개의 압출기를 사용하는 경우 첫 번째 압출기의 설정 만 고려됩니다." +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "채움 각도" -#: xs/src/libslic3r/PrintConfig.cpp:1347 -msgid "Above Z" -msgstr "Z 위" +#: src/libslic3r/PrintConfig.cpp:731 +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." +msgstr "" +"본 오리엔테이션 방향의 기본 각도입니다. 해칭이 적용될 것입니다. Slic3r이 감" +"지 할 수있는 최상의 방향을 사용하여 브릿징이 채워지므로이 설정은 영향을 미치" +"지 않습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1348 -msgid "Only lift Z above" -msgstr "오직 Z축 위로만" +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "채우기(fill) 밀도" -#: xs/src/libslic3r/PrintConfig.cpp:1349 -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 "이것을 양의 값으로 설정하면, Z 리프트는 지정된 절대 Z 위로만 발생한다. 첫 번째 층에서 리프트를 건너뛸 수 있도록 이 설정을 조정할 수 있다." +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "0 % - 100 % 범위로 표현 된 내부 채움(infill)의 밀도." -#: xs/src/libslic3r/PrintConfig.cpp:1356 -msgid "Below Z" -msgstr "Z 아래" +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "채우기(fill) 패턴" -#: xs/src/libslic3r/PrintConfig.cpp:1357 -msgid "Only lift Z below" -msgstr "Z값 아래만" +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "일반 낮은 밀도 채움의 패턴." -#: xs/src/libslic3r/PrintConfig.cpp:1358 -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 "이것을 양수 값으로 설정하면 Z 리프트가 지정된 절대 Z 아래에서만 발생합니다. 첫 번째 레이어로 리프트를 제한하기 위해이 설정을 조정할 수 있습니다." +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "그리드(Grid)" -#: xs/src/libslic3r/PrintConfig.cpp:1366 xs/src/libslic3r/PrintConfig.cpp:1374 -msgid "Extra length on restart" -msgstr "재시작시 여분의 길이" +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "삼각형(Triangles)" -#: xs/src/libslic3r/PrintConfig.cpp:1367 -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:803 +msgid "Stars" +msgstr "별(Stars)" -#: xs/src/libslic3r/PrintConfig.cpp:1375 -msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." -msgstr "도구를 교환 한 후 리트렉션를 보정하면 익스트루더가 추가 양의 필라멘트를 밀게됩니다." +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "큐빅" -#: xs/src/libslic3r/PrintConfig.cpp:1382 xs/src/libslic3r/PrintConfig.cpp:1383 -msgid "Retraction Speed" -msgstr "리트랙션 속도" +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "선(Line)" -#: xs/src/libslic3r/PrintConfig.cpp:1384 -msgid "The speed for retractions (it only applies to the extruder motor)." -msgstr "리트랙션 속도 (익스트루더 모터에만 적용됨)." +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "벌집" -#: xs/src/libslic3r/PrintConfig.cpp:1390 xs/src/libslic3r/PrintConfig.cpp:1391 -msgid "Deretraction Speed" -msgstr "감속 속도" +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "3D 벌집" -#: xs/src/libslic3r/PrintConfig.cpp:1392 -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 "리트랙션 후 압출기에 필라멘트를 로드하는 속도 (압출기 모터에만 적용됨). 0으로 방치하면 리트랙션 속도가 사용됩니다." +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "자이로이드(Gyroid)" -#: xs/src/libslic3r/PrintConfig.cpp:1399 -msgid "Seam position" -msgstr "재봉선 위치" +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "첫 레이어" -#: xs/src/libslic3r/PrintConfig.cpp:1401 -msgid "Position of perimeters starting points." -msgstr "둘레의 시작점의 위치." +#: src/libslic3r/PrintConfig.cpp:817 +msgid "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." +msgstr "" +"이것은 프린터가 첫 번째 레이어에 사용할 가속도입니다. 0을 설정하면 첫 번째 레" +"이어에 대한 가속 제어가 사용되지 않습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1408 -msgid "Random" -msgstr "무작위" +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." +msgstr "" +"첫 번째 레이어에 대한 빌드 플레이트 온도를 가열. 이 값을 0으로 설정하면 출력" +"에서 ​​베드 온도 제어 명령을 비활성화합니다." -#: xs/src/libslic3r/PrintConfig.cpp:1409 -msgid "Nearest" -msgstr "가장 가까운" +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "" +"첫 번째 레이어의 수동 압출 폭을 설정하려면이 값을 0이 아닌 값으로 설정합니" +"다. 이 방법을 사용하면보다 우수한 접착력을 위해 더 두꺼운 압출 성형물을 만들 " +"수 있습니다. 백분율 (예 : 120 %)로 표현하면 첫 번째 레이어 높이를 기준으로 계" +"산됩니다. 0으로 설정하면 기본 압출 폭이 사용됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:1410 -msgid "Aligned" -msgstr "정렬" +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "첫 레이어 높이" -#: xs/src/libslic3r/PrintConfig.cpp:1411 lib/Slic3r/GUI/MainFrame.pm:330 -msgid "Rear" -msgstr "뒷면" +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "" +"매우 낮은 층의 높이로 인쇄할 때, 당신은 여전히 완벽하지 않은 빌드 플레이트의 " +"부착력과 허용오차를 개선하기 위해 더 두꺼운 바닥 층을 인쇄하기를 원할 수 있" +"다. 이것은 절대값 또는 기본 계층 높이에 대한 백분율(예: 150%)로 표시할 수 있" +"다." -#: xs/src/libslic3r/PrintConfig.cpp:1417 -msgid "Direction" -msgstr "방향" +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "mm/s 또는 %" -#: xs/src/libslic3r/PrintConfig.cpp:1419 -msgid "Preferred direction of the seam" -msgstr "선호하는 심(seam)의 방향" +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" +msgstr "첫 레이어 속도" -#: xs/src/libslic3r/PrintConfig.cpp:1420 -msgid "Seam preferred direction" -msgstr "심(Seam) 선호 방향" +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "" +"절대값(mm/s)으로 표현되는 경우, 이 속도는 유형에 관계없이 첫 번째 층의 모든 " +"인쇄 이동에 적용된다. 백분율(예: 40%)로 표현되는 경우 기본 속도를 스케일링한" +"다." -#: xs/src/libslic3r/PrintConfig.cpp:1428 -msgid "Jitter" -msgstr "지터(Jitter)" +#: src/libslic3r/PrintConfig.cpp:872 +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으로 설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:1430 -msgid "Seam preferred direction jitter" -msgstr "(Seam) 선호 방향 지터(Jitter)" +#: src/libslic3r/PrintConfig.cpp:882 +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을 " +"설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:1431 -msgid "Preferred direction of the seam - jitter" -msgstr "재봉선 지터의 선호 방향" +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "세부 G-코드" -#: xs/src/libslic3r/PrintConfig.cpp:1442 -msgid "USB/serial port for printer connection." -msgstr "프린터 연결을 위한 USB/시리얼 포트." +#: src/libslic3r/PrintConfig.cpp:891 +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." +msgstr "" +"설명 텍스트로 설명되는 각 행과 함께 코멘트된 G-code 파일을 가져오려면 이 옵션" +"을 선택하십시오. 만일 당신이 SD카드로 인쇄한다면, 파일의 추가 무게로 인해 펌" +"웨어의 속도가 느려질 수 있다." -#: xs/src/libslic3r/PrintConfig.cpp:1450 -msgid "Serial port speed" -msgstr "시리얼 포트 속도" +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "G-code 형식" -#: xs/src/libslic3r/PrintConfig.cpp:1451 -msgid "Speed (baud) of USB/serial port for printer connection." -msgstr "프린터 연결을 위한 USB/시리얼 포트의 속도(보드)" +#: src/libslic3r/PrintConfig.cpp:900 +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가 어떠한 압출 값도 출력하지 못하게 한다." -#: xs/src/libslic3r/PrintConfig.cpp:1460 -msgid "Distance from object" -msgstr "객체로부터의 거리" +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" +msgstr "압출 없음" -#: xs/src/libslic3r/PrintConfig.cpp:1461 -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 "스커트와 객체 사이의 거리. 스커트를 객체에 부착하고 접착력을 높이기 위해 이를 0으로 설정한다." +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1469 -msgid "Skirt height" -msgstr "스커트(Skirt) 높이" +#: src/libslic3r/PrintConfig.cpp:930 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1470 -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:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "" +"이것은 당신 프린터의 채움 가속력이다. 주입에 대한 가속 제어를 비활성화하려면 " +"0을 설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:1477 -msgid "Loops (minimum)" -msgstr "루프 (최소)" +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "다음 시간마다 결합" -#: xs/src/libslic3r/PrintConfig.cpp:1478 -msgid "Skirt Loops" -msgstr "스커트 루프" +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" +"이 기능은 인필을 결합하고 얇은 주변기기를 보존하면서 두꺼운 인필 층을 압출하" +"여 인쇄 속도를 높일 수 있도록 하여 정확도를 높인다." -#: xs/src/libslic3r/PrintConfig.cpp:1479 -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:954 +msgid "Combine infill every n layers" +msgstr "모든 n개 층을 채우기 위해 결합" -#: xs/src/libslic3r/PrintConfig.cpp:1487 -msgid "Slow down if layer print time is below" -msgstr "레이어 인쇄 시간이 다음과 같은 경우 속도를 낮추십시오." +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "채움(Infill) 익스트루더" -#: xs/src/libslic3r/PrintConfig.cpp:1488 -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:962 +msgid "The extruder to use when printing infill." +msgstr "채움으로 사용할 익스트루더." -#: xs/src/libslic3r/PrintConfig.cpp:1498 -msgid "Small perimeters" -msgstr "작은 둘레" +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" +"채움에 수동 압출 폭을 설정하려면이 값을 0이 아닌 값으로 설정합니다. 0으로 설" +"정하면 설정된 경우 기본 압출 폭이 사용되고 그렇지 않으면 1.125 x 노즐 직경이 " +"사용됩니다. 채움 속도를 높이고 부품을 더 강하게 만들려면보다 큰 압출 성형물" +"을 사용하는 것이 좋습니다. 백분율 (예 : 90 %)로 표현하면 레이어 높이를 기준으" +"로 계산됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:1500 -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 "이 개별 설정은 반경이 6.5mm 미만인 속도 (일반적으로 구멍)에 영향을줍니다. 백분율로 표시되는 경우 (예 : 80 %) 위의 속도 설정에서 계산됩니다. 자동으로 0으로 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "둘레보다 앞쪽에 채움" -#: xs/src/libslic3r/PrintConfig.cpp:1510 -msgid "Solid infill threshold area" -msgstr "솔리드 채우기 임계값 영역" +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "이 옵션은 외부출력과 채움 인쇄 순서를 바꾸어, 후자를 먼저 만든다." -#: xs/src/libslic3r/PrintConfig.cpp:1512 -msgid "Force solid infill for regions having a smaller area than the specified threshold." -msgstr "지정된 한계값보다 작은 영역을 가진 영역에 대해 솔리드 인필을 강제 적용" +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "필요한 경우 채음" -#: xs/src/libslic3r/PrintConfig.cpp:1513 -msgid "mm²" +#: src/libslic3r/PrintConfig.cpp:990 +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." msgstr "" +"이 옵션은 천장 지원에 실제로 필요한 영역에만 적용된다(내부 서포트 재료 역할" +"을 할 것이다). 활성화된 경우 관련된 여러 번의 점검으로 인해 G-code 생성 속도" +"를 늦춰라." -#: xs/src/libslic3r/PrintConfig.cpp:1519 -msgid "Solid infill extruder" -msgstr "솔리드 인필 익스트루더" +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "채움/둘레 겹침(perimeters overlap)" -#: xs/src/libslic3r/PrintConfig.cpp:1521 -msgid "The extruder to use when printing solid infill." -msgstr "꽉찬 면을 인쇄할 때 사용하는 익스트루더." +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" +"이 설정은 더 나은 본딩을 위해 충전 및 둘레 사이에 추가 겹침을 적용합니다. 이" +"론적으로 이것은 필요하지 않아야하지만 백래시가 갭을 유발할 수 있습니다. 백분" +"율 (예 : 15 %)로 표시되는 경우 경계 압출 폭을 기준으로 계산됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:1527 -msgid "Solid infill every" -msgstr "솔리드 인필 간격" +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "내부 채우기 인쇄 속도. 자동으로 0으로 설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:1529 -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." -msgstr "이 특징은 주어진 개수의 층마다 단단한 층을 강요할 수 있게 한다. 비활성화할 수 없음. 당신은 이것을 어떤 값으로도 설정할 수 있다(예: 9999). Slic3r는 노즐 직경과 층 높이에 따라 결합할 최대 가능한 층 수를 자동으로 선택한다." +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "프로필 상속" -#: xs/src/libslic3r/PrintConfig.cpp:1539 xs/src/libslic3r/PrintConfig.cpp:1549 -#: xs/src/libslic3r/GCode/PreviewData.cpp:167 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:94 -msgid "Solid infill" -msgstr "솔리드 인필" +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "이 프로파일이 상속되는 프로파일의 이름." -#: xs/src/libslic3r/PrintConfig.cpp:1541 -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." -msgstr "이 값을 0이 아닌 값으로 설정하여 솔리드 표면 인필에 대한 수동 압출 폭을 설정하십시오. 0인 경우 기본 압출 너비가 사용되며, 그렇지 않으면 1.125 x 노즐 직경이 사용된다. 백분율(예: 90%)로 표현되는 경우, 계층 높이에 걸쳐 계산된다." +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "인터페이스 셸(shells)" -#: xs/src/libslic3r/PrintConfig.cpp:1551 -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 "솔리드 영역(상단/하부/내부 수평 셸) 인쇄 속도 이는 위의 기본 주입 속도에 대한 백분율(예: 80%)로 표시할 수 있다. 자동을 위해 0으로 설정한다." +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material." +msgstr "" +"인접 재료/볼륨 사이에 고체 쉘 생성을 강제하십시오. 반투명 재료 또는 수동 수용" +"성 서포트 재료를 사용한 다중 압ㅊ기 인쇄에 유용함." -#: xs/src/libslic3r/PrintConfig.cpp:1563 -msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "상단 및 하단 표면에 생성할 솔리드 레이어 수입니다." +#: src/libslic3r/PrintConfig.cpp:1043 +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]에 자리 표시자 변수를 사용할 수 있다는 점에 유의하십" +"시오." -#: xs/src/libslic3r/PrintConfig.cpp:1570 -msgid "Spiral vase" -msgstr "스파이럴 바이스" +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1571 -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를 점진적으로 상승시킨다. 이 옵션은 단일 둘레, 주입, 상단 솔리드 레이어 및 지지 재료가 필요하지 않다. 당신은 스커트/브림 루프뿐만 아니라 아래 솔리드 레이어의 수에 상관없이 설정할 수 있다. 그것은 물체보다 더 많이 인쇄할 때는 작동하지 않을 것이다." +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1580 -msgid "Temperature variation" -msgstr "온도 변화" +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1581 -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:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "G-코드 특징에 대한 무음 모드 설정" -#: xs/src/libslic3r/PrintConfig.cpp:1591 -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]\"명령을 넣을 수 있습니다." +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "최 대 공 급 속 도 %1%" -#: xs/src/libslic3r/PrintConfig.cpp:1606 -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 "이 시작 절차는 프린터가 gcode를 시작한 후 처음에 삽입됩니다. 특정 필라멘트의 설정을 무시하는 데 사용됩니다. Slic3r이 사용자 지정 코드에서 M104, M109, M140 또는 M190을 감지하면 이러한 명령은 자동으로 추가되지 않으므로 가열 명령 및 기타 사용자 지정 동작의 순서를 자유롭게 사용자 지정할 수 있습니다. 모든 Slic3r 설정에 자리 표시 자 변수를 사용할 수 있으므로 원하는 위치에 \"M109 S [first_layer_temperature]\"명령을 넣을 수 있습니다. 여러 개의 압출기가있는 경우 gcode가 압출기 순서로 처리됩니다." +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "최대 공급 속도 of the %1% axis" -#: xs/src/libslic3r/PrintConfig.cpp:1621 -msgid "Single Extruder Multi Material" -msgstr "싱글 익스트루더 멀티메터리얼" +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" +msgstr "최대가속 %1%" -#: xs/src/libslic3r/PrintConfig.cpp:1622 -msgid "The printer multiplexes filaments into a single hot end." -msgstr "프린터는 필라멘트를 하나의 핫 엔드에 멀티플렉싱합니다." +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" +msgstr "최대 가속도는 %1% 축" -#: xs/src/libslic3r/PrintConfig.cpp:1627 -msgid "Generate support material" -msgstr "서포트 재료 생성" +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "최대 저크(jerk) %1%" -#: xs/src/libslic3r/PrintConfig.cpp:1629 -msgid "Enable support material generation." -msgstr "서포트 재료를 사용합니다." +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "최대 저크는(jerk) %1% axis" -#: xs/src/libslic3r/PrintConfig.cpp:1634 -msgid "XY separation between an object and its support" -msgstr "물체와 그 서포트 사이 XY 분리" +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" +msgstr "압출시 최소 공급 속도" -#: xs/src/libslic3r/PrintConfig.cpp:1636 -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 "객체와 그 서포트 사이의 XY 분리. 백분율 (예 : 50 %)로 표시되는 경우 외부 둘레 너비를 기준으로 계산됩니다." +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "최소 이송 속도" -#: xs/src/libslic3r/PrintConfig.cpp:1646 -msgid "Pattern angle" -msgstr "채움 각도" +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "압출시 최대 가속도" -#: xs/src/libslic3r/PrintConfig.cpp:1648 -msgid "Use this setting to rotate the support material pattern on the horizontal plane." -msgstr "이 설정을 사용하여지지 평면 패턴을 수평면으로 회전시킵니다." +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "리트렉션 최대 가속도" -#: xs/src/libslic3r/PrintConfig.cpp:1658 -msgid "Only create support if it lies on a build plate. Don't create support on a print." -msgstr "그것이 빌드 플레이트에있는 경우에만 지원을 작성하십시오. 인쇄물에 대한 지원을 작성하지 마십시오." +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "최대" -#: xs/src/libslic3r/PrintConfig.cpp:1664 -msgid "Contact Z distance" -msgstr "Z 거리 문의" +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "이 설정은 팬의 최대 속도를 나타냅니다." -#: xs/src/libslic3r/PrintConfig.cpp:1666 -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 "물체와 서포트 사이의 수직 거리. 이 값을 0으로 설정하면 Slic3r이 첫 번째 객체 레이어에 브리지 흐름과 속도를 사용하지 못하게됩니다." +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "" +"이것은이 익스트루더의 가장 높은 인쇄 가능 층 높이이며, 가변 층 높이 및 지지" +"층 높이를 캡하는 데 사용됩니다. 합당한 층간 접착력을 얻기 위해 최대 권장 높이" +"는 압출 폭의 75 %입니다. 0으로 설정하면 층 높이가 노즐 지름의 75 %로 제한됩니" +"다." -#: xs/src/libslic3r/PrintConfig.cpp:1674 -msgid "soluble" -msgstr "수용성" +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "최대 프린트 속도" -#: xs/src/libslic3r/PrintConfig.cpp:1675 -msgid "detachable" -msgstr "분리 가능" +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "" +"다른 속도 설정을 0으로 설정할 경우, 지속적인 외부 압력을 유지하기 위해 최적" +"의 속도를 자동 계산한다. 이 실험 설정은 허용할 최대 인쇄 속도를 설정하는 데 " +"사용된다." -#: xs/src/libslic3r/PrintConfig.cpp:1679 -msgid "Enforce support for the first" -msgstr "첫 번째 서포트 더 강화" +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." +msgstr "" +"이 실험 설정은 압출기가 지원하는 최대 체적 속도를 설정하기 위해 사용된다." -#: xs/src/libslic3r/PrintConfig.cpp:1681 -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." -msgstr "일반지지 소재의 활성화 여부와 관계없이 각도 임계 값에 관계없이 하단에서부터 세어 지정된 레이어 수에 대한지지 자료를 생성합니다. 이것은 빌드 플레이트에 매우 얇거나 부족한 풋 프린트를 가진 물체를 더 많이 부착 할 때 유용합니다." +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "최대 체적 기울기 양" -#: xs/src/libslic3r/PrintConfig.cpp:1687 -msgid "Enforce support for the first n layers" -msgstr "첫 번째 n 개의 레이어에 대한 서포트 강화" +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "" +"이 실험 설정은 돌출율의 변화 속도를 제한하는데 사용된다. 1.8mm3/s2 값은 " +"1.8mm3/s(0.45mm 압출 폭, 0.2mm 압출 높이, 공급 속도 20mm/s)에서 5.4mm3/s(공" +"급 속도 60mm/s)로 변경하는 데 최소 2초 이상 걸린다." -#: xs/src/libslic3r/PrintConfig.cpp:1692 -msgid "Support material/raft/skirt extruder" -msgstr "서포트 재료 / 라프트 / 스커트 익스트루더" +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1694 -msgid "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:1218 +msgid "Max volumetric slope negative" +msgstr "최대 체적 기울기 음수" -#: xs/src/libslic3r/PrintConfig.cpp:1703 -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." -msgstr "서포트 재료의 수동 압출 폭을 설정하려면이 값을 0이 아닌 값으로 설정하십시오. 0으로 설정하면 설정된 경우 기본 압출 폭이 사용되고 그렇지 않으면 노즐 지름이 사용됩니다. 백분율 (예 : 90 %)로 표현하면 레이어 높이를 기준으로 계산됩니다." +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "최소" -#: xs/src/libslic3r/PrintConfig.cpp:1711 -msgid "Interface loops" -msgstr "인터페이스 루프" +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "이 설정은 최소 PWM팬이 활동하는데 필요한를 나타냅니다." -#: xs/src/libslic3r/PrintConfig.cpp:1713 -msgid "Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "지지대의 상단 접촉 층을 루프로 덮으십시오. 기본적으로 사용 안 함." +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "" +"이것은 이 압출기에 대한 가장 낮은 인쇄 가능한 층 높이이고 가변 층 높이에 대" +"한 분해능을 제한한다. 대표적인 값은 0.05mm와 0.1mm이다." -#: xs/src/libslic3r/PrintConfig.cpp:1718 -msgid "Support material/raft interface extruder" -msgstr "서포트 재료/라프트 인터페이스 익스트루더" +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" +msgstr "최소 인쇄 속도" -#: xs/src/libslic3r/PrintConfig.cpp:1720 -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 "서포트 재료 인터페이스를 인쇄 할 때 사용할 익스트루더 (도구 변경을 최소화하기 위해 현재 익스트루더를 사용하려면 1+, 0). 이것은 라프트에도 영향을 미칩니다." +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "Slic3r는 이 속도 이하로 속도를 낮추지 않을 것이다." -#: xs/src/libslic3r/PrintConfig.cpp:1727 -msgid "Interface layers" -msgstr "인터페이스 레이어" +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" +msgstr "최소 필라멘트 압출 길이" -#: xs/src/libslic3r/PrintConfig.cpp:1729 -msgid "Number of interface layers to insert between the object(s) and support material." -msgstr "객체와 서포트 재료 사이에 삽입할 인터페이스 레이어 수입니다." +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "" +"하단 레이어에서 지정된 양의 필라멘트를 사용하는 데 필요한 스커트 루프의 수 이" +"상으로 생성한다. 멀티 익스트루더의 경우, 이 최소값은 각 추가기기에 적용된다." -#: xs/src/libslic3r/PrintConfig.cpp:1736 -msgid "Interface pattern spacing" -msgstr "인터페이스 패턴 간격" +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "구성 노트" -#: xs/src/libslic3r/PrintConfig.cpp:1738 -msgid "Spacing between interface lines. Set zero to get a solid interface." -msgstr "인터페이스 라인 간 간격. 솔리드 인터페이스를 가져오려면 0을 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"여기에 개인 노트를 넣을 수 있다. 이 텍스트는 G-code 헤더 코멘트에 추가될 것이" +"다." -#: xs/src/libslic3r/PrintConfig.cpp:1745 -#: xs/src/libslic3r/GCode/PreviewData.cpp:173 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:100 -msgid "Support material interface" -msgstr "서포트 재료 인터페이스" +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "노즐 직경" -#: xs/src/libslic3r/PrintConfig.cpp:1747 -msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." -msgstr "서포트 재료 인터페이스 레이어 인쇄 속도 백분율(예: 50%)로 표현될 경우 서포트 재료 속도에 따라 계산된다." +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgstr "이 지름은 엑스트루더 노즐의 직경이다(예: 0.5, 0.35 등)." -#: xs/src/libslic3r/PrintConfig.cpp:1756 -msgid "Pattern" -msgstr "패턴" +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1758 -msgid "Pattern used to generate support material." -msgstr "서포트 재료를 생성하는 데 사용되는 패턴." +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1765 -msgid "Rectilinear grid" -msgstr "직선 그리드" +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1770 -msgid "Pattern spacing" -msgstr "패턴 간격" +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1772 -msgid "Spacing between support material lines." -msgstr "서포트 재료 라인 사이의 간격" +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "호스트 이름(Hostname), IP or URL" -#: xs/src/libslic3r/PrintConfig.cpp:1781 -msgid "Speed for printing support material." -msgstr "서포트 재료를 인쇄하는 속도." +#: src/libslic3r/PrintConfig.cpp:1318 +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." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1788 -msgid "Synchronize with object layers" -msgstr "객체 레이어와 동기화" +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "둘레를 횡단 할 때만 수축" -#: xs/src/libslic3r/PrintConfig.cpp:1790 -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:1326 +msgid "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." +msgstr "" +"이동 경로가 상위 레이어의 경계를 초과하지 않는 경우 리트랙션을 비활성화합니" +"다. 따라서 모든 오즈가 보이지 않습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1796 -msgid "Overhang threshold" -msgstr "오버행 한계점" +#: src/libslic3r/PrintConfig.cpp:1334 +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:1342 +msgid "Output filename format" +msgstr "출력 파일이름 형식" -#: xs/src/libslic3r/PrintConfig.cpp:1798 -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)." -msgstr "서포트 재료는 경사각(90° = 수직)이 지정된 임계점보다 높은 압출에 대해서는 생성되지 않는다. 즉, 이 값은 서포트 재료 없이 인쇄할 수 있는 가장 수평 경사(수평면에서 측정됨)를 나타낸다. 자동 감지를 위해 0으로 설정하십시오(권장)." +#: src/libslic3r/PrintConfig.cpp:1343 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1810 -msgid "With sheath around the support" -msgstr "서포트 주변이나 외부로" +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "브릿 징 경계선 감지" -#: xs/src/libslic3r/PrintConfig.cpp:1812 -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:1355 +msgid "" +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." +msgstr "" +"오버행에 대한 유량을 조정하는 실험 옵션 (브리지 흐름(flow)이 사용됨)에 브릿" +"지 속도를 적용하고 팬을 활성화합니다." -#: xs/src/libslic3r/PrintConfig.cpp:1819 -msgid "Extruder temperature for layers after the first one. Set this to zero to disable temperature control commands in the output." -msgstr "첫 번째 것 이후에 레이어에 대한 더 낮은 온도. 이 값을 0으로 설정하면 출력에서 ​​온도 제어 명령을 비활성화 할 수 있습니다." +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" +msgstr "필라멘트 멈춤 위치" -#: xs/src/libslic3r/PrintConfig.cpp:1822 -msgid "Temperature" -msgstr "온도 " +#: src/libslic3r/PrintConfig.cpp:1363 +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 "" +"언 로딩시 필라멘트 위치에서 압출기 팁의 거리. 이 값은 프린터 펌웨어의 값과 일" +"치해야합니다. " -#: xs/src/libslic3r/PrintConfig.cpp:1828 -msgid "Detect thin walls" -msgstr "얇은 벽(walls) 감지" +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" +msgstr "추가 로딩 거리" -#: xs/src/libslic3r/PrintConfig.cpp:1830 -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:1373 +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. " +msgstr "" +"0으로 설정하면로드 중에 필라멘트가 위치에서 이동 한 거리는 언로드 중에 다시 " +"이동 한 거리와 동일합니다. 양수이면 음수가 더 많이 로드되고 로드가 음수 인 경" +"우 언로드보다 짧습니다. " -#: xs/src/libslic3r/PrintConfig.cpp:1836 -msgid "Threads" -msgstr "스레드(Threads)" +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "둘레" -#: xs/src/libslic3r/PrintConfig.cpp:1837 -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:1383 +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으로 설정하십" +"시오." -#: xs/src/libslic3r/PrintConfig.cpp:1849 -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 "이 사용자 정의 코드는 모든 압출기 변경 직전에 삽입됩니다. [previous_extruder] 및 [next_extruder]뿐 아니라 모든 Slic3r 설정에 대해 자리 표시 자 변수를 사용할 수 있습니다." +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "주변 익스트루더" -#: xs/src/libslic3r/PrintConfig.cpp:1859 xs/src/libslic3r/PrintConfig.cpp:1870 -#: xs/src/libslic3r/GCode/PreviewData.cpp:168 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:95 -msgid "Top solid infill" -msgstr "가장 윗부분 채움" +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "" +"The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "" +"둘레와 가장자리를 인쇄 할 때 사용할 압출기입니다. 첫 번째 압출기는 1입니다." -#: xs/src/libslic3r/PrintConfig.cpp:1861 -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." -msgstr "이 값을 0이 아닌 값으로 설정하여 상단 서피스에 대한 infill의 수동 압출 폭을 설정합니다. 얇은 압출 성형물을 사용하여 모든 좁은 지역을 채우고 더 매끄러운 마무리를 할 수 있습니다. 0으로 설정된 경우 기본 압출 폭이 사용되고 그렇지 않으면 노즐 지름이 사용됩니다. 백분율 (예 : 90 %)로 표현하면 레이어 높이를 기준으로 계산됩니다." +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "" +"이 값을 0이 아닌 값으로 설정하면 수동 압출 폭을 둘레로 설정할 수 있습니다. 보" +"다 정확한 서페이스를 얻으려면 더 얇은 압출 성형품을 사용하는 것이 좋습니다. 0" +"으로 설정하면 설정된 경우 기본 돌출 폭이 사용되고 그렇지 않으면 1.125 x 노즐 " +"직경이 사용됩니다. 백분율 (예 : 200 %)로 표현하면 레이어 높이를 기준으로 계산" +"됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:1872 -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." -msgstr "상단 솔리드 레이어 인쇄 속도 (솔리드 레이어가 아닌 최상단 외부 레이어에만 적용) 표면을 더 좋게 마무리하려면 속도를 늦추시기 바랍니다. 이것은 위의 고체 충전 속도에 대한 백분율 (예 : 80 %)로 나타낼 수 있습니다. 자동으로 0으로 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "둘레의 속도 (등고선, 일명 세로 셸). 자동으로 0으로 설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:1884 lib/Slic3r/GUI/MainFrame.pm:327 -msgid "Top" -msgstr "윗부분" +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "" +"이 옵션은 각 레이어에 대해 생성 할 경계 수를 설정합니다. 추가 경계선 옵션을 " +"사용하면 더 큰 주변 수를 사용하는 경사면을 감지 할 때 Slic3r이이 수를 자동으" +"로 증가시킬 수 있습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1886 -msgid "Number of solid layers to generate on top surfaces." -msgstr "상단 표면에 생성 할 솔리드 레이어 수입니다." +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "(최소)" -#: xs/src/libslic3r/PrintConfig.cpp:1888 -msgid "Top solid layers" -msgstr "탑 솔리드 레이어" +#: src/libslic3r/PrintConfig.cpp:1439 +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." +msgstr "" +"사용자 정의 스크립트를 통해 출력 G 코드를 처리하려면 여기에 절대 경로를 나열" +"하십시오. 여러 개의 스크립트를 세미콜론으로 구분하십시오. 스크립트는 G 코드 " +"파일의 절대 경로를 첫 번째 인수로 전달되며 환경 변수를 읽음으로써 Slic3r 구" +"성 설정에 액세스 할 수 있습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1893 lib/Slic3r/GUI/Plater/3DPreview.pm:105 -msgid "Travel" -msgstr "이송" +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "프린터 타입" -#: xs/src/libslic3r/PrintConfig.cpp:1894 -msgid "Speed for travel moves (jumps between distant extrusion points)." -msgstr "이동 속도 (먼 돌출 점 사이의 점프)." +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." +msgstr "프린터 유형." -#: xs/src/libslic3r/PrintConfig.cpp:1902 -msgid "Use firmware retraction" -msgstr "펌웨어 철회" +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "프린터 노트" -#: xs/src/libslic3r/PrintConfig.cpp:1903 -msgid "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 명령을 사용하여 펌웨어에서 취소를 처리하도록합니다. 이것은 최근의 말린에서만 지원됩니다." +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "프린터 관련 메모를 여기에 넣을 수 있습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1909 -msgid "Use relative E distances" -msgstr "상대적인 E 거리 사용" +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" +msgstr "제조 회사" -#: xs/src/libslic3r/PrintConfig.cpp:1910 -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:1468 +msgid "Name of the printer vendor." +msgstr "프린터 공급 업체의 이름입니다." -#: xs/src/libslic3r/PrintConfig.cpp:1916 -msgid "Use volumetric E" -msgstr "용적 E 사용" +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" +msgstr "프린터 변형" -#: xs/src/libslic3r/PrintConfig.cpp:1917 -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 "이 실험 설정은 선형 밀리미터 대신에 입방 밀리미터 단위의 E 값을 출력으로 사용합니다. 펌웨어가 필라멘트 직경을 모르는 경우 볼륨 모드를 켜고 선택한 필라멘트와 연결된 필라멘트 직경을 사용하기 위해 시작 G 코드에 'M200 D [filament_diameter_0] T0'과 같은 명령을 입력 할 수 있습니다 Slic3r. 이것은 최근의 말린에서만 지원됩니다." +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "" +"프린터 변종 이름입니다. 예를 들어, 프린터 변형은 노즐 지름으로 구별 될 수 있" +"습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1927 -msgid "Enable variable layer height feature" -msgstr "가변 레이어 높이 기능 사용" +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" +msgstr "라프트(Raft) 레이어" -#: xs/src/libslic3r/PrintConfig.cpp:1928 -msgid "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default." -msgstr "일부 프린터 또는 프린터 설정은 가변 레이어 높이로 인쇄하는 데 어려움이있을 수 있습니다. 기본적으로 사용됩니다." +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." +msgstr "" +"물체는 이 개수의 층에 의해 상승되며, 그 아래에서 서포트 재료가 생성될 것이다." -#: xs/src/libslic3r/PrintConfig.cpp:1934 -msgid "Wipe while retracting" -msgstr "수축시 닦아내십시오." +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" +msgstr "해결" -#: xs/src/libslic3r/PrintConfig.cpp:1935 -msgid "This flag will move the nozzle while retracting to minimize the possible blob on leaky extruders." -msgstr "이 플래그는 누출된 리트랙싱의 블럽 가능성을 최소화하기 위해 수축하는 동안 노즐을 이동시킨다." +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "" +"잘라내기 작업의 속도를 높이고 메모리 사용량을 줄이기 위해 입력 파일을 단순화" +"하는 데 사용되는 최소 세부 해상도. 고해상도 모델은 종종 프린터가 렌더링할 수 " +"있는 것보다 더 많은 디테일을 가지고 있다. 단순화를 사용하지 않고 입력에서 전" +"체 해상도를 사용하려면 0으로 설정하십시오." -#: xs/src/libslic3r/PrintConfig.cpp:1942 -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:1506 +msgid "Minimum travel after retraction" +msgstr "리트랙션 후 최소 이동 거리" -#: xs/src/libslic3r/PrintConfig.cpp:1948 -msgid "Purging volumes - load/unload volumes" -msgstr "볼륨 삭제 - 볼륨 로드/언로드" +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "" +"Retraction is not triggered when travel moves are shorter than this length." +msgstr "이동 거리가 이 길이보다 짧으면 리트렉션이 트리거되지 않습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1949 -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:1514 +msgid "Retract amount before wipe" +msgstr "닦아 내기 전의 수축량" -#: xs/src/libslic3r/PrintConfig.cpp:1956 -msgid "Purging volumes - matrix" -msgstr "볼륨 삭제 - 행렬" +#: src/libslic3r/PrintConfig.cpp:1515 +msgid "" +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." +msgstr "" +"보우 덴 압출기를 사용하면 와이퍼 동작을하기 전에 약간의 빠른 리트랙션 를하는 " +"것이 좋습니다." -#: xs/src/libslic3r/PrintConfig.cpp:1957 -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:1523 +msgid "Retract on layer change" +msgstr "레이어 변경 후퇴" -#: xs/src/libslic3r/PrintConfig.cpp:1967 -msgid "Position X" -msgstr "X축 위치" +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "이 플래그는 Z 이동이 완료 될 때마다 취소를 강제 실행합니다." -#: xs/src/libslic3r/PrintConfig.cpp:1968 -msgid "X coordinate of the left front corner of a wipe tower" -msgstr "와이프 타워의 좌측 전면 모서리의 X 좌표" +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "길이" -#: xs/src/libslic3r/PrintConfig.cpp:1974 -msgid "Position Y" -msgstr "Y축 위치" +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "리트랙션 길이" -#: xs/src/libslic3r/PrintConfig.cpp:1975 -msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "와이퍼 작동 타워의 좌측 전방 모서리의 Y 좌표" +#: src/libslic3r/PrintConfig.cpp:1532 +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 "" +"후퇴가 트리거되면 필라멘트가 지정된 양만큼 뒤로 당겨집니다 (길이는 압출기에 " +"들어가기 전에 원시 필라멘트에서 측정됩니다)." -#: xs/src/libslic3r/PrintConfig.cpp:1981 lib/Slic3r/GUI/Plater/3DPreview.pm:76 -msgid "Width" -msgstr "폭" +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "mm (0은 비활성화)" -#: xs/src/libslic3r/PrintConfig.cpp:1982 -msgid "Width of a wipe tower" -msgstr "와이퍼 타워 폭" +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "리트랙션 길이 (툴 체인지)" -#: xs/src/libslic3r/PrintConfig.cpp:1988 -msgid "Wipe tower rotation angle" -msgstr "와이퍼 타워 회전각도" +#: src/libslic3r/PrintConfig.cpp:1541 +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 "" +"공구를 교체하기 전에 후퇴가 트리거되면 필라멘트가 지정된 양만큼 뒤로 당겨집니" +"다 (길이는 압출기에 들어가기 전에 원시 필라멘트에서 측정됩니다)." -#: xs/src/libslic3r/PrintConfig.cpp:1989 -msgid "Wipe tower rotation angle with respect to x-axis " -msgstr "X 축에 대한 와이퍼 타워 각도" +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" +msgstr "Z축 올림" -#: xs/src/libslic3r/PrintConfig.cpp:1990 -msgid "degrees" -msgstr "각도" +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" +"이 값을 양수 값으로 설정하면 철회가 트리거 될 때마다 Z가 빠르게 올라갑니다. " +"여러 개의 압출기를 사용하는 경우 첫 번째 압출기의 설정 만 고려됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:1996 -msgid "Purging into infill" -msgstr "인필로 제거" +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "Z 위" -#: xs/src/libslic3r/PrintConfig.cpp:1997 -msgid "Wiping after toolchange will be preferentially done inside infills. This lowers the amount of waste but may result in longer print time due to additional travel moves." -msgstr "공구 교체 후 닦는 작업은 우선적으로 인필 내부에서 수행됩니다. 이렇게하면 낭비되는 양은 줄어들지만 추가 이동으로 인해 인쇄 시간이 길어질 수 있습니다." +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" +msgstr "오직 Z축 위로만" -#: xs/src/libslic3r/PrintConfig.cpp:2005 -msgid "Purging into objects" -msgstr "객체로 제거" +#: src/libslic3r/PrintConfig.cpp:1561 +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 "" +"이것을 양의 값으로 설정하면, Z 리프트는 지정된 절대 Z 위로만 발생한다. 첫 번" +"째 층에서 리프트를 건너뛸 수 있도록 이 설정을 조정할 수 있다." -#: xs/src/libslic3r/PrintConfig.cpp:2006 -msgid "Objects will be used to wipe 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:1569 +msgid "Below Z" +msgstr "Z 아래" -#: xs/src/libslic3r/PrintConfig.cpp:2013 -msgid "Maximal bridging distance" -msgstr "최대 브리징 거리" +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "Z값 아래만" -#: xs/src/libslic3r/PrintConfig.cpp:2014 -msgid "Maximal distance between supports on sparse infill sections. " -msgstr "드문드문하 인필 섹션에서 지지대 사이의 최대 거리." +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" +"이것을 양수 값으로 설정하면 Z 리프트가 지정된 절대 Z 아래에서만 발생합니다. " +"첫 번째 레이어로 리프트를 제한하기 위해이 설정을 조정할 수 있습니다." -#: xs/src/libslic3r/PrintConfig.cpp:2020 -msgid "XY Size Compensation" -msgstr "XY 크기 보정" +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "재시작시 여분의 길이" -#: xs/src/libslic3r/PrintConfig.cpp:2022 -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:1581 +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 "" +"이동 후 리트렉셔이 보정되면 익스트루더가 추가 양의 필라멘트를 밀어냅니다. 이 " +"설정은 거의 필요하지 않습니다." -#: xs/src/libslic3r/PrintConfig.cpp:2030 -msgid "Z offset" -msgstr "Z 오프셋" +#: src/libslic3r/PrintConfig.cpp:1590 +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "" +"도구를 교환 한 후 리트렉션를 보정하면 익스트루더가 추가 양의 필라멘트를 밀게" +"됩니다." -#: xs/src/libslic3r/PrintConfig.cpp:2031 -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 "이 값은 출력 G-코드의 모든 Z 좌표에서 추가(또는 감산)된다. 예를 들어, 엔드 스톱 0이 실제로 노즐을 프린트 베드에서 0.3mm 떨어진 곳에 둔 경우, 이를 -0.3(또는 엔드 스톱을 고정)으로 설정하십시오." +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "리트랙션 속도" -#: xs/src/libslic3r/GCode/PreviewData.cpp:163 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:90 -msgid "Perimeter" -msgstr "가장자리" +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "리트랙션 속도 (익스트루더 모터에만 적용됨)." -#: xs/src/libslic3r/GCode/PreviewData.cpp:164 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:91 -msgid "External perimeter" -msgstr "외부 가장자리" +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "감속 속도" -#: xs/src/libslic3r/GCode/PreviewData.cpp:165 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:92 -msgid "Overhang perimeter" -msgstr "오버행(Overhang) 둘레" +#: src/libslic3r/PrintConfig.cpp:1609 +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 "" +"리트랙션 후 압출기에 필라멘트를 로드하는 속도 (압출기 모터에만 적용됨). 0으" +"로 방치하면 리트랙션 속도가 사용됩니다." -#: xs/src/libslic3r/GCode/PreviewData.cpp:166 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:93 -msgid "Internal infill" -msgstr "내부 채움" +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" +msgstr "재봉선 위치" -#: xs/src/libslic3r/GCode/PreviewData.cpp:169 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:96 -msgid "Bridge infill" -msgstr "프릿지 채움" +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "둘레의 시작점의 위치." -#: xs/src/libslic3r/GCode/PreviewData.cpp:176 -msgid "Mixed" -msgstr "뒤석음" +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "무작위" -#: xs/src/libslic3r/GCode/PreviewData.cpp:367 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:74 -msgid "Feature type" -msgstr "특색 유형" +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "가장 가까운" -#: xs/src/libslic3r/GCode/PreviewData.cpp:369 -msgid "Height (mm)" -msgstr "높이 (mm)" +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" +msgstr "정렬" -#: xs/src/libslic3r/GCode/PreviewData.cpp:371 -msgid "Width (mm)" -msgstr "폭 (mm)" +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:373 -msgid "Speed (mm/s)" -msgstr "속도 (mm/s)" +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "방향" -#: xs/src/libslic3r/GCode/PreviewData.cpp:375 -msgid "Volumetric flow rate (mm3/s)" -msgstr "용적 유량값 (mm3/s)" +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "선호하는 심(seam)의 방향" -#: xs/src/libslic3r/GCode/PreviewData.cpp:377 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:79 -msgid "Tool" -msgstr "도구" +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "심(Seam) 선호 방향" -#: lib/Slic3r/GUI.pm:308 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "파일을 선택하세요 (STL/OBJ/AMF/3MF/PRUSA):" +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "지터(Jitter)" -#: lib/Slic3r/GUI/MainFrame.pm:66 -msgid "Version " -msgstr "버전" +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "(Seam) 선호 방향 지터(Jitter)" -#: lib/Slic3r/GUI/MainFrame.pm:66 -msgid " - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr " -http://github.com/prusa3d/slic3r/releases에서 업데이트를 확인하는 것을 잊지 마십시오" +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "재봉선 지터의 선호 방향" -#: lib/Slic3r/GUI/MainFrame.pm:135 -msgid "Plater" -msgstr "플레이트" +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "프린터 연결을 위한 USB/시리얼 포트." -#: lib/Slic3r/GUI/MainFrame.pm:137 -msgid "Controller" -msgstr "컨트롤러" +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "시리얼 포트 속도" -#: lib/Slic3r/GUI/MainFrame.pm:215 -msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O" -msgstr "오픈 STL/OBJ/AMF/3MF…\tCtrl+O" +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." +msgstr "프린터 연결을 위한 USB/시리얼 포트의 속도(보드)" -#: lib/Slic3r/GUI/MainFrame.pm:215 -msgid "Open a model" -msgstr "오픈 모델" +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "객체로부터의 거리" -#: lib/Slic3r/GUI/MainFrame.pm:218 -msgid "&Load Config…\tCtrl+L" +#: src/libslic3r/PrintConfig.cpp:1680 +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 "" +"스커트와 객체 사이의 거리. 스커트를 객체에 부착하고 접착력을 높이기 위해 이" +"를 0으로 설정한다." -#: lib/Slic3r/GUI/MainFrame.pm:218 -msgid "Load exported configuration file" -msgstr "내 보낸 구성 파일로드" +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "스커트(Skirt) 높이" -#: lib/Slic3r/GUI/MainFrame.pm:221 -msgid "&Export Config…\tCtrl+E" +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." msgstr "" +"스커트의 높이 레이어로 표현된다. 이를 높은 값으로 설정하여 스커트를 드래프트" +"에 대한 쉴ㄷ로 활용하십시오." -#: lib/Slic3r/GUI/MainFrame.pm:221 -msgid "Export current configuration to file" -msgstr "현재 구성을 파일로 내보내기" +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" +msgstr "루프 (최소)" -#: lib/Slic3r/GUI/MainFrame.pm:224 -msgid "&Load Config Bundle…" +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "스커트 루프" + +#: src/libslic3r/PrintConfig.cpp:1699 +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으로 설정하십시오." -#: lib/Slic3r/GUI/MainFrame.pm:224 -msgid "Load presets from a bundle" -msgstr "번들에서 미리 설정로드" +#: src/libslic3r/PrintConfig.cpp:1708 +msgid "Slow down if layer print time is below" +msgstr "레이어 인쇄 시간이 다음과 같은 경우 속도를 낮추십시오" -#: lib/Slic3r/GUI/MainFrame.pm:227 -msgid "&Export Config Bundle…" +#: src/libslic3r/PrintConfig.cpp:1709 +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 "" +"층 인쇄 시간이 이 시간보다 낮게 추정될 경우, 인쇄 이동 속도는 이 값으로 지속" +"되도록 축소된다." -#: lib/Slic3r/GUI/MainFrame.pm:227 -msgid "Export all presets to file" -msgstr "모든 이전 설정을 파일로 내보내기" +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" +msgstr "작은 둘레" -#: lib/Slic3r/GUI/MainFrame.pm:232 -msgid "Q&uick Slice…\tCtrl+U" +#: src/libslic3r/PrintConfig.cpp:1722 +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 "" +"이 개별 설정은 반경이 6.5mm 미만인 속도 (일반적으로 구멍)에 영향을줍니다. 백" +"분율로 표시되는 경우 (예 : 80 %) 위의 속도 설정에서 계산됩니다. 자동으로 0으" +"로 설정하십시오." -#: lib/Slic3r/GUI/MainFrame.pm:232 -msgid "Slice a file into a G-code" -msgstr "파일을 G 코드로 분할" +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" +msgstr "솔리드 채우기 임계값 영역" -#: lib/Slic3r/GUI/MainFrame.pm:238 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" +#: src/libslic3r/PrintConfig.cpp:1734 +msgid "" +"Force solid infill for regions having a smaller area than the specified " +"threshold." msgstr "" +"지정된 한계값보다 작은 영역을 가진 영역에 대해 솔리드 인필을 강제 적용." -#: lib/Slic3r/GUI/MainFrame.pm:238 -msgid "Slice a file into a G-code, save as" -msgstr "파일을 G 코드로 분할하고 다음으로 저장" - -#: lib/Slic3r/GUI/MainFrame.pm:244 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:244 -msgid "Repeat last quick slice" -msgstr "마지막으로 빠른 슬라이스 반복" +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "솔리드 인필 익스트루더" -#: lib/Slic3r/GUI/MainFrame.pm:251 -msgid "Slice to SV&G…\tCtrl+G" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "꽉찬 면을 인쇄할 때 사용하는 익스트루더." + +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "솔리드 인필 간격" -#: lib/Slic3r/GUI/MainFrame.pm:251 -msgid "Slice file to a multi-layer SVG" -msgstr "파일을 다중 레이어 SVG로 슬라이스" +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "" +"이 특징은 주어진 개수의 층마다 단단한 층을 강요할 수 있게 한다. 비활성화할 " +"수 없음. 당신은 이것을 어떤 값으로도 설정할 수 있다(예: 9999). Slic3r는 노즐 " +"직경과 층 높이에 따라 결합할 최대 가능한 층 수를 자동으로 선택한다." -#: lib/Slic3r/GUI/MainFrame.pm:255 -msgid "(&Re)Slice Now\tCtrl+S" +#: src/libslic3r/PrintConfig.cpp:1766 +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." msgstr "" +"이 값을 0이 아닌 값으로 설정하여 솔리드 표면 인필에 대한 수동 압출 폭을 설정" +"하십시오. 0인 경우 기본 압출 너비가 사용되며, 그렇지 않으면 1.125 x 노즐 직경" +"이 사용된다. 백분율(예: 90%)로 표현되는 경우, 계층 높이에 걸쳐 계산된다." -#: lib/Slic3r/GUI/MainFrame.pm:255 -msgid "Start new slicing process" -msgstr "새로운 슬라이싱 작업 시작" +#: src/libslic3r/PrintConfig.cpp:1777 +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 "" +"솔리드 영역(상단/하부/내부 수평 셸) 인쇄 속도 이는 위의 기본 주입 속도에 대" +"한 백분율(예: 80%)로 표시할 수 있다. 자동을 위해 0으로 설정한다." -#: lib/Slic3r/GUI/MainFrame.pm:258 -msgid "Repair STL file…" -msgstr "STL 파일 복구 ..." +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "상단 및 하단 표면에 생성할 솔리드 레이어 수입니다." -#: lib/Slic3r/GUI/MainFrame.pm:258 -msgid "Automatically repair an STL file" -msgstr "STL 파일을 자동으로 복구합니다." +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "스파이럴 바이스" -#: lib/Slic3r/GUI/MainFrame.pm:262 -msgid "&Quit" +#: src/libslic3r/PrintConfig.cpp:1797 +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를 점" +"진적으로 상승시킨다. 이 옵션은 단일 둘레, 주입, 상단 솔리드 레이어 및 지지 재" +"료가 필요하지 않다. 당신은 스커트/브림 루프뿐만 아니라 아래 솔리드 레이어의 " +"수에 상관없이 설정할 수 있다. 그것은 물체보다 더 많이 인쇄할 때는 작동하지 않" +"을 것이다." -#: lib/Slic3r/GUI/MainFrame.pm:262 -msgid "Quit Slic3r" -msgstr "Slic3r 종료" +#: src/libslic3r/PrintConfig.cpp:1806 +msgid "Temperature variation" +msgstr "온도 변화" -#: lib/Slic3r/GUI/MainFrame.pm:272 -msgid "Export G-code..." -msgstr "G-코드 내보내기..." +#: src/libslic3r/PrintConfig.cpp:1807 +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 "" +"돌출부가 활성화되지 않은 경우 적용되는 온도 차이. 노즐을 주기적으로 닦는 전" +"체 높이 \"인공\" 스커트가 가능하다." -#: lib/Slic3r/GUI/MainFrame.pm:272 -msgid "Export current plate as G-code" -msgstr "현재 플레이트를 G 코드로 내보내기" +#: src/libslic3r/PrintConfig.cpp:1818 +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]\"명령을 넣을 수 있습니다." + +#: src/libslic3r/PrintConfig.cpp:1834 +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 "" +"이 시작 절차는 프린터가 gcode를 시작한 후 처음에 삽입됩니다. 특정 필라멘트의 " +"설정을 무시하는 데 사용됩니다. Slic3r이 사용자 지정 코드에서 M104, M109, " +"M140 또는 M190을 감지하면 이러한 명령은 자동으로 추가되지 않으므로 가열 명령 " +"및 기타 사용자 지정 동작의 순서를 자유롭게 사용자 지정할 수 있습니다. 모든 " +"Slic3r 설정에 자리 표시 자 변수를 사용할 수 있으므로 원하는 위치에 \"M109 S " +"[first_layer_temperature]\"명령을 넣을 수 있습니다. 여러 개의 압출기가있는 경" +"우 gcode가 압출기 순서로 처리됩니다." + +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "싱글 익스트루더 멀티메터리얼" -#: lib/Slic3r/GUI/MainFrame.pm:275 -msgid "Export plate as STL..." -msgstr "STL로 내보내기..." +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "프린터는 필라멘트를 하나의 핫 엔드에 멀티플렉싱합니다." -#: lib/Slic3r/GUI/MainFrame.pm:275 -msgid "Export current plate as STL" -msgstr "현재 플레이트를 STL로 내보내기" +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:278 -msgid "Export plate as AMF..." -msgstr "AMF로 내보내기..." +#: src/libslic3r/PrintConfig.cpp:1858 +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:278 -msgid "Export current plate as AMF" -msgstr "현재 플레이트를AMF로 내보내기" +#: src/libslic3r/PrintConfig.cpp:1864 +msgid "Generate support material" +msgstr "서포트 재료 생성" -#: lib/Slic3r/GUI/MainFrame.pm:281 -msgid "Export plate as 3MF..." -msgstr "3MF로 내보내기..." +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "서포트 재료를 사용합니다." -#: lib/Slic3r/GUI/MainFrame.pm:281 -msgid "Export current plate as 3MF" -msgstr "현재 플레이트를 3MF로 내보내기" +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:294 -msgid "Select &Plater Tab\tCtrl+1" -msgstr "선택 및 플래이트 탭 Ctrl + 1" +#: src/libslic3r/PrintConfig.cpp:1873 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:294 -msgid "Show the plater" -msgstr "플레이트를 보기" +#: src/libslic3r/PrintConfig.cpp:1880 +msgid "XY separation between an object and its support" +msgstr "물체와 그 서포트 사이 XY 분리" -#: lib/Slic3r/GUI/MainFrame.pm:300 -msgid "Select &Controller Tab\tCtrl+T" +#: src/libslic3r/PrintConfig.cpp:1882 +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 "" +"객체와 그 서포트 사이의 XY 분리. 백분율 (예 : 50 %)로 표시되는 경우 외부 둘" +"레 너비를 기준으로 계산됩니다." + +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" +msgstr "채움 각도" -#: lib/Slic3r/GUI/MainFrame.pm:300 -msgid "Show the printer controller" -msgstr "프린터 컨트롤러 표시" +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." +msgstr "이 설정을 사용하여지지 평면 패턴을 수평면으로 회전시킵니다." -#: lib/Slic3r/GUI/MainFrame.pm:308 -msgid "Select P&rint Settings Tab\tCtrl+2" +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"Only create support if it lies on a build plate. Don't create support on a " +"print." msgstr "" +"그것이 빌드 플레이트에있는 경우에만 지원을 작성하십시오. 인쇄물에 대한 지원" +"을 작성하지 마십시오." -#: lib/Slic3r/GUI/MainFrame.pm:308 -msgid "Show the print settings" -msgstr "인쇄 설정 표시" +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "Z 거리 문의" -#: lib/Slic3r/GUI/MainFrame.pm:311 -msgid "Select &Filament Settings Tab\tCtrl+3" +#: src/libslic3r/PrintConfig.cpp:1915 +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 "" +"물체와 서포트 사이의 수직 거리. 이 값을 0으로 설정하면 Slic3r이 첫 번째 객체 " +"레이어에 브리지 흐름과 속도를 사용하지 못하게됩니다." -#: lib/Slic3r/GUI/MainFrame.pm:311 -msgid "Show the filament settings" -msgstr "필라멘트 설정보기" +#: src/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "수용성" -#: lib/Slic3r/GUI/MainFrame.pm:314 -msgid "Select Print&er Settings Tab\tCtrl+4" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "분리 가능" -#: lib/Slic3r/GUI/MainFrame.pm:314 -msgid "Show the printer settings" -msgstr "간단한 설정보기" +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "첫 번째 서포트 더 강화" -#: lib/Slic3r/GUI/MainFrame.pm:326 -msgid "Iso" +#: src/libslic3r/PrintConfig.cpp:1931 +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." msgstr "" +"일반지지 소재의 활성화 여부와 관계없이 각도 임계 값에 관계없이 하단에서부터 " +"세어 지정된 레이어 수에 대한지지 자료를 생성합니다. 이것은 빌드 플레이트에 매" +"우 얇거나 부족한 풋 프린트를 가진 물체를 더 많이 부착 할 때 유용합니다." -#: lib/Slic3r/GUI/MainFrame.pm:326 -msgid "Iso View" -msgstr "Iso 보기" +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "첫 번째 n 개의 레이어에 대한 서포트 강화" -#: lib/Slic3r/GUI/MainFrame.pm:327 -msgid "Top View" -msgstr "위에서 보기" +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "서포트 재료 / 라프트 / 스커트 익스트루더" -#: lib/Slic3r/GUI/MainFrame.pm:328 -msgid "Bottom View" -msgstr "바닥 보기" +#: src/libslic3r/PrintConfig.cpp:1945 +msgid "" +"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)." -#: lib/Slic3r/GUI/MainFrame.pm:329 -msgid "Front" -msgstr "앞" +#: src/libslic3r/PrintConfig.cpp:1955 +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." +msgstr "" +"서포트 재료의 수동 압출 폭을 설정하려면이 값을 0이 아닌 값으로 설정하십시오. " +"0으로 설정하면 설정된 경우 기본 압출 폭이 사용되고 그렇지 않으면 노즐 지름이 " +"사용됩니다. 백분율 (예 : 90 %)로 표현하면 레이어 높이를 기준으로 계산됩니다." -#: lib/Slic3r/GUI/MainFrame.pm:329 -msgid "Front View" -msgstr "앞면 보기" +#: src/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "인터페이스 루프" -#: lib/Slic3r/GUI/MainFrame.pm:330 -msgid "Rear View" -msgstr "뒷면 보기" +#: src/libslic3r/PrintConfig.cpp:1966 +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "지지대의 상단 접촉 층을 루프로 덮으십시오. 기본적으로 사용 안 함." -#: lib/Slic3r/GUI/MainFrame.pm:331 -msgid "Left" -msgstr "왼쪽" +#: src/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "서포트 재료/라프트 인터페이스 익스트루더" -#: lib/Slic3r/GUI/MainFrame.pm:331 -msgid "Left View" -msgstr "왼쪽 보기" +#: src/libslic3r/PrintConfig.cpp:1974 +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 "" +"서포트 재료 인터페이스를 인쇄 할 때 사용할 익스트루더 (도구 변경을 최소화하" +"기 위해 현재 익스트루더를 사용하려면 1+, 0). 이것은 라프트에도 영향을 미칩니" +"다." -#: lib/Slic3r/GUI/MainFrame.pm:332 -msgid "Right" -msgstr "오른쪽" +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" +msgstr "인터페이스 레이어" -#: lib/Slic3r/GUI/MainFrame.pm:332 -msgid "Right View" -msgstr "오른쪽 보기" +#: src/libslic3r/PrintConfig.cpp:1984 +msgid "" +"Number of interface layers to insert between the object(s) and support " +"material." +msgstr "객체와 서포트 재료 사이에 삽입할 인터페이스 레이어 수입니다." -#: lib/Slic3r/GUI/MainFrame.pm:338 -msgid "Prusa 3D Drivers" -msgstr "푸르사 3D 드라이버" +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "인터페이스 패턴 간격" -#: lib/Slic3r/GUI/MainFrame.pm:338 -msgid "Open the Prusa3D drivers download page in your browser" -msgstr "브라우저에서 Prusa3D 드라이버 다운로드 페이지를 엽니다." +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." +msgstr "" +"인터페이스 라인 간 간격. 솔리드 인터페이스를 가져오려면 0을 설정하십시오." -#: lib/Slic3r/GUI/MainFrame.pm:341 -msgid "Prusa Edition Releases" -msgstr "Prusa 에디션 릴리스" +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." +msgstr "" +"서포트 재료 인터페이스 레이어 인쇄 속도 백분율(예: 50%)로 표현될 경우 서포트 " +"재료 속도에 따라 계산된다." -#: lib/Slic3r/GUI/MainFrame.pm:341 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "브라우저에서 Prusa Edition 릴리즈 페이지를 엽니 다." +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "패턴" -#: lib/Slic3r/GUI/MainFrame.pm:348 -msgid "Slic3r &Website" -msgstr "Slic3r 및 웹 사이트" +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "서포트 재료를 생성하는 데 사용되는 패턴." -#: lib/Slic3r/GUI/MainFrame.pm:348 -msgid "Open the Slic3r website in your browser" -msgstr "브라우저에서 Slic3r 웹 사이트 열기" +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" +msgstr "직선 그리드" -#: lib/Slic3r/GUI/MainFrame.pm:351 -msgid "Slic3r &Manual" -msgstr "Slic3r &메뉴얼" +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "패턴 간격" -#: lib/Slic3r/GUI/MainFrame.pm:351 -msgid "Open the Slic3r manual in your browser" -msgstr "브라우저에서 Slic3r 설명서를 엽니다." +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "서포트 재료 라인 사이의 간격." -#: lib/Slic3r/GUI/MainFrame.pm:355 -msgid "System Info" -msgstr "시스템 정보" +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "서포트 재료를 인쇄하는 속도." -#: lib/Slic3r/GUI/MainFrame.pm:355 -msgid "Show system information" -msgstr "시스템 정보 표시" +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "객체 레이어와 동기화" -#: lib/Slic3r/GUI/MainFrame.pm:358 -msgid "Show &Configuration Folder" -msgstr "폴더 표시 및 구성" +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." +msgstr "" +"서포트 레이어를 프린트 레이어와 동기화하십시오. 이것은 스위치가 비싼 멀티 메" +"터리얼 프린터에서 유용하다." -#: lib/Slic3r/GUI/MainFrame.pm:358 -msgid "Show user configuration folder (datadir)" -msgstr "사용자 구성 폴더 표시 (datadir)" +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" +msgstr "오버행 한계점" -#: lib/Slic3r/GUI/MainFrame.pm:361 -msgid "Report an Issue" -msgstr "문제보고" +#: src/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "" +"서포트 재료는 경사각(90° = 수직)이 지정된 임계점보다 높은 압출에 대해서는 생" +"성되지 않는다. 즉, 이 값은 서포트 재료 없이 인쇄할 수 있는 가장 수평 경사(수" +"평면에서 측정됨)를 나타낸다. 자동 감지를 위해 0으로 설정하십시오(권장)." -#: lib/Slic3r/GUI/MainFrame.pm:361 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Slic3r Prusa Edition에 관한 문제점 보고" +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "서포트 주변이나 외부로" -#: lib/Slic3r/GUI/MainFrame.pm:364 -msgid "&About Slic3r" -msgstr "&Slic3r에 대하여" +#: src/libslic3r/PrintConfig.cpp:2073 +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 "" +"기본 서포트 주위에 외장 (단일 주변 선)을 추가하십시오. 이것은 페이스 업을보" +"다 신뢰성있게 만들뿐만 아니라 제거하기도 어렵습니다." -#: lib/Slic3r/GUI/MainFrame.pm:364 -msgid "Show about dialog" -msgstr "대화상자 표시" +#: src/libslic3r/PrintConfig.cpp:2081 +msgid "" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." +msgstr "" +"첫 번째 것 이후에 레이어에 대한 더 낮은 온도. 이 값을 0으로 설정하면 출력에" +"서 ​​온도 제어 명령을 비활성화 할 수 있습니다." -#: lib/Slic3r/GUI/MainFrame.pm:374 -msgid "&File" -msgstr "&파일" +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "온도" -#: lib/Slic3r/GUI/MainFrame.pm:375 -msgid "&Plater" -msgstr "&플레이트" +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "얇은 벽(walls) 감지" -#: lib/Slic3r/GUI/MainFrame.pm:376 -msgid "&Object" -msgstr "&객체" +#: src/libslic3r/PrintConfig.cpp:2092 +msgid "" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." +msgstr "싱글 너비 벽 (두 부분이 맞지 않는 부분과 무너지는 부분)을 감지합니다." -#: lib/Slic3r/GUI/MainFrame.pm:377 -msgid "&Window" -msgstr "&윈도우" +#: src/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" +msgstr "스레드(Threads)" -#: lib/Slic3r/GUI/MainFrame.pm:378 -msgid "&View" -msgstr "&보다" +#: src/libslic3r/PrintConfig.cpp:2100 +msgid "" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." +msgstr "" +"스레드는 장기 실행 태스크를 병렬 처리하는 데 사용됩니다. 최적의 스레드 수는 " +"사용 가능한 코어 / 프로세서 수보다 약간 높습니다." -#: lib/Slic3r/GUI/MainFrame.pm:381 -msgid "&Help" -msgstr "&도움말" +#: src/libslic3r/PrintConfig.cpp:2112 +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 "" +"이 사용자 정의 코드는 모든 압출기 변경 직전에 삽입됩니다. " +"[previous_extruder] 및 [next_extruder]뿐 아니라 모든 Slic3r 설정에 대해 자리 " +"표시 자 변수를 사용할 수 있습니다." -#: lib/Slic3r/GUI/MainFrame.pm:412 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "슬라이스 할 파일을 선택하십시오 (STL / OBJ / AMF / 3MF / PRUSA):" +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "" +"이 값을 0이 아닌 값으로 설정하여 상단 서피스에 대한 infill의 수동 압출 폭을 " +"설정합니다. 얇은 압출 성형물을 사용하여 모든 좁은 지역을 채우고 더 매끄러운 " +"마무리를 할 수 있습니다. 0으로 설정된 경우 기본 압출 폭이 사용되고 그렇지 않" +"으면 노즐 지름이 사용됩니다. 백분율 (예 : 90 %)로 표현하면 레이어 높이를 기준" +"으로 계산됩니다." -#: lib/Slic3r/GUI/MainFrame.pm:424 -msgid "No previously sliced file." -msgstr "이전에 분리 된 파일이 없습니다." +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "" +"상단 솔리드 레이어 인쇄 속도 (솔리드 레이어가 아닌 최상단 외부 레이어에만 적" +"용) 표면을 더 좋게 마무리하려면 속도를 늦추시기 바랍니다. 이것은 위의 고체 충" +"전 속도에 대한 백분율 (예 : 80 %)로 나타낼 수 있습니다. 자동으로 0으로 설정하" +"십시오." -#: lib/Slic3r/GUI/MainFrame.pm:425 lib/Slic3r/GUI/Plater.pm:1405 -msgid "Error" -msgstr "에러" +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "윗부분" -#: lib/Slic3r/GUI/MainFrame.pm:429 -msgid "Previously sliced file (" -msgstr "이전에 분리 된 파일 (" +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "상단 표면에 생성 할 솔리드 레이어 수입니다." -#: lib/Slic3r/GUI/MainFrame.pm:429 -msgid ") not found." -msgstr ")을 찾을 수 없습니다." +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "탑 솔리드 레이어" -#: lib/Slic3r/GUI/MainFrame.pm:430 -msgid "File Not Found" -msgstr "파일을 찾을수 없다" +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "이동 속도 (먼 돌출 점 사이의 점프)." -#: lib/Slic3r/GUI/MainFrame.pm:469 -msgid "SVG" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "펌웨어 철회" -#: lib/Slic3r/GUI/MainFrame.pm:469 -msgid "G-code" +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"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 명령을 사용하여 펌웨어에서 취소를 처리하도록합니" +"다. 이것은 최근의 말린에서만 지원됩니다." -#: lib/Slic3r/GUI/MainFrame.pm:469 lib/Slic3r/GUI/Plater.pm:1795 -msgid " file as:" -msgstr " 다음 파일 :" - -#: lib/Slic3r/GUI/MainFrame.pm:483 -msgid "Slicing…" -msgstr "슬라이싱..." +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "상대적인 E 거리 사용" -#: lib/Slic3r/GUI/MainFrame.pm:483 -msgid "Processing " -msgstr "프로세싱" +#: src/libslic3r/PrintConfig.cpp:2177 +msgid "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." +msgstr "" +"펌웨어에 상대 E 값이 필요한 경우이 값을 선택하고, 그렇지 않으면 선택하지 마십" +"시오. 대부분의 회사는 절대 값을 사용합니다." -#: lib/Slic3r/GUI/MainFrame.pm:503 -msgid " was successfully sliced." -msgstr "성공적으로 슬라이스." +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" +msgstr "용적 E 사용" -#: lib/Slic3r/GUI/MainFrame.pm:505 -msgid "Slicing Done!" -msgstr "슬라이스 완료!" +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" +"이 실험 설정은 선형 밀리미터 대신에 입방 밀리미터 단위의 E 값을 출력으로 사용" +"합니다. 펌웨어가 필라멘트 직경을 모르는 경우 볼륨 모드를 켜고 선택한 필라멘트" +"와 연결된 필라멘트 직경을 사용하기 위해 시작 G 코드에 'M200 D " +"[filament_diameter_0] T0'과 같은 명령을 입력 할 수 있습니다 Slic3r. 이것은 최" +"근의 말린에서만 지원됩니다." -#: lib/Slic3r/GUI/MainFrame.pm:521 -msgid "Select the STL file to repair:" -msgstr "복구 할 STL 파일을 선택하십시오." +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "가변 레이어 높이 기능 사용" -#: lib/Slic3r/GUI/MainFrame.pm:535 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "OBJ 파일을 저장하십시오 (STL보다 오류를 덜 조정할 가능성이 적음)." +#: src/libslic3r/PrintConfig.cpp:2197 +msgid "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." +msgstr "" +"일부 프린터 또는 프린터 설정은 가변 레이어 높이로 인쇄하는 데 어려움이있을 " +"수 있습니다. 기본적으로 사용됩니다." -#: lib/Slic3r/GUI/MainFrame.pm:549 -msgid "Your file was repaired." -msgstr "파일이 복구되었습니다." +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "수축시 닦아내십시오" -#: lib/Slic3r/GUI/MainFrame.pm:549 -msgid "Repair" -msgstr "수정" +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." +msgstr "" +"이 플래그는 누출된 리트랙싱의 블럽 가능성을 최소화하기 위해 수축하는 동안 노" +"즐을 이동시킨다." -#: lib/Slic3r/GUI/MainFrame.pm:560 -msgid "Save configuration as:" -msgstr "구성을 저장 :" +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." +msgstr "" +"멀티 메터리알 프린터는 공구 교환 시 익스트루더를 프라이밍하거나 제거해야 할 " +"수 있다. 과도한 물질을 와이퍼 타워에 돌출시킨다." -#: lib/Slic3r/GUI/MainFrame.pm:578 lib/Slic3r/GUI/MainFrame.pm:622 -msgid "Select configuration to load:" -msgstr "로드 할 구성 선택 :" +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" +msgstr "볼륨 삭제 - 볼륨 로드/언로드" -#: lib/Slic3r/GUI/MainFrame.pm:601 -msgid "Save presets bundle as:" -msgstr "이전 설정 번들을 다음과 같이 저장 :" +#: src/libslic3r/PrintConfig.cpp:2221 +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 "" +"이 벡터는 와이퍼 작동 타워에 사용되는 각 공구와 교환하는 데 필요한 볼륨을 저" +"장한다. 이러한 값은 아래 전체 삭제 볼륨 생성을 단순화하기 위해 사용된다. " -#: lib/Slic3r/GUI/MainFrame.pm:642 -#, perl-format -msgid "%d presets successfully imported." -msgstr "% d 사전 설정을 가져 왔습니다." +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" +msgstr "볼륨 삭제 - 행렬" -#: lib/Slic3r/GUI/Plater.pm:164 lib/Slic3r/GUI/Plater.pm:2323 -msgid "3D" +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" +"이 매트릭스는 주어진 공구 쌍에 대해 새 필라멘트를 지우는 데 필요한 볼륨(입방 " +"밀리미터)을 설명한다. " -#: lib/Slic3r/GUI/Plater.pm:206 -msgid "2D" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" +msgstr "X축 위치" + +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "와이프 타워의 좌측 전면 모서리의 X 좌표" -#: lib/Slic3r/GUI/Plater.pm:224 -msgid "Layers" -msgstr "레이어" +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "Y축 위치" -#: lib/Slic3r/GUI/Plater.pm:250 lib/Slic3r/GUI/Plater.pm:268 -msgid "Add…" -msgstr "추가..." +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "와이퍼 작동 타워의 좌측 전방 모서리의 Y 좌표" -#: lib/Slic3r/GUI/Plater.pm:252 lib/Slic3r/GUI/Plater.pm:270 -msgid "Delete All" -msgstr "전부 지움" +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "와이퍼 타워 폭" -#: lib/Slic3r/GUI/Plater.pm:253 lib/Slic3r/GUI/Plater.pm:271 -msgid "Arrange" -msgstr "정렬" +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "와이퍼 타워 회전각도" -#: lib/Slic3r/GUI/Plater.pm:255 -msgid "More" -msgstr "조금 더" +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "X 축에 대한 와이퍼 타워 각도 " -#: lib/Slic3r/GUI/Plater.pm:256 -msgid "Fewer" -msgstr "적게" +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "각도" -#: lib/Slic3r/GUI/Plater.pm:258 -msgid "45° ccw" +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:259 -msgid "45° cw" +#: src/libslic3r/PrintConfig.cpp:2273 +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 "" -#: lib/Slic3r/GUI/Plater.pm:260 lib/Slic3r/GUI/Plater.pm:276 -msgid "Scale…" -msgstr "크기." - -#: lib/Slic3r/GUI/Plater.pm:261 lib/Slic3r/GUI/Plater.pm:277 -#: lib/Slic3r/GUI/Plater.pm:2293 -msgid "Split" -msgstr "쪼개기" - -#: lib/Slic3r/GUI/Plater.pm:262 lib/Slic3r/GUI/Plater.pm:278 -#: lib/Slic3r/GUI/Plater.pm:2296 -msgid "Cut…" -msgstr "자르기." +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:264 lib/Slic3r/GUI/Plater.pm:279 -#: lib/Slic3r/GUI/Plater.pm:2300 -msgid "Settings…" -msgstr "설정." +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" -#: lib/Slic3r/GUI/Plater.pm:265 -msgid "Layer Editing" -msgstr "레이어 편집" +#: src/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" +msgstr "최대 브리징 거리" -#: lib/Slic3r/GUI/Plater.pm:280 -msgid "Layer editing" -msgstr "레이어 편집" +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "드문드문하 인필 섹션에서 지지대 사이의 최대 거리. " -#: lib/Slic3r/GUI/Plater.pm:303 -msgid "Name" -msgstr "이름" +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "XY 크기 보정" -#: lib/Slic3r/GUI/Plater.pm:304 lib/Slic3r/GUI/Plater.pm:992 -msgid "Copies" -msgstr "사본" +#: src/libslic3r/PrintConfig.cpp:2299 +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 평면에서 설정된 값(음수 = 안, 양 = 바깥쪽)에 따라 객체가 증가/정격된다. 이" +"는 구멍 크기를 미세 조정하는데 유용할 수 있다." -#: lib/Slic3r/GUI/Plater.pm:305 lib/Slic3r/GUI/Plater.pm:1158 -#: lib/Slic3r/GUI/Plater.pm:1163 lib/Slic3r/GUI/Plater.pm:2262 -msgid "Scale" -msgstr "크기" +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" +msgstr "Z 오프셋" -#: lib/Slic3r/GUI/Plater.pm:322 -msgid "Export G-code…" -msgstr "G-코드 내보내기..." +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" +"이 값은 출력 G-코드의 모든 Z 좌표에서 추가(또는 감산)된다. 예를 들어, 엔드 스" +"톱 0이 실제로 노즐을 프린트 베드에서 0.3mm 떨어진 곳에 둔 경우, 이를 -0.3(또" +"는 엔드 스톱을 고정)으로 설정하십시오." -#: lib/Slic3r/GUI/Plater.pm:323 -msgid "Slice now" -msgstr "지금 자르기" +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:324 -msgid "Print…" -msgstr "프린트..." +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:325 -msgid "Send to printer" -msgstr "프린터로 보내기" +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:326 -msgid "Export STL…" -msgstr "STL로 내보내기..." +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:453 -msgid "Print settings" -msgstr "프린트 설정" +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:455 -msgid "Printer" -msgstr "프린터" +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:488 -msgid "Info" -msgstr "정보" +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:499 -msgid "Volume" -msgstr "크기" +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:500 -msgid "Facets" -msgstr "측면" +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:501 -msgid "Materials" -msgstr "재료" +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:502 -msgid "Manifold" -msgstr "많은" +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:527 -msgid "Sliced Info" -msgstr "슬라이스된 정보" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:713 -msgid "Loading…" -msgstr "로딩…" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:713 lib/Slic3r/GUI/Plater.pm:727 -msgid "Processing input file\n" -msgstr "입력 파일 처리\n" +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:750 -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" +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" msgstr "" -"이 파일에는 여러 높이에 위치한 여러 객체가 들어 있습니다. 여러 객체로 간주하는 대신,\n" -"이 파일은 여러 부분을 갖는 단일 객체로 보입니까?\n" -#: lib/Slic3r/GUI/Plater.pm:753 lib/Slic3r/GUI/Plater.pm:770 -msgid "Multi-part object detected" -msgstr "다중 부품 객체가 감지" +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:767 +#: src/libslic3r/PrintConfig.cpp:2403 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" +"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 "" -"다중 재료 프린터에 대해 여러 객체가로드되었습니다.\n" -"여러 객체로 간주하는 대신,\n" -"이 파일들은 여러 부분을 갖는 단일 객체를 나타낼 수 있습니까?\n" -#: lib/Slic3r/GUI/Plater.pm:779 -msgid "Loaded " -msgstr "로드(loaded)" +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:837 -msgid "Your object appears to be too large, so it was automatically scaled down to fit your print bed." -msgstr "개체가 너무 커서 인쇄물에 맞게 자동으로 축소되었습니다." +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:838 -msgid "Object too large?" -msgstr "개체가 너무 큽니까?" +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:992 -msgid "Enter the number of copies of the selected object:" -msgstr "선택한 객체의 사본 수를 입력하십시오 :" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1019 -msgid "" -"\n" -"Non-positive value." +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" msgstr "" -"\n" -"양수가 아닌 값." -#: lib/Slic3r/GUI/Plater.pm:1020 -msgid "" -"\n" -"Not a numeric value." +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" msgstr "" -"\n" -"숫자 값이 아닙니다." -#: lib/Slic3r/GUI/Plater.pm:1021 -msgid "Slic3r Error" -msgstr "Slic3r 에러" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1042 -msgid "Enter the rotation angle:" -msgstr "회전 각도를 입력하십시오 :" +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1042 -msgid "Rotate around " -msgstr "회전" +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1042 -msgid "Invalid rotation angle entered" -msgstr "잘못된 회전 각도가 입력되었습니다." +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1132 -#, perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" -msgstr "선택한 객체의 새 크기를 입력하십시오 (인쇄 침대 : % smm)." +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1133 lib/Slic3r/GUI/Plater.pm:1137 -msgid "Scale along " -msgstr "전체 크기" +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1133 lib/Slic3r/GUI/Plater.pm:1137 -#: lib/Slic3r/GUI/Plater.pm:1158 lib/Slic3r/GUI/Plater.pm:1163 -msgid "Invalid scaling value entered" -msgstr "잘못된 배율 값이 입력되었습니다." +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1137 lib/Slic3r/GUI/Plater.pm:1163 -#, no-perl-format -msgid "Enter the scale % for the selected object:" -msgstr "선택한 객체의 비율 %를 입력하십시오." +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1158 -msgid "Enter the new max size for the selected object:" -msgstr "선택한 객체의 새로운 최대 크기를 입력하십시오." +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1218 -msgid "The selected object can't be split because it contains more than one volume/material." -msgstr "선택한 객체는 둘 이상의 볼륨 / 재료가 포함되어 있기 때문에 분할 할 수 없습니다." +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1227 -msgid "The selected object couldn't be split because it contains only one part." -msgstr "선택한 오브젝트는 파트가 하나만 포함되어 있기 때문에 분할 할 수 없습니다." +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1391 -msgid "Slicing cancelled" -msgstr "슬라이싱 취소됨" +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1405 -msgid "Another export job is currently running." -msgstr "다른 내보내기 작업이 현재 실행 중입니다." +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1555 -msgid "File added to print queue" -msgstr "파일이 인쇄 대기열에 추가되었습니다." +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1561 -msgid "G-code file exported to " -msgstr "G 코드 파일을 내보냈습니다." +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1564 -msgid "Export failed" -msgstr "내보내기 실패" +#: src/libslic3r/PrintConfig.cpp:2531 +msgid "" +"Controls the bridge type between two neigboring 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 "" -#: lib/Slic3r/GUI/Plater.pm:1576 -msgid "OctoPrint upload finished." -msgstr "OctoPrint 업로드가 완료되었습니다." +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1610 -msgid "Used Filament (m)" -msgstr "사용자 필라멘트 (m)" +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1612 -msgid "Used Filament (mm³)" -msgstr "사용자 필라멘트 (mm³)" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1614 -msgid "Used Filament (g)" -msgstr "사용자 필라멘트 (g)" +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1618 -msgid "Estimated printing time (normal mode)" -msgstr "예상 인쇄 시간 (일반 모드)" +#: src/libslic3r/PrintConfig.cpp:2548 +msgid "" +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1620 -msgid "Estimated printing time (silent mode)" -msgstr "예상 인쇄 시간 (무으 모드)" +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1659 lib/Slic3r/GUI/Plater.pm:1701 -msgid "STL file exported to " -msgstr "내보낸 STL 파일" +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1740 -msgid "AMF file exported to " -msgstr "내보낸 AMF 파일" +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1744 -msgid "Error exporting AMF file " -msgstr "AMF 파일 내보내기 오류" +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1756 -msgid "3MF file exported to " -msgstr "3MF 파일을 내보냈습니다" +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1760 -msgid "Error exporting 3MF file " -msgstr "3MF 파일 내보내기 오류" +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2140 -#, perl-format -msgid "%d (%d shells)" +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2142 -#, perl-format -msgid "Auto-repaired (%d errors)" -msgstr "오류자동수정 (%d errors)" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2147 -#, perl-format -msgid "%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 후방 모서리" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2152 -msgid "Yes" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2215 -msgid "Remove the selected object" -msgstr "선택한 객체 제거" +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2218 -msgid "Increase copies" -msgstr "복사본 늘리기" +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "" +"How many support points (approximately) should be placed on horizontal " +"surface." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2218 -msgid "Place one more copy of the selected object" -msgstr "선택한 객체를 하나 더 복사합니다." +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2221 -msgid "Decrease copies" -msgstr "복사본 감소" +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2221 -msgid "Remove one copy of the selected object" -msgstr "선택한 객체 복사본 하나 삭제" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2224 -msgid "Set number of copies…" -msgstr "복사될 수량 설정 ..." +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2224 -msgid "Change the number of copies of the selected object" -msgstr "선택한 개체의 복사본 수 변경" +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2228 -msgid "Rotate 45° clockwise" -msgstr "시계 방향으로 45도 회전" +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2228 -msgid "Rotate the selected object by 45° clockwise" -msgstr "객체를 시계 방향으로 45 ° 회전합니다" +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2231 -msgid "Rotate 45° counter-clockwise" -msgstr "반 시계 방향으로 45 ° 회전" +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2231 -msgid "Rotate the selected object by 45° counter-clockwise" -msgstr "객체를 시계 방향으로 45 ° 회전합니다" +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2236 -msgid "Rotate" -msgstr "회전" +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2236 -msgid "Rotate the selected object by an arbitrary angle" -msgstr "선택한 객체를 임의의 각도로 회전" +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2238 -msgid "Around X axis…" -msgstr "X축 으로..." +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2238 -msgid "Rotate the selected object by an arbitrary angle around X axis" -msgstr "선택한 객체를 X 축을 중심으로 임의의 각도만큼 회전" +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2241 -msgid "Around Y axis…" -msgstr "Y축 으로..." +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2241 -msgid "Rotate the selected object by an arbitrary angle around Y axis" -msgstr "선택한 객체를 Y 축을 중심으로 임의의 각도만큼 회전" +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2244 -msgid "Around Z axis…" -msgstr "Z축 으로..." +#: src/libslic3r/PrintConfig.cpp:3031 +msgid "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2244 -msgid "Rotate the selected object by an arbitrary angle around Z axis" -msgstr "선택한 객체를 Z 축을 중심으로 임의의 각도만큼 회전" +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2249 -msgid "Mirror" -msgstr "반전(Mirror)" +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2249 -msgid "Mirror the selected object" -msgstr "반전할 객제를 선택" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2251 lib/Slic3r/GUI/Plater.pm:2267 -#: lib/Slic3r/GUI/Plater.pm:2283 -msgid "Along X axis…" -msgstr "X 축을 따라..." +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2251 -msgid "Mirror the selected object along the X axis" -msgstr "선택한 객체를 X 축을 따라 반전합니다." +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2254 lib/Slic3r/GUI/Plater.pm:2270 -#: lib/Slic3r/GUI/Plater.pm:2286 -msgid "Along Y axis…" -msgstr "Y 축을 따라 ..." +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2254 -msgid "Mirror the selected object along the Y axis" -msgstr "선택한 객체를 Y 축을 따라 반전합니다." +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2257 lib/Slic3r/GUI/Plater.pm:2273 -#: lib/Slic3r/GUI/Plater.pm:2289 -msgid "Along Z axis…" -msgstr "Z 축을 따라 ..." +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2257 -msgid "Mirror the selected object along the Z axis" -msgstr "선택한 객체를 Z 축을 따라 반전합니다." +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2262 lib/Slic3r/GUI/Plater.pm:2278 -msgid "Scale the selected object along a single axis" -msgstr "선택한 객체를 단일 축을 따라 축척합니다." +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2264 lib/Slic3r/GUI/Plater.pm:2280 -msgid "Uniformly…" -msgstr "균등하게..." +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2264 lib/Slic3r/GUI/Plater.pm:2280 -msgid "Scale the selected object along the XYZ axes" -msgstr "선택한 객체를 XYZ 축을 따라 축척합니다." +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2267 lib/Slic3r/GUI/Plater.pm:2283 -msgid "Scale the selected object along the X axis" -msgstr "선택한 객체를 X 축을 따라 축척합니다." +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2270 lib/Slic3r/GUI/Plater.pm:2286 -msgid "Scale the selected object along the Y axis" -msgstr "선택한 객체를 Y 축을 따라 축척합니다." +#: src/libslic3r/PrintConfig.cpp:3076 +msgid "" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2273 lib/Slic3r/GUI/Plater.pm:2289 -msgid "Scale the selected object along the Z axis" -msgstr "선택한 객체를 Z 축을 따라 축척합니다." +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2278 -msgid "Scale to size" -msgstr "크기 조정" +#: src/libslic3r/PrintConfig.cpp:3082 +msgid "" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2293 -msgid "Split the selected object into individual parts" -msgstr "선택한 객체를 개별 부분으로 분할합니다." +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2296 -msgid "Open the 3D cutting tool" -msgstr "3차원 컷팅 도구 열기" +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2300 -msgid "Open the object editor dialog" -msgstr "오브젝트 편집 상자 열기" +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2304 -msgid "Reload from Disk" -msgstr "디스크에서 다시 불러오기" +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2304 -msgid "Reload the selected file from Disk" -msgstr "디스크에서 다시 불러오기" +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2307 -msgid "Export object as STL…" -msgstr "STL로 내보내기..." +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2307 -msgid "Export this single object as STL file" -msgstr "이 객체를 STL 파일로 내 보냅니다." +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2311 -msgid "Fix STL through Netfabb" -msgstr "Netfabb를 통해 STL 수정" +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2311 -msgid "Fix the model by sending it to a Netfabb cloud service through Windows 10 API" -msgstr "Windows 10 API를 통해 Netfabb 클라우드 서비스로 보내 모델 수정" +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "" -#: lib/Slic3r/GUI/Plater/2D.pm:131 -msgid "What do you want to print today? ™" -msgstr "오늘 무엇을 인쇄하고 싶습니까? ™" +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." +msgstr "" -#: lib/Slic3r/GUI/Plater/2D.pm:132 -msgid "Drag your objects here" -msgstr "개체를 여기로 드래그하십시오" +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" +msgstr "뒤석음" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:69 -msgid "1 Layer" -msgstr "1레이어" +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "높이 (mm)" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 -msgid "View" -msgstr "View" +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" +msgstr "폭 (mm)" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:78 -msgid "Volumetric flow rate" -msgstr "용적의 유량값" +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "속도 (mm/s)" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:85 -msgid "Show" -msgstr "보다" +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "용적 유량값 (mm3/s)" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:88 lib/Slic3r/GUI/Plater/3DPreview.pm:89 -msgid "Feature types" -msgstr "특색 유형" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:106 -msgid "Retractions" -msgstr "리트랙션" +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:107 -msgid "Unretractions" -msgstr "리트랙션 취소" +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:108 -msgid "Shells" -msgstr "쉘" +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "" diff --git a/resources/localization/list.txt b/resources/localization/list.txt index 9ecb86761e0..aa673bbdfee 100644 --- a/resources/localization/list.txt +++ b/resources/localization/list.txt @@ -1,32 +1,37 @@ -xs/src/slic3r/GUI/AboutDialog.cpp -xs/src/slic3r/GUI/BedShapeDialog.cpp -xs/src/slic3r/GUI/BedShapeDialog.hpp -xs/src/slic3r/GUI/BonjourDialog.cpp -xs/src/slic3r/GUI/ButtonsDescription.cpp -xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp -xs/src/slic3r/GUI/ConfigWizard.cpp -xs/src/slic3r/GUI/FirmwareDialog.cpp -xs/src/slic3r/GUI/GLCanvas3D.cpp -xs/src/slic3r/GUI/GUI.cpp -xs/src/slic3r/GUI/MsgDialog.cpp -xs/src/slic3r/GUI/Tab.cpp -xs/src/slic3r/GUI/Tab.hpp -xs/src/slic3r/GUI/Field.cpp -xs/src/slic3r/GUI/OptionsGroup.cpp -xs/src/slic3r/GUI/Preset.cpp -xs/src/slic3r/GUI/PresetBundle.cpp -xs/src/slic3r/GUI/PresetHints.cpp -xs/src/slic3r/GUI/Preferences.cpp -xs/src/slic3r/GUI/RammingChart.cpp -xs/src/slic3r/GUI/UpdateDialogs.cpp -xs/src/slic3r/GUI/WipeTowerDialog.cpp -xs/src/slic3r/Utils/OctoPrint.cpp -xs/src/slic3r/Utils/PresetUpdater.cpp -xs/src/libslic3r/Print.cpp -xs/src/libslic3r/PrintConfig.cpp -xs/src/libslic3r/GCode/PreviewData.cpp -lib/Slic3r/GUI.pm -lib/Slic3r/GUI/MainFrame.pm -lib/Slic3r/GUI/Plater.pm -lib/Slic3r/GUI/Plater/2D.pm -lib/Slic3r/GUI/Plater/3DPreview.pm +src/slic3r/GUI/AboutDialog.cpp +src/slic3r/GUI/BedShapeDialog.cpp +src/slic3r/GUI/BedShapeDialog.hpp +src/slic3r/GUI/BonjourDialog.cpp +src/slic3r/GUI/ButtonsDescription.cpp +src/slic3r/GUI/ConfigSnapshotDialog.cpp +src/slic3r/GUI/ConfigWizard.cpp +src/slic3r/GUI/Field.cpp +src/slic3r/GUI/FirmwareDialog.cpp +src/slic3r/GUI/GLCanvas3D.cpp +src/slic3r/GUI/GLGizmo.cpp +src/slic3r/GUI/GUI.cpp +src/slic3r/GUI/GUI_App.cpp +src/slic3r/GUI/GUI_ObjectList.cpp +src/slic3r/GUI/GUI_ObjectManipulation.cpp +src/slic3r/GUI/GUI_Preview.cpp +src/slic3r/GUI/KBShortcutsDialog.cpp +src/slic3r/GUI/MainFrame.cpp +src/slic3r/GUI/MsgDialog.cpp +src/slic3r/GUI/Plater.cpp +src/slic3r/GUI/Preferences.cpp +src/slic3r/GUI/Preset.cpp +src/slic3r/GUI/PresetBundle.cpp +src/slic3r/GUI/PresetHints.cpp +src/slic3r/GUI/PrintHostDialogs.cpp +src/slic3r/GUI/RammingChart.cpp +src/slic3r/GUI/SysInfoDialog.cpp +src/slic3r/GUI/Tab.cpp +src/slic3r/GUI/Tab.hpp +src/slic3r/GUI/UpdateDialogs.cpp +src/slic3r/GUI/WipeTowerDialog.cpp +src/slic3r/Utils/OctoPrint.cpp +src/slic3r/Utils/PresetUpdater.cpp +src/slic3r/Utils/FixModelByWin10.cpp +src/libslic3r/Print.cpp +src/libslic3r/PrintConfig.cpp +src/libslic3r/GCode/PreviewData.cpp diff --git a/resources/localization/pl/Slic3rPE.mo b/resources/localization/pl/Slic3rPE.mo index 93a42160bec8b90bcbf680be213671e6af70a9ba..7cd9902cf56a651724a1e5c3e1efeee1f8bd4c0c 100644 GIT binary patch delta 22066 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 daal+wu^p2irj9 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 diff --git a/resources/localization/pl/Slic3rPE_pl.po b/resources/localization/pl/Slic3rPE_pl.po index 9ab5f61b7a8..44c39a7c288 100644 --- a/resources/localization/pl/Slic3rPE_pl.po +++ b/resources/localization/pl/Slic3rPE_pl.po @@ -1,2187 +1,2118 @@ msgid "" msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-17 13:39+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: Oleksandra Iushchenko \n" +"Language-Team: \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n%10 >= 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" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n%10 >= 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: Poedit 2.0.8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Oleksandra Iushchenko \n" -"Language-Team: \n" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"i ma następujące niezapisane zmiany:" +#: src/slic3r/GUI/AboutDialog.cpp:33 +msgid "About Slic3r" +msgstr "O Slic3r" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1491 -msgid "" -"\n" -"\n" -"Discard changes and continue anyway?" -msgstr "" -"\n" -"\n" -"Odrzucić zmiany i kontynuować?" +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 +msgid "Version" +msgstr "Wersja" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1489 -msgid "" -"\n" -"\n" -"has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"ma następujące niezapisane zmiany:" +#: src/slic3r/GUI/BedShapeDialog.cpp:43 +msgid "Shape" +msgstr "Kształt" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1488 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" -msgstr "" -"\n" -"\n" -"nie jest kompatybilne z drukarką\n" +#: src/slic3r/GUI/BedShapeDialog.cpp:50 +msgid "Rectangular" +msgstr "Prostokątny" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:34 -msgid "" -"\n" -"During the other layers, fan " -msgstr "" -"\n" -"Na pozostałych warstwach, wentylator " +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 +msgid "Size" +msgstr "Rozmiar" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:30 -#, 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%%." -msgstr "" -"\n" -"Jeśli szacowany czas jest wyższy, ale poniżej ~%ds, wentylator będzie pracował z proporcjonalnie zmniejszaną prędkością poniędzy %d%% a %d%%." +#: src/slic3r/GUI/BedShapeDialog.cpp:55 +msgid "Size in X and Y of the rectangular plate." +msgstr "Rozmiar X i Y stołu prostokątnego." + +#: src/slic3r/GUI/BedShapeDialog.cpp:61 +msgid "Origin" +msgstr "Punkt zerowy" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:927 +#: src/slic3r/GUI/BedShapeDialog.cpp:62 msgid "" -"\n" -"Non-positive value." +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." msgstr "" -"\n" -"Wartość ujemna." +"Odległość koordynaty punktu zerowego od przedniego lewego rogu prostokąta." + +#: src/slic3r/GUI/BedShapeDialog.cpp:66 +msgid "Circular" +msgstr "Okrągły" + +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 +msgid "mm" +msgstr "mm" + +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 +msgid "Diameter" +msgstr "Średnica" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:928 +#: src/slic3r/GUI/BedShapeDialog.cpp:71 msgid "" -"\n" -"Not a numeric value." +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." msgstr "" -"\n" -"Wartość nie jest liczbą." +"Średnica stołu. Z założenia punkt bazowy (0, 0) jest zlokalizowany na środku." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid " - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr " - Pamiętaj aby sprawdzać aktualizacja na http://github.com/prusa3d/slic3r/releases" +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 +msgid "Custom" +msgstr "Własny" -# Used in this context: _("Save ") + title + _(" as:") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -msgid " as:" -msgstr " jako:" +#: src/slic3r/GUI/BedShapeDialog.cpp:79 +msgid "Load shape from STL..." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:226 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " z prędkością filamentu %3.2f mm/s." +#: src/slic3r/GUI/BedShapeDialog.cpp:125 +msgid "Settings" +msgstr "Ustawienia" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1035 -msgid " Browse " -msgstr " Przeglądaj " +#: src/slic3r/GUI/BedShapeDialog.cpp:298 +msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Wybierz plik do importu kształtu stołu (STL/OBJ/AMF/3MF/PRUSA):" -# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid " file as:" -msgstr " plik jako:" +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 +msgid "Error! " +msgstr "Błąd! " -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:215 -msgid " flow rate is maximized " -msgstr " przepływ osiąga wartości szczytowe " +#: src/slic3r/GUI/BedShapeDialog.cpp:324 +msgid "The selected file contains no geometry." +msgstr "Wybrany plik nie zawiera żadnego kształtu." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -#, no-c-format +#: src/slic3r/GUI/BedShapeDialog.cpp:328 msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +"The selected file contains several disjoint areas. This is not supported." msgstr "" -" wzór wypełnienia nie działa z gęstością 100%.\n" -"\n" -"Zmienić wzór wypełnienia na linie równoległe?" +"Wybrany plik zawiera kilka rozłączonych obszarów. Taki plik nie jest " +"obsługiwany." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1470 -msgid " preset\n" -msgstr " zestaw ustawień\n" +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape" +msgstr "Kształt stołu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid " preset" -msgstr " zestaw ustawień" +#: src/slic3r/GUI/BonjourDialog.cpp:54 +msgid "Network lookup" +msgstr "Podgląd sieci" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1583 -msgid " Preset" -msgstr " Zestaw ustawień" +#: src/slic3r/GUI/BonjourDialog.cpp:67 +msgid "Address" +msgstr "Adres" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:942 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1637 -msgid " Set " -msgstr " Ustaw " +#: src/slic3r/GUI/BonjourDialog.cpp:68 +msgid "Hostname" +msgstr "Nazwa hosta" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid " the selected preset?" -msgstr " wybrany zestaw ustawień?" +#: src/slic3r/GUI/BonjourDialog.cpp:69 +msgid "Service name" +msgstr "Nazwa usługi" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:548 -msgid " was successfully sliced." -msgstr " został pomyślnie pocięty." +#: src/slic3r/GUI/BonjourDialog.cpp:70 +msgid "OctoPrint version" +msgstr "Wersja OctoPrint" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:220 -msgid " with a volumetric rate " -msgstr " ze współczynnikiem objętościowym " +#: src/slic3r/GUI/BonjourDialog.cpp:188 +msgid "Searching for devices" +msgstr "Wyszukiwanie urządzeń" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:99 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:504 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:789 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:850 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1060 -msgid "%" -msgstr "%" +#: src/slic3r/GUI/BonjourDialog.cpp:195 +msgid "Finished" +msgstr "Zakończono" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:224 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f mm³/s" +#: src/slic3r/GUI/ButtonsDescription.cpp:15 +msgid "Buttons And Text Colors Description" +msgstr "Opis Przycisków i Kolorów Tekstu" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1958 -#, perl-format -msgid "%d (%d shells)" -msgstr "%d (%d obrysów)" +#: src/slic3r/GUI/ButtonsDescription.cpp:40 +msgid "Value is the same as the system value" +msgstr "Wartość jest taka sama jak systemowa" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1965 -#, perl-format -msgid "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d facets reversed, %d backwards edges" -msgstr "%d nieprawidłowych powierzchni, %d naprawionych krawędzi, %d powierzchni usunięto, %d powierzchni dodano, %d powierzchni odwrócono, %d odwróconych krawędzi" +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" +"Wartość została zmieniona i nie równa się wartości systemowej lub tej z " +"ostatnio zapisanego zestawu ustawień" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:269 -#, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d linii: %.2lf mm" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 +msgid "Upgrade" +msgstr "Aktualizacja" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:687 -#, perl-format -msgid "%d presets successfully imported." -msgstr "pomyślnie zaimportowano %d zestawów ustawień." +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 +msgid "Downgrade" +msgstr "Deaktualizacja" -#: xs/src/slic3r/GUI/Field.cpp:102 -#, c-format -msgid "%s doesn't support percentage" -msgstr "%s nie może być wartością procentową" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 +msgid "Before roll back" +msgstr "Przez zmianą" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "&About Slic3r" -msgstr "Inform&acje o Slic3r" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 +msgid "User" +msgstr "Użytkownik" -#: xs/src/slic3r/GUI/GUI.cpp:466 -msgid "&Configuration" -msgstr "&Konfiguracja" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 +msgid "Unknown" +msgstr "Nieznane" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "&Export Config Bundle…" -msgstr "&Eksport Paczki Konfiguracyjnej…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 +msgid "Active: " +msgstr "Aktywny: " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "&Export Config…\tCtrl+E" -msgstr "&Eksport Konfiguracji... \tCtrl+E" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +msgid "slic3r version" +msgstr "wersja Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:418 -msgid "&File" -msgstr "&Plik" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 +msgid "print" +msgstr "druk" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:791 -msgid "&Finish" -msgstr "&Zakończ" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +msgid "filaments" +msgstr "filamenty" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:426 -msgid "&Help" -msgstr "Pomo&c" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 +msgid "printer" +msgstr "drukarka" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "&Load Config Bundle…" -msgstr "Wczytaj Paczkę &Konfiguracyjną…" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 +msgid "vendor" +msgstr "dostawca" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "&Load Config…\tCtrl+L" -msgstr "Wczytaj &Konfigurację...\tCtrl+L" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +msgid "version" +msgstr "wersja" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:420 -msgid "&Object" -msgstr "&Model" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 +msgid "min slic3r version" +msgstr "minimalna wersja slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:419 -msgid "&Plater" -msgstr "&Stół" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 +msgid "max slic3r version" +msgstr "maksymalna wersja Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "&Quit" -msgstr "&Wyjście" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "model" +msgstr "model" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" -msgstr "Powtórz Ostatnie Szybkie &Cięcie\tCtrl+Shift+U" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "variants" +msgstr "warianty" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:422 -msgid "&View" -msgstr "&Widok" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 +msgid "Incompatible with this Slic3r" +msgstr "Niekompatybilne z tą wersją Slic3r" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:421 -msgid "&Window" -msgstr "&Okno" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 +msgid "Activate" +msgstr "Aktywacja" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "(&Re)Slice Now\tCtrl+S" -msgstr "T&nij (ponownie)\tCtrl+S" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 +msgid "Configuration Snapshots" +msgstr "Zrzuty konfiguracji" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:994 -msgid "(minimum)" -msgstr "(minimum)" +#: src/slic3r/GUI/ConfigWizard.cpp:92 +msgid "nozzle" +msgstr "dysza" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid ") not found." -msgstr ") nie znaleziono." +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" +msgstr "domyślnie" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid ". Discard changes and continue anyway?" -msgstr ". Odrzucić zmiany i kontynuować?" +#: src/slic3r/GUI/ConfigWizard.cpp:116 +msgid "Select all" +msgstr "Zaznacz wszystko" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:63 -msgid "1 Layer" -msgstr "1 warstwa" +#: src/slic3r/GUI/ConfigWizard.cpp:117 +msgid "Select none" +msgstr "Odznacz" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:138 -msgid "2D" -msgstr "2D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +#, c-format +msgid "Welcome to the Slic3r %s" +msgstr "Witaj w Slic3r %s" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:104 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2124 -msgid "3D" -msgstr "3D" +#: src/slic3r/GUI/ConfigWizard.cpp:226 +msgid "Welcome" +msgstr "Witaj" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1608 -msgid "3MF file exported to " -msgstr "Plik 3MF został wyeksportowany do " +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 +#, c-format +msgid "Run %s" +msgstr "Uruchom %s" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:185 -msgid "45° ccw" -msgstr "45° przeciwnie do wskazówek zegara" +#: src/slic3r/GUI/ConfigWizard.cpp:234 +#, 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." +msgstr "" +"Witaj w Slic3r Prusa Edition! Ten %s pomoże we wstępnej konfiguracji - tylko " +"kilka ustawień dzieli Cię od gotowości do drukowania." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:186 -msgid "45° cw" -msgstr "45° zgodnie ze wskazówkami zegara" +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" +msgstr "" +"Usuń profile użytkownika - czysta instalacja (najpierw zostanie wykonany " +"zrzut)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:148 -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 "Wyrażenie logiczne (Boole'owskie) używające wartości konfiguracji aktywnego profilu drukarki. Jeśli to wyrażenie jest prawdziwe to znaczy, że aktywny profil jest kompatybilny z drukarką." +#: src/slic3r/GUI/ConfigWizard.cpp:263 +msgid "Other vendors" +msgstr "Inni dostawcy" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:480 -msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." -msgstr "Generalną zasadą jest 160 do 230 °C dla PLA i 215 do 250 °C dla ABS." +#: src/slic3r/GUI/ConfigWizard.cpp:265 +msgid "Custom setup" +msgstr "Własne ustawienia" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 -msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." -msgstr "Generalną zasadą jest 60 °C dla PLA i 110 °C dla ABS. Ustaw zero jeśli nie masz podgrzewanego stołu." +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Automatic updates" +msgstr "Automatyczne aktualizacje" -#: xs/src/slic3r/GUI/AboutDialog.cpp:32 -msgid "About Slic3r" -msgstr "O Slic3r" +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Updates" +msgstr "Aktualizacje" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1099 -msgid "Above Z" -msgstr "Powyżej Z" +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 +msgid "Check for application updates" +msgstr "Sprawdź aktualizacje aplikacji" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:417 -msgid "Acceleration control (advanced)" -msgstr "Ustawienia przyspieszeń (zaawansowane)" +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" +"Włączenie automatycznego sprawdzania dostępności nowych wersji Slic3r PE " +"online. Pojawienie się nowej wersji spowoduje wyświetlenie powiadomienia " +"przy starcie aplikacji (nigdy podczas jej pracy). Ta funkcja służy tylko " +"powiadamianiu, nie instaluje aktualizacji automatycznie." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 -msgid "Activate" -msgstr "Aktywacja" +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 +msgid "Update built-in Presets automatically" +msgstr "Automatyczna aktualizacja wbudowanych zestawów ustawień" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 -msgid "Active: " -msgstr "Aktywny: " +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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 "" +"Włączenie powoduje pobieranie wbudowanych systemowych zestawów ustawień w " +"tle. Te ustawienia są pobierane do oddzielnej lokalizacji tymczasowej. Jeśli " +"pojawi się nowa wersja to opcja jej instalacji pojawi się przy starcie " +"aplikacji." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1566 -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 "Dodaj osłonę (pojedynczą linię) wokół podpory bazowej. Sprawi to, że podpory będą stabilniejsze, ale też trudniejsze do usunięcia." +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" +"Aktualizacje nie są stosowane bez wiedzy użytkownika i nigdy nie nadpisują " +"zapisanych ustawień własnych." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:299 -#, no-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." -msgstr "Dodaj więcej obrysów, aby uniknąć przerw przy pochyłych ścianach. Slic3r będzie dodawał tyle obrysów, ile jest potrzebne aby podeprzeć co najmniej 70% grubości ściany kolejnej warstwy." +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." +msgstr "" +"Dodatkowa kopia zrzutu całej konfiguracji jest tworzona przed " +"zainstalowaniem aktualizacji." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:240 -msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)." -msgstr "Dodaj zwarte wypełnienie przy pochyłych powierzchniach aby zagwarantować odpowiednią grubość warstwy (suma górnych i dolnych zwartych warstw)." +#: src/slic3r/GUI/ConfigWizard.cpp:320 +msgid "Other Vendors" +msgstr "Inni dostawcy" -#: xs/src/slic3r/GUI/Tab.cpp:754 -msgid "Additional information:" -msgstr "Dodatkowe informacje:" +#: src/slic3r/GUI/ConfigWizard.cpp:322 +msgid "Pick another vendor supported by Slic3r PE:" +msgstr "Wybierz innego dostawcę wspieranego przez Slic3r PE:" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:288 -msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied." -msgstr "Dodatkowa kopia zrzutu całej konfiguracji jest tworzona przed zainstalowaniem aktualizacji." +#: src/slic3r/GUI/ConfigWizard.cpp:381 +msgid "Firmware Type" +msgstr "Typ firmware" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 -msgid "Address" -msgstr "Adres" +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 +msgid "Firmware" +msgstr "Firmware" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:177 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:195 -msgid "Add…" -msgstr "Dodaj…" - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:342 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:356 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:449 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:452 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:831 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:107 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:208 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:736 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1733 -msgid "Advanced" -msgstr "Zaawansowane" +#: src/slic3r/GUI/ConfigWizard.cpp:385 +msgid "Choose the type of firmware used by your printer." +msgstr "Wybierz rodzaj firmware używanego przez Twoją drukarkę." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:319 -msgid "Advanced: avrdude output log" -msgstr "Zaawansowane: log wyjściowy z avrdude" +#: src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape and Size" +msgstr "Kształt i rozmiar stołu roboczego" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1138 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:766 -msgid "After layer change G-code" -msgstr "G-code wykonywany po zmianie warstwy" +#: src/slic3r/GUI/ConfigWizard.cpp:422 +msgid "Set the shape of your printer's bed." +msgstr "Ustaw kształt stołu roboczego drukarki." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1636 -msgid "All" -msgstr "Wszystko" +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Filament and Nozzle Diameters" +msgstr "Średnice filamentu i dyszy" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Along X axis…" -msgstr "Wzdłuż osi X…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Along Y axis…" -msgstr "Wzdłuż osi Y…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Along Z axis…" -msgstr "Wzdłuż osi Z…" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1592 -msgid "AMF file exported to " -msgstr "Plik AMF został wyeksportowany do " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Another export job is currently running." -msgstr "W tej chwili trwa inny proces eksportu." +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Print Diameters" +msgstr "Średnice wydruku" -#: xs/src/slic3r/GUI/Tab.cpp:749 -msgid "Any modifications should be saved as a new preset inherited from this one. " -msgstr "Każda modyfikacja powinna zostać zapisana jako nowy zestaw ustawień dziedziczony z obecnego. " +#: src/slic3r/GUI/ConfigWizard.cpp:452 +msgid "Enter the diameter of your printer's hot end nozzle." +msgstr "Wprowadź średnicę dyszy hotendu." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:901 -msgid "API Key" -msgstr "Klucz API" +#: src/slic3r/GUI/ConfigWizard.cpp:455 +msgid "Nozzle Diameter:" +msgstr "Średnica dyszy:" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:299 -msgid "Application preferences" -msgstr "Preferencje aplikacji" +#: src/slic3r/GUI/ConfigWizard.cpp:465 +msgid "Enter the diameter of your filament." +msgstr "Wprowadź średnicę filamentu." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Application will be restarted" -msgstr "Aplikacja zostanie uruchomiona ponownie" +#: src/slic3r/GUI/ConfigWizard.cpp:466 +msgid "" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." +msgstr "" +"Wymagana jest spora precyzja, użyj więc suwmiarki i przeprowadź kilka " +"pomiarów w sporych odstępach od siebie i oblicz średnią." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:397 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1242 -msgid "approximate seconds" -msgstr "szacowane sekundy" +#: src/slic3r/GUI/ConfigWizard.cpp:469 +msgid "Filament Diameter:" +msgstr "Średnica Filamentu:" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1581 -msgid "Are you sure you want to " -msgstr "Czy na pewno chcesz " +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Extruder and Bed Temperatures" +msgstr "Temperatury ekstrudera i stołu" + +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Temperatures" +msgstr "Temperatury" + +#: src/slic3r/GUI/ConfigWizard.cpp:503 +msgid "Enter the temperature needed for extruding your filament." +msgstr "Wprowadź temperaturę potrzebną do ekstruzji filamentu." + +#: src/slic3r/GUI/ConfigWizard.cpp:504 +msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." +msgstr "Generalną zasadą jest 160 do 230 °C dla PLA i 215 do 250 °C dla ABS." + +#: src/slic3r/GUI/ConfigWizard.cpp:507 +msgid "Extrusion Temperature:" +msgstr "Temperatura ekstrudera:" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:365 +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 +msgid "°C" +msgstr "°C" + +#: src/slic3r/GUI/ConfigWizard.cpp:517 msgid "" -"Are you sure you want to cancel firmware flashing?\n" -"This could leave your printer in an unusable state!" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." msgstr "" -"Czy na pewno chcesz przerwać flashowanie firmware?\n" -"Może to spowodować nieprzewidziane problemy z drukarką!" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Around X axis…" -msgstr "Wokół osi X…" +"Wprowadź temperaturę potrzebną do dobrego przylegania filamentu do " +"powierzchni podgrzewanego stołu." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Around Y axis…" -msgstr "Wokół osi Y…" +#: src/slic3r/GUI/ConfigWizard.cpp:518 +msgid "" +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " +"no heated bed." +msgstr "" +"Generalną zasadą jest 60 °C dla PLA i 110 °C dla ABS. Ustaw zero jeśli nie " +"masz podgrzewanego stołu." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Around Z axis…" -msgstr "Wokół osi Z…" +#: src/slic3r/GUI/ConfigWizard.cpp:521 +msgid "Bed Temperature:" +msgstr "Temperatura stołu:" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:180 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:198 -msgid "Arrange" -msgstr "Rozmieść" +#: src/slic3r/GUI/ConfigWizard.cpp:833 +msgid "< &Back" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:224 -msgid "Array of language names and identifiers should have the same size." -msgstr "Listy nazw języków i oznaczeń powinny mieć taki sam rozmiar." +#: src/slic3r/GUI/ConfigWizard.cpp:834 +msgid "&Next >" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:688 -msgid "Attempt to free unreferenced scalar" -msgstr "Próba uwolnienia nieokreślonego skalara" +#: src/slic3r/GUI/ConfigWizard.cpp:835 +msgid "&Finish" +msgstr "&Zakończ" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:332 -msgid "Attention!" -msgstr "Uwaga!" +#: src/slic3r/GUI/ConfigWizard.cpp:906 +msgid "Configuration Wizard" +msgstr "Asystent Konfiguracji" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:35 -msgid "Auto-center parts" -msgstr "Rozmieść modele automatycznie" +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "&Asystent Konfiguracji" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1960 -#, perl-format -msgid "Auto-repaired (%d errors)" -msgstr "Naprawiono automatycznie (%d błędów)" +#: src/slic3r/GUI/ConfigWizard.cpp:909 +msgid "Configuration Assistant" +msgstr "Asystent konfiguracji" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Automatic updates" -msgstr "Automatyczne aktualizacje" +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "&Asystent Konfiguracji" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Automatically repair an STL file" -msgstr "Automatyczna naprawa pliku STL" +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:424 -msgid "Autospeed (advanced)" -msgstr "Automatyczne dostosowanie prędkości (zaawansowane)" +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:26 -msgid "Avoid crossing perimeters" -msgstr "Unikaj ruchów nad obrysami" +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "%s nie może być wartością procentową" -#: xs/src/slic3r/GUI/Tab.cpp:2491 +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 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." +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" 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ń." -#: xs/src/slic3r/GUI/Tab.cpp:2505 +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "Wartość poza zakresem" + +#: src/slic3r/GUI/Field.cpp:176 +#, c-format 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." +"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." 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ń." -#: xs/src/slic3r/GUI/Tab.cpp:2455 -msgid "" -"BACK ARROW;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." +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" 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 ikonę STRZAŁKI W TYŁ aby zresetować wszystkie ustawienia w obecnej grupie opcji do tych z ostatnio zapisanego zestawu ustawień." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:43 -msgid "Background processing" -msgstr "Przetwarzanie w tle" +#: src/slic3r/GUI/FirmwareDialog.cpp:133 +msgid "Flash!" +msgstr "Flash!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:800 -msgid "Bed" -msgstr "Stół" +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 +msgid "Cancel" +msgstr "Anuluj" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.hpp:42 -msgid "Bed Shape" -msgstr "Kształt stołu" +#: src/slic3r/GUI/FirmwareDialog.cpp:135 +msgid "Flashing in progress. Please do not disconnect the printer!" +msgstr "Flashowanie w toku. Proszę nie odłączać drukarki!" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:940 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:34 -msgid "Bed shape" -msgstr "Kształt stołu" +#: src/slic3r/GUI/FirmwareDialog.cpp:245 +msgid "Flashing succeeded!" +msgstr "Flashowanie pomyślne!" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:395 -msgid "Bed Shape and Size" -msgstr "Kształt i rozmiar stołu roboczego" +#: src/slic3r/GUI/FirmwareDialog.cpp:246 +msgid "Flashing failed. Please see the avrdude log below." +msgstr "Flashowanie nie powiodło się. Zobacz log z avrdude poniżej." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:42 -msgid "Bed temperature" -msgstr "Temperatura stołu" +#: src/slic3r/GUI/FirmwareDialog.cpp:247 +msgid "Flashing cancelled." +msgstr "Flashowanie anulowane." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:39 -msgid "Bed temperature for layers after the first one. Set this to zero to disable bed temperature control commands in the output." -msgstr "Temperatura stołu dla warstw powyżej pierwszej. Ustaw 0 aby wyłączyć kontrolowanie temperatury w pliku wyjściowym." +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 -msgid "Bed Temperature:" -msgstr "Temperatura stołu:" +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1132 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:48 -msgid "Before layer change G-code" -msgstr "G-code wykonywany przed zmianą warstwy" +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 -msgid "Before roll back" -msgstr "Przez zmianą" +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1108 -msgid "Below Z" -msgstr "Poniżej Z" +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:59 -msgid "Between objects G-code" -msgstr "G-code wykonywany przy przejściach pomiędzy modelami" +#: src/slic3r/GUI/FirmwareDialog.cpp:690 +msgid "Firmware flasher" +msgstr "Flasher firmware" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1150 -msgid "Between objects G-code (for sequential printing)" -msgstr "G-code wykonywany przy przejściach pomiędzy modelami (druk sekwencyjny)" +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "Obraz firmware:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:68 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom" -msgstr "Dolne" +#: src/slic3r/GUI/FirmwareDialog.cpp:716 +msgid "Serial port:" +msgstr "Port szeregowy:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:72 -msgid "Bottom solid layers" -msgstr "Zwarte warstwy dolne" +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:370 -msgid "Bottom View" -msgstr "Widok od dołu" +#: src/slic3r/GUI/FirmwareDialog.cpp:719 +msgid "Rescan" +msgstr "Skanuj ponownie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:77 -msgid "Bridge" -msgstr "Most" +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" +msgstr "Postęp:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:106 -msgid "Bridge flow ratio" -msgstr "Współczynnik przepływu przy mostach" +#: src/slic3r/GUI/FirmwareDialog.cpp:729 +msgid "Status:" +msgstr "Stan:" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:144 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:86 -msgid "Bridge infill" -msgstr "Wypełnienie mostu" +#: src/slic3r/GUI/FirmwareDialog.cpp:730 +msgid "Ready" +msgstr "Gotowe" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:117 -msgid "Bridges" -msgstr "Mosty" +#: src/slic3r/GUI/FirmwareDialog.cpp:750 +msgid "Advanced: avrdude output log" +msgstr "Zaawansowane: log wyjściowy z avrdude" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:97 -msgid "Bridges fan speed" -msgstr "Prędkość wentylatora przy mostach" +#: src/slic3r/GUI/FirmwareDialog.cpp:809 +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ą!" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:86 -msgid "Bridging angle" -msgstr "Kąt linii mostów" +#: src/slic3r/GUI/FirmwareDialog.cpp:810 +msgid "Confirmation" +msgstr "Potwierdzenie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:88 -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." -msgstr "Nadpisanie kąta linii mostów. Jeśli zostanie 0 to kąt zostanie obliczony automatycznie. W innym przypadku ustawiony kąt będzie dotyczył wszystkich mostów. Ustaw 180° dla kąta zerowego." +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Bridging volumetric" -msgstr "Mosty objętościowe" +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 +msgid "Detected object outside print volume" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:371 -msgid "Brim" -msgstr "Brim (obramowanie)" +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:127 -msgid "Brim width" -msgstr "Szerokość brim" +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "Obróć" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 -msgid "Buttons And Text Colors Description" -msgstr "Opis Przycisków i Kolorów Tekstu" +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:218 -msgid "by the print profile maximum" -msgstr "maksimum zależny od profilu wydruku" +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "Skalowanie" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:85 -msgid "Cancel" -msgstr "Anuluj" +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:213 -msgid "Cancelling..." -msgstr "Anulowanie..." +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2124 -msgid "Cannot overwrite a system profile." -msgstr "Nie można nadpisać profilu systemowego." +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2128 -msgid "Cannot overwrite an external profile." -msgstr "Nie można nadpisać profilu zewnętrznego." +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:962 -msgid "Capabilities" -msgstr "Możliwości" +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Capture a configuration snapshot" -msgstr "Zapisz zrzut konfiguracji" +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1597 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "Pliki certyfikatów (*.crt, *.pem)|*.crt;*.pem|Wszystkie pliki|*.*" +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:325 -msgid "Change Application Language" -msgstr "Zmień język aplikacji" +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Change the number of copies of the selected object" -msgstr "Zmień ilość kopii wybranego modelu" +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:272 xs/src/slic3r/GUI/Preferences.cpp:59 -msgid "Check for application updates" -msgstr "Sprawdź aktualizacje aplikacji" +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:298 -msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Wybierz plik do importu kształtu stołu (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:457 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Wybierz plik do pocięcia (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI.pm:286 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Wybierz jeden lub więcej plików (STL/OBJ/AMF/3MF/PRUSA):" +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:360 -msgid "Choose the type of firmware used by your printer." -msgstr "Wybierz rodzaj firmware używanego przez Twoją drukarkę." +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "Obcinanie" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:62 -msgid "Circular" -msgstr "Okrągły" +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:135 -msgid "Clip multi-part objects" -msgstr "Przycinaj modele złożone z kilku części" +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:405 -msgid "Color" -msgstr "Kolor" +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "Uwaga" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:690 -msgid "Combine infill every" -msgstr "Scalaj wypełnienie co" +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "Próba uwolnienia nieokreślonego skalara" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:696 -msgid "Combine infill every n layers" -msgstr "Scalaj wypełnienie co n warstw" +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "Ostrzeżenie" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:509 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:869 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1668 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:143 -msgid "Compatible printers" -msgstr "Kompatybilne drukarki" +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:147 -msgid "Compatible printers condition" -msgstr "Warunki kompatybilności z drukarką" +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Wybierz jeden lub więcej plików (STL/OBJ/AMF/3MF/PRUSA):" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:154 -msgid "Complete individual objects" -msgstr "Druk sekwencyjny (model po modelu)" +#: src/slic3r/GUI/GUI_App.cpp:451 +msgid "Array of language names and identifiers should have the same size." +msgstr "Listy nazw języków i oznaczeń powinny mieć taki sam rozmiar." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:846 -msgid "Configuration Assistant" -msgstr "Asystent konfiguracji" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Select the language" +msgstr "Wybierz język" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:884 -msgid "Configuration notes" -msgstr "Notatki konfiguracyjne" +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Language" +msgstr "Język" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Configuration Snapshots" -msgstr "Zrzuty konfiguracji" +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 +msgid "Default" +msgstr "Domyślnie" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 -msgid "Configuration update" -msgstr "Aktualizacja konfiguracji" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "Zrzuty &konfiguracji" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -msgid "Configuration update is available" -msgstr "Dostępna jest aktualizacja konfiguracji" +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "Inspect / activate configuration snapshots" +msgstr "Sprawdzenie / aktywacja zrzutów konfiguracji" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:844 -msgid "Configuration Wizard" -msgstr "Asystent Konfiguracji" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" +msgstr "Wykonaj &Zrzut Konfiguracji" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:366 -msgid "Confirmation" -msgstr "Potwierdzenie" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Capture a configuration snapshot" +msgstr "Zapisz zrzut konfiguracji" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1020 -msgid "Connection failed." -msgstr "Błąd połączenia." +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" +msgstr "&Preferencje" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:211 -msgid "Connection to OctoPrint works correctly." -msgstr "Połączenie z OctoPrint pomyślne." +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "Application preferences" +msgstr "Preferencje aplikacji" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Connection to printer works correctly." -msgstr "Połączenie z drukarką pomyślne." +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1416 -msgid "Contact Z distance" -msgstr "Odstęp w osi Z" +#: src/slic3r/GUI/GUI_App.cpp:616 +msgid "Simple View Mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:120 -msgid "Controller" -msgstr "Kontroler" +#: src/slic3r/GUI/GUI_App.cpp:617 src/slic3r/GUI/GUI_ObjectList.cpp:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "Zaawansowane" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:805 -msgid "Cooling" -msgstr "Chłodzenie" +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:826 -msgid "Cooling thresholds" -msgstr "Progi chłodzenia" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:178 -msgid "Cooling tube length" -msgstr "Długość rurki chłodzącej" +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:170 -msgid "Cooling tube position" -msgstr "Pozycja rurki chłodzącej" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:221 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Copies" -msgstr "Kopie" +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:476 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:450 -msgid "Cost" -msgstr "Koszt" +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" +msgstr "Zmień &język aplikacji" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Could not connect to OctoPrint" -msgstr "Nie można połączyć się z OctoPrint" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" +msgstr "Flash &firmware drukarki" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1465 -msgid "Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "Pokryj pętlą górną warstwę podpór. Domyślnie wyłączone." +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Upload a firmware image into an Arduino based printer" +msgstr "Wgraj obraz firmware do drukarki opartej na Adruino" -#: xs/src/slic3r/GUI/Tab.cpp:743 -msgid "Current preset is inherited from " -msgstr "Obecny zestaw ustawień jest dziedziczony z " +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Taking configuration snapshot" +msgstr "Zrzucanie konfiguracji" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 -msgid "Current version:" -msgstr "Obecna wersja:" +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Snapshot name" +msgstr "Nazwa zrzutu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:71 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:92 -msgid "Custom" -msgstr "Własny" +#: src/slic3r/GUI/GUI_App.cpp:674 +msgid "Application will be restarted" +msgstr "Aplikacja zostanie uruchomiona ponownie" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:846 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1119 -msgid "Custom G-code" -msgstr "Własny G-code" +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 +msgid "Attention!" +msgstr "Uwaga!" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:240 -msgid "Custom setup" -msgstr "Własne ustawienia" +#: src/slic3r/GUI/GUI_App.cpp:691 +msgid "&Configuration" +msgstr "&Konfiguracja" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:189 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:205 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Cut…" -msgstr "Obcinanie..." +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "You have unsaved changes " +msgstr "Masz niesapisane zmiany " -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Decrease copies" -msgstr "Zmniejsz kopie" +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid ". Discard changes and continue anyway?" +msgstr ". Odrzucić zmiany i kontynuować?" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:300 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:170 -msgid "Default" -msgstr "Domyślnie" +#: src/slic3r/GUI/GUI_App.cpp:712 +msgid "Unsaved Presets" +msgstr "Niezapisane zestawy ustawień" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Field.cpp:42 -msgid "default" -msgstr "domyślnie" +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "Warstwy i Obrysy" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1469 -msgid "Default " -msgstr "Domyślnie " +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "Wypełnienie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:489 -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." -msgstr "Domyślny kąt linii wypełnienia. Mosty będą wypełniane z użyciem najlepszego kierunku obliczonego przez Slic3r, więc to ustawienie ich nie dotyczy." +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "Materiał podporowy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:376 -msgid "Default extrusion width" -msgstr "Domyślna szerokość linii" +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "Prędkość" -#: xs/src/slic3r/GUI/Tab.cpp:767 -msgid "default filament profile" -msgstr "domyślny profil filamentu" +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "Ekstrudery" -#: xs/src/libslic3r/PrintConfig.cpp:196 -msgid "Default filament profile" -msgstr "Domyślny profil filamentu" +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "Szerokość Ekstruzji" -#: xs/src/libslic3r/PrintConfig.cpp:197 -msgid "Default filament profile associated with the current printer profile. On selection of the current printer profile, this filament profile will be activated." -msgstr "Domyślny profil filamentu powiązany z obecnym profilem drukarki. Przy wybraniu obecnego profilu drukarki automatycznie zostanie wybrany ten profil filamentu." +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2287 xs/src/slic3r/GUI/Tab.cpp:2373 -msgid "Default presets" -msgstr "Domyślne zestawy ustawień" +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:202 -msgid "Default print profile" -msgstr "Domyślny profil druku" +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "Nazwa" -#: xs/src/slic3r/GUI/Tab.cpp:764 -msgid "default print profile" -msgstr "domyślny profil druku" +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:203 -msgid "Default print profile associated with the current printer profile. On selection of the current printer profile, this print profile will be activated." -msgstr "Domyślny profil druku powiązany z obecnym profilem drukarki. Przy wybraniu obecnego profilu drukarki automatycznie zostanie wybrany ten profil filamentu." +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1849 -msgid "degrees" -msgstr "stopni" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:476 -msgid "Delay after unloading" -msgstr "Opóźnienie po rozładowaniu" +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:178 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:196 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Delete" -msgstr "Usuń" +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "delete" -msgstr "usuń" +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:179 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:197 -msgid "Delete All" -msgstr "Usuń wszystko" +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:51 -msgid "Delete this preset" -msgstr "Usuń ten zestaw ustawień" +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:440 -msgid "Density" -msgstr "Gęstość" +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:503 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." -msgstr "Gęstość wypełnienia wewnętrznego, wyrażana w zakresie 0% - 100%." +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "Ekstruder" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:507 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:867 -msgid "Dependencies" -msgstr "Zależności" +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1142 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1143 -msgid "Deretraction Speed" -msgstr "Prędkość powrotu retrakcji" +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:940 -msgid "Detect bridging perimeters" -msgstr "Wykrywanie mostów przy obrysach" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1584 -msgid "Detect single-width walls (parts where two extrusions don't fit and we need to collapse them into a single trace)." -msgstr "Wykrywaj ściany o grubości jednego obrysu (obszary, gdzie 2 obrysy nie zmieszczą się i trzeba będzie połączyć je w jedną linię)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1582 -msgid "Detect thin walls" -msgstr "Wykrywanie cienkich ścian" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:66 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:431 -msgid "Diameter" -msgstr "Średnica" +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:67 -msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." -msgstr "Średnica stołu. Z założenia punkt bazowy (0, 0) jest zlokalizowany na środku." +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1169 -msgid "Direction" -msgstr "Kierunek" +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:53 -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 "Wyłącz komunikację z drukarką przez port szeregowy / kabel USB. Upraszcza to interfejs gdy np. drukarka nigdy nie będzie podłączona do komputera." +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:180 -msgid "Disable fan for the first" -msgstr "Wyłącz wentylator przy pierwszych" +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:51 -msgid "Disable USB/serial connection" -msgstr "Wyłącz połączenie USB/szeregowe" +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:916 -msgid "Disables retraction when the travel path does not exceed the upper layer's perimeters (and thus any ooze will be probably invisible)." -msgstr "Wyłącza retrakcję gdy ruch jałowy nie wykracza poza zewnętrzny obrys górnej warstwy (więc jakiekolwiek wycieki z dyszy prawdopodobnie i tak nie będą widoczne)." +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:198 -msgid "Distance between copies" -msgstr "Odstęp pomiędzy kopiami" +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1213 -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 "Odległość skirtu od modelu. Ustaw zero aby dołączyć do modelu i uzyskać obramowanie dla lepszej przyczepności." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1212 -msgid "Distance from object" -msgstr "Odstęp od modelu" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:58 -msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." -msgstr "Odległość koordynaty punktu zerowego od przedniego lewego rogu prostokąta." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 +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ęść." -#: xs/src/libslic3r/PrintConfig.cpp:171 -msgid "Distance of the center-point of the cooling tube from the extruder tip " -msgstr "Odległość punktu centralnego rurki chłodzącej od końcówki ekstrudera " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1032 -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 "Odległość końcówki ekstrudera do miejsca zatrzymania filamentu po rozładowaniu. Ta wartość powinna odpowiadać tej ustawionej w firmware drukarki. " +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:199 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "Odstęp używany przy automatycznym rozmieszczaniu modeli na stole." +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 -msgid "Don't notify about new releases any more" -msgstr "Nie powiadamiaj o nowych wersjach" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:190 -msgid "Don't support bridges" -msgstr "Nie używaj podpór pod mostami" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 -msgid "Downgrade" -msgstr "Deaktualizacja" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:132 -msgid "Drag your objects here" -msgstr "Przeciągnij modele tutaj" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:207 -msgid "Elephant foot compensation" -msgstr "Kompensacja \"stopy słonia\"" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:806 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:922 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1695 -msgid "Enable" -msgstr "Włącz" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:163 -msgid "Enable auto cooling" -msgstr "Włącz automatyczne chłodzenie" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:394 -msgid "Enable fan if layer print time is below" -msgstr "Włącz chłodzenie jeśli czas druku warstwy wynosi poniżej" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1381 -msgid "Enable support material generation." -msgstr "Włącz generowanie materiału podporowego." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:645 -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." -msgstr "Włącz tą opcję aby dodawać komentarz opsiujący do każdej liniki pliku G-code. Przy druku z karty SD dodatkowy rozmiar pliku może sprawiać, że firmware będzie reagować wolniej." +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1681 -msgid "Enable variable layer height feature" -msgstr "Włącz funkcję zmiennej wysokości warstwy" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:853 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1126 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:217 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:227 -msgid "End G-code" -msgstr "Końcowy G-code" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1431 -msgid "Enforce support for the first" -msgstr "Wymuś podpory dla pierwszych" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1439 -msgid "Enforce support for the first n layers" -msgstr "Wymuś podpory dla pierwszych n warstw" +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "Widok" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:238 -msgid "Ensure vertical shell thickness" -msgstr "Zagwarantuj odpowiednią grubość ścianki" +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "Rodzaj funkcji" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 -msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." -msgstr "Wprowadź temperaturę potrzebną do dobrego przylegania filamentu do powierzchni podgrzewanego stołu." +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "Wysokość" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:441 -msgid "Enter the diameter of your filament." -msgstr "Wprowadź średnicę filamentu." +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "Szerokość" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:428 -msgid "Enter the diameter of your printer's hot end nozzle." -msgstr "Wprowadź średnicę dyszy hotendu." +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "Objętościowa wartość przepływu" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -msgid "Enter the new max size for the selected object:" -msgstr "Wprowadź maksymalny rozmiar dla wybranego modelu:" +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "Narzędzie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1030 -#, perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" -msgstr "Wprowadź rozmiar dla wybranego modelu (stół: %s mm):" +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:900 -msgid "Enter the number of copies of the selected object:" -msgstr "Wprowadź ilość kopii wybranego modelu:" +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "Pokaż" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#, no-perl-format -msgid "Enter the scale % for the selected object:" -msgstr "Wprowadź skalę w % dla wybranego modelu:" +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "Rodzaje funkcji" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:479 -msgid "Enter the temperature needed for extruding your filament." -msgstr "Wprowadź temperaturę potrzebną do ekstruzji filamentu." +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "Obrys" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:477 -msgid "Enter your filament cost per kg here. This is only for statistical information." -msgstr "Wprowadź koszt filamentu za kilogram. Służy tylko statystykom." +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "Obrys zewnętrzny" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:441 -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." -msgstr "Wprowadź gęstość filamentu. Służy tylko statystykom. Dobrą metodą jest zważenie filamentu o zmierzonej długości i przeliczenie stosunku wagi do objętości." +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "Obrys zwisu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:432 -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 "Wprowadź średnicę filamentu. Wymagana jest precyzja, więc użyj suwmiarki i zmierz filament w kilku miejscach, potem oblicz średnią." +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "Wypełnienie wewnętrzne" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:488 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:470 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1300 -msgid "Error" -msgstr "Błąd" +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "Zwarte wypełnienie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1612 -msgid "Error exporting 3MF file " -msgstr "Błąd eksportu pliku 3MF " +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "Zwarte wypełnienie górne" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1596 -msgid "Error exporting AMF file " -msgstr "Błąd eksportu pliku AMF " +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "Wypełnienie mostu" -#: xs/src/slic3r/Utils/OctoPrint.cpp:47 -msgid "Error while uploading to the OctoPrint server" -msgstr "Błąd podczas transferu do serwera OctoPrint" +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "Wypełnienie szpar" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:315 -msgid "Error! " -msgstr "Błąd! " +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "Skirt" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:451 -msgid "Estimated printing time" -msgstr "Szacowany czas druku" +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "Warstwa łącząca podpory z modelem" -#: xs/src/slic3r/GUI/GUI.cpp:885 -msgid "Everywhere" -msgstr "Wszędzie" +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" +msgstr "Wieża czyszcząca" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:44 -#, c-format -msgid "except for the first %d layers" -msgstr "za wyjątkiem pierwszych %d warstw" +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "Jałowy" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:48 -msgid "except for the first layer" -msgstr "za wyjątkiem pierwszej warstwy" +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "Retrakcje" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 -msgid "Exit Slic3r" -msgstr "Zamknij Slic3r" +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "Powrót retrakcji" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:192 -msgid "Experimental option for preventing support material from being generated under bridged areas." -msgstr "Funkcja eksperymentalna mająca zapobiegać tworzeniu podpór pod mostami." +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "Powłoka" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:942 -msgid "Experimental option to adjust flow for overhangs (bridge flow will be used), to apply bridge speed to them and enable fan." -msgstr "Opcja eksperymentalna dostosowująca przepływ przy zwisach (zostanie zastosowany przepływ taki jak dla mostów), zastosuje również prędkość i chłodzenie takie jak dla mostów." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:263 -msgid "Export all presets to file" -msgstr "Eksport wszystkich zestawów ustawień do pliku" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1416 -msgid "Export cancelled" -msgstr "Eksport anulowany" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257 -msgid "Export current configuration to file" -msgstr "Eksport obecnej konfiguracji do pliku" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export current plate as 3MF" -msgstr "Eksport zawartości stołu jako 3MF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export current plate as AMF" -msgstr "Eksport zawartości stołu jako AMF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "Eksport G-code" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export current plate as G-code" -msgstr "Eksport zawartości stołu jako G-code" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export current plate as STL" -msgstr "Eksport zawartości stołu jako STL" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1454 -msgid "Export failed" -msgstr "Niepowodzenie eksportu" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:314 -msgid "Export G-code..." -msgstr "Eksport G-code..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:236 -msgid "Export G-code…" -msgstr "Eksport G-code…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "Powtórz ostatnie szybkie cięcie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export object as STL…" -msgstr "Eksport modelu jako STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "Zakładka Stół" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:323 -msgid "Export plate as 3MF..." -msgstr "Eksport zawartości stołu jako 3MF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:320 -msgid "Export plate as AMF..." -msgstr "Eksport zawartości stołu jako AMF..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "Ustawienia Druku" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:317 -msgid "Export plate as STL..." -msgstr "Eksport zawartości stołu jako STL..." +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "Ustawienia Filamentu" -#: xs/src/slic3r/GUI/GUI.cpp:950 -msgid "Export print config" -msgstr "Export konfiguracji druku" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "Ustawienia Drukarki" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:240 -msgid "Export STL…" -msgstr "Eksport STL…" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2113 -msgid "Export this single object as STL file" -msgstr "Eksport pojedynczego modelu jako plik STL" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:139 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:81 -msgid "External perimeter" -msgstr "Obrys zewnętrzny" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "Preferencje" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:267 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:277 -msgid "External perimeters" -msgstr "Obrysy zewnętrzne" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:151 -msgid "external perimeters" -msgstr "obrysów zewnętrznych" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:289 -msgid "External perimeters first" -msgstr "Najpierw obrysy zewnętrzne" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1126 -msgid "Extra length on restart" -msgstr "Dodatkowa ilość dla powrotu" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:297 -msgid "Extra perimeters if needed" -msgstr "Dodatkowe obrysy jeśli potrzebne" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:795 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1234 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:307 -msgid "Extruder" -msgstr "Ekstruder" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1187 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:400 -#, c-format -msgid "Extruder %d" -msgstr "Ekstruder %d" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Extruder and Bed Temperatures" -msgstr "Temperatury ekstrudera i stołu" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "Rozmieść" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:224 -msgid "Extruder changed to" -msgstr "Ekstruder zmieniony na" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:479 -msgid "Extruder clearance (mm)" -msgstr "Odstęp od ekstrudera (mm)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:342 -msgid "Extruder Color" -msgstr "Kolor ekstrudera" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "Usuń wszystko" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:350 -msgid "Extruder offset" -msgstr "Margines ekstrudera" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:626 -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 "Temperatura ekstrudera dla pierwszej warstwy. Jeśli chcesz ręcznie kontrolować temperaturę podczas druku to ustaw zero aby wyłączyć komendy kontrolujące temperaturę w pliku wyjściowym." - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1573 -msgid "Extruder temperature for layers after the first one. Set this to zero to disable temperature control commands in the output." -msgstr "Temperatura ekstrudera dla warstw powyżej pierwszej. Ustaw zero aby wyłączyć komendy kontrolujące temperaturę w pliku wyjściowym." - -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:431 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:308 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:702 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:958 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1445 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1471 -msgid "Extruders" -msgstr "Ekstrudery" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:360 -msgid "Extrusion axis" -msgstr "Oś ekstruzji" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:367 -msgid "Extrusion multiplier" -msgstr "Współczynnik ekstruzji" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:483 -msgid "Extrusion Temperature:" -msgstr "Temperatura ekstrudera:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:453 -msgid "Extrusion width" -msgstr "Szerokość ekstruzji" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:268 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:377 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:592 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:710 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:967 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1292 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1454 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1614 -msgid "Extrusion Width" -msgstr "Szerokość Ekstruzji" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:410 -msgid "Facets" -msgstr "Powierzchnie" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:36 -msgid "Fan " -msgstr "Wentylator " +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:817 -msgid "Fan settings" -msgstr "Ustawienia wentylatora" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:818 -msgid "Fan speed" -msgstr "Prędkość wentylatora" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:330 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:68 -msgid "Feature type" -msgstr "Rodzaj funkcji" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:78 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:79 -msgid "Feature types" -msgstr "Rodzaje funkcji" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:183 -msgid "Fewer" -msgstr "Mniej" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:786 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:787 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:368 -msgid "Filament" -msgstr "Filament" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Filament and Nozzle Diameters" -msgstr "Średnice filamentu i dyszy" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 -msgid "Filament Diameter:" -msgstr "Średnica Filamentu:" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:412 -msgid "Filament notes" -msgstr "Notatki do filamentu" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1031 -msgid "Filament parking position" -msgstr "Pozycja zatrzymania filamentu" +#: src/slic3r/GUI/MainFrame.cpp:53 +msgid "" +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +msgstr "" +" - Pamiętaj aby sprawdzać aktualizacja na http://github.com/prusa3d/slic3r/" +"releases" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:832 -msgid "Filament properties" -msgstr "Właściwości filamentu" +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" +msgstr "Zawartość Stołu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:202 -msgid "Filament Settings" -msgstr "Ustawienia Filamentu" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "&Otwórz" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:450 -msgid "Filament type" -msgstr "Typ filamentu" +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 -msgid "filaments" -msgstr "filamenty" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1445 -msgid "File added to print queue" -msgstr "Plik dodany do kolejki druku" +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:475 -msgid "File Not Found" -msgstr "Nie znaleziono pliku" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:487 -msgid "Fill angle" -msgstr "Kąt wypełnienia" +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:501 -msgid "Fill density" -msgstr "Gęstość wypełnienia" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:539 -msgid "Fill pattern" -msgstr "Wzór wypełnienia" +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:541 -msgid "Fill pattern for general low-density infill." -msgstr "Wzór dla ogólnego wypełnienia o niskiej gęstości." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:248 -msgid "Fill pattern for top/bottom infill. This only affects the external visible layer, and not its adjacent solid shells." -msgstr "Wzór wypełnienia górnego/dolnego. Ma wpływ jedynie na zewnętrzne widoczne warstwy, nie ma wpływu na przylegające do nich powłoki zwartego wypełnienia." +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "Wczytaj wyeksportowany plik konfiguracyjny" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 -msgid "Finished" -msgstr "Zakończono" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1110 -msgid "Firmware" -msgstr "Firmware" +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:266 -msgid "Firmware flasher" -msgstr "Flasher firmware" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:293 -msgid "Firmware image:" -msgstr "Obraz firmware:" +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "Wczytaj zestaw ustawień" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1314 -msgid "Firmware Retraction" -msgstr "Retrakcja z firmware" +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:356 -msgid "Firmware Type" -msgstr "Typ firmware" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "Eksport &G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:573 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:582 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:591 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:625 -msgid "First layer" -msgstr "Pierwsza warstwa" +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "Eksport zawartości stołu jako G-code" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:603 -msgid "First layer height" -msgstr "Wysokość pierwszej warstwy" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "Eksport zawartości stołu jako &STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:615 -msgid "First layer speed" -msgstr "Prędkość pierwszej warstwy" +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "Eksport zawartości stołu jako STL" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "First layer volumetric" -msgstr "Na pierwszej warstwie" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "Eksport zawartości stołu jako &AMF" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Flash printer firmware" -msgstr "Flash firmware drukarki" +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "Eksport zawartości stołu jako AMF" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:84 -msgid "Flash!" -msgstr "Flash!" +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" +msgstr "Eksport &Konfiguracji" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:147 -msgid "Flashing cancelled." -msgstr "Flashowanie anulowane." +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "Eksport obecnej konfiguracji do pliku" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:146 -msgid "Flashing failed. Please see the avrdude log below." -msgstr "Flashowanie nie powiodło się. Zobacz log z avrdude poniżej." +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" +msgstr "Eksport &Paczki Konfiguracyjnej" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:123 -msgid "Flashing in progress. Please do not disconnect the printer!" -msgstr "Flashowanie w toku. Proszę nie odłączać drukarki!" +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "Eksport wszystkich zestawów ustawień do pliku" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:145 -msgid "Flashing succeeded!" -msgstr "Flashowanie pomyślne!" +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:466 -msgid "Flow" -msgstr "Przepływ" +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 -msgid "For more information please visit our wiki page:" -msgstr "Aby uzyskać więcej informacji odwiedź naszą wiki:" +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "Cięcie jako G-code" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:599 -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?" +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" msgstr "" -"Aby wieża czyszcząca działała przy rozpuszczalnych podporach, warstwy podporowe muszą być zsynchronizowane z warstwami modelu.\n" -"\n" -"Zsynchronizować warstwy podporowe aby włączyć wieżę czyszczącą?" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1264 -msgid "Force solid infill for regions having a smaller area than the specified threshold." -msgstr "Wymuś zwarte wypełnienie dla obszarów mniejszych niż zadany próg." +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "Cięcie jako G-code, zapisz jako" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:758 -msgid "Force the generation of solid shells between adjacent materials/volumes. Useful for multi-extruder prints with translucent materials or manual soluble support material." -msgstr "Wymuś generowanie zwartych powłok pomiędzy przylegającymi do siebie materiałami. Przydatne przy druku materiałami przejrzystymi lub przy ręcznych podporach rozpuszczalnych." +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:260 -msgid "From" -msgstr "Od" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "T&nij (ponownie)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front" -msgstr "Przód" +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "Uruchom nowy proces cięcia" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:371 -msgid "Front View" -msgstr "Widok przodu" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "Na&prawa pliku STL" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "G-code" -msgstr "G-code" +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "Automatyczna naprawa pliku STL" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1451 -msgid "G-code file exported to " -msgstr "Plik G-code wyeksportowany do " +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "&Wyjście" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:652 -msgid "G-code flavor" -msgstr "Rodzaj G-code" +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "Zamknij Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:444 -msgid "g/cm³" -msgstr "g/cm³" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:634 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:145 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:87 -msgid "Gap fill" -msgstr "Wypełnienie szpar" +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:937 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:11 -msgid "General" -msgstr "Ogólne" +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:875 -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." -msgstr "Generuj ilość pętli skirtu nie mniejszą niż określona aby zużyć taką ilość filamentu na dolnej warstwie. Dla drukarek z kilkoma ekstuderami ta wartość jest stosowana dla każdego z nich." +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1379 -msgid "Generate support material" -msgstr "Generuj materiał podporowy" +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1433 -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." -msgstr "Generuj materiał podporowy dla określonej liczby warstw licząc od dołu, niezależnie od tego czy normalny materiał podporowy jest włączony i niezależnie od progu kąta. Przydaje się aby uzyskać lepszą przyczepność modelu, które mają bardzo małą powierzchnię kontaktu z powierzchnią druku." +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 -msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." -msgstr "Wymagana jest spora precyzja, użyj więc suwmiarki i przeprowadź kilka pomiarów w sporych odstępach od siebie i oblicz średnią." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "Zakładka &Stół" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:583 -msgid "Heated build plate temperature for the first layer. Set this to zero to disable bed temperature control commands in the output." -msgstr "Temperatura podgrzewanego stołu dla pierwszej warstwy. Ustaw zero aby wyłączyć komendy kontrolujące temperaturę stołu w pliku wyjściowym." +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "Pokaż zawartość stołu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:320 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:69 -msgid "Height" -msgstr "Wysokość" +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "Ustawienia D&ruku" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:332 -msgid "Height (mm)" -msgstr "Wysokość (mm)" +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "Pokaż ustawienia druku" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1222 -msgid "Height of skirt expressed in layers. Set this to a tall value to use skirt as a shield against drafts." -msgstr "Wysokość skirtu wyrażona w warstwach. Ustawienie wysokiej wartości spowoduje stworzenie osłony chroniącej przed przeciągami." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" +msgstr "Ustawienia &Filamentu" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:213 -#, 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." -msgstr "Witaj w Slic3r Prusa Edition! Ten %s pomoże we wstępnej konfiguracji - tylko kilka ustawień dzieli Cię od gotowości do drukowania." +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "Pokaż ustawienia filamentu" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218 -msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." -msgstr "To ustawienie odpowiada za objętość czyszczonego filamentu w (mm³) dla danej pary ekstruderów." +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" +msgstr "&Ustawienia Drukarki" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:329 -msgid "Horizontal shells" -msgstr "Powłoka pozioma" +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "Pokaż ustawienia drukarki" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:128 -msgid "Horizontal width of the brim that will be printed around each object on the first layer." -msgstr "Szerokość brim (obramowania), drukowanego wokół każdego z modeli na pierwszej warstwie." +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 -msgid "Hostname" -msgstr "Nazwa hosta" +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:991 -msgid "Hostname, IP or URL" -msgstr "Nazwa Hosta, IP lub URL" +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:113 -msgid "" -"Hover the cursor over buttons to find more information \n" -"or click this button." +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" msgstr "" -"Umieść kursor nad przyciskiem aby uzyskać więcej informacji\n" -"lub kliknij ten przycisk." -#: xs/src/slic3r/GUI/Tab.cpp:1612 -msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." -msgstr "Plik HTTPS CA jest opcjonalny. Jest potrzebny jedynie w sytuacji, gdy używasz HTTPS z certyfikatem samopodpisanym." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:275 xs/src/slic3r/GUI/Preferences.cpp:61 -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 application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done." -msgstr "Włączenie automatycznego sprawdzania dostępności nowych wersji Slic3r PE online. Pojawienie się nowej wersji spowoduje wyświetlenie powiadomienia przy starcie aplikacji (nigdy podczas jej pracy). Ta funkcja służy tylko powiadamianiu, nie instaluje aktualizacji automatycznie." +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:282 xs/src/slic3r/GUI/Preferences.cpp:69 -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 "Włączenie powoduje pobieranie wbudowanych systemowych zestawów ustawień w tle. Te ustawienia są pobierane do oddzielnej lokalizacji tymczasowej. Jeśli pojawi się nowa wersja to opcja jej instalacji pojawi się przy starcie aplikacji." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "&Izometryczny" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:26 -#, 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 "Jeśli szacowany czas druku warstwy jest niższy niż ~%d s, wentylator będzie pracował na %d %% a prędkość druku zostanie obniżona tak, aby warstwa była drukowana przez nie mniej niż %d s (jednakże prędkość nie zejdzie poniżej %d mm/s)." +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "Widok izometryczny" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:616 -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." -msgstr "Jeśli ustawisz wartość bezwzględną wyrażoną w mm/s, taka prędkość będzie zastosowana dla wszystkich ruchów drukujących dla pierwszej warstwy, nie zależnie od ich rodzajów. Jeśli ustawisz wartość procentową (np. 40%), będzie ona skalowana wg domyślnej prędkości." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "Z &góry" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:395 -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." -msgstr "Jeśli szacowany czas druku warstwy będzie niższy niż ta wartość to wentylator będzie włączony a jego prędkość będzie interpolowana na podstawie górnego i dolnego limitu prędkości." +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "Widok z góry" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1240 -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 "Jeśli szacowany czas druku warstwy będzie niższy niż ta wartość to prędkość ruchów drukujących będzie zmniejszona aby wydłużyć czas druku." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "Od &dołu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:388 -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." -msgstr "Ta opcja spowoduje, że wentylator nie wyłączy się podczas druku, tzn. zawsze będzie pracował z przynajmniej minimalną prędkością. Przydatne dla PLA, może szkodzić przy ABS." +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "Widok od dołu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:37 -msgid "If this is enabled, Slic3r will auto-center objects around the print bed center." -msgstr "Spowoduje, że Slic3r będzie automatycznie umieszczał modele wokół centrum stołu." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "&Przód" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:45 -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." -msgstr "Spowoduje, że Slic3r będzie automatycznie procesował modele jak tylko zostaną załadowane aby zmniejszyć czas eksportu G-code." +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "Widok przodu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:29 -msgid "If this is enabled, Slic3r will prompt the last output directory instead of the one containing the input files." -msgstr "Włączenie spowoduje, że Slic3r będzie za każdym razem pytał gdzie wyeksportować plik zamiast używać katalogu z plikami wejściowymi." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "&Tył" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:77 -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 "Jeśli napotykasz błędy spowodowane problematycznym sterownikiem OpenGL 2.0, spróbuj zaznaczyć to pole. Wyłączy to edycję wysokości warstwy i anti-aliasing, więc prawdopodobnie lepiej będzie zaktualizować sterowniki karty graficznej." +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "Widok z tyłu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1091 -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 "Jeśli ustawisz tu wartość dodatnią to oś Z wykona szybki ruch w górę przy każdej retrakcji. Przy używaniu kilku ekstruderów tylko ustawienia pierwszego z nich będą brane pod uwagę." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "&Lewo" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1101 -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 "Jeśli ustawisz wartość dodatnią, to oś Z (z-hop) będzie podnosić się tylko powyżej ustawionej wartości. Możesz w ten sposób wyłączyć z-hop na pierwszej warstwie." +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "Widok lewy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1110 -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 "Jeśli ustawisz wartość dodatnią, to z-hop będzie odbywał się tylko poniżej ustawionej wartości. Możesz w ten sposób ograniczyć działanie funkcji np. tylko dla pierwszych warstw." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "P&rawo" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:451 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1002 -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." -msgstr "Wprowadź ścieżki do własnych skryptów jeśli chcesz dodać je do wyjściowego pliku G-code. Możesz dodać wiele skryptów, rozdzielając je średnikiem ( ; ). Skrypty będą przetwarzane jako pierwsze w kolejności i mają dostęp do ustawień konfiguracyjnych Slic3ra przez zmienne środowiskowe." +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "Widok prawy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:351 -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)." -msgstr "Jeśli oprogramowanie układowe (firmware) Twojej drukarki nie obsługuje rozmieszczenia ekstruderów to trzeba to określić w G-code. Ta opcja pozwala ustawić rozmieszczenie każdego ekstrudera w relacji do pierwszego. Oczekuje koordynat dodatnich (będą odejmowane od koordynat XY)." +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "&Sterowniki Prusa3D" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1664 -msgid "If your firmware requires relative E values, check this, otherwise leave it unchecked. Most firmwares use absolute values." -msgstr "Jeśli Twój firmware wymaga względnych wartości E, zaznacz to pole. W innym przypadku zostaw puste. Większość układów obsługuje wartości absolutne." +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "Otwórz stronę Prusa3D ze sterownikami w przeglądarce" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 -msgid "Incompatible bundles:" -msgstr "Niekompatybilne zestawy ustawień:" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "W&ydania Prusa Edition" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 -msgid "Incompatible with this Slic3r" -msgstr "Niekompatybilne z tą wersją Slic3r" +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "Otwórz stronę z wydaniami Prusa Edition w przeglądarce" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Increase copies" -msgstr "Zwiększ kopie" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "Strona &WWW Slic3ra" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:346 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:347 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:664 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:87 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:247 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:488 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:502 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:540 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:681 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:691 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:709 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:746 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1263 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1280 -msgid "Infill" -msgstr "Wypełnienie" +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "Otwórz stronę Slic3ra w przeglądarce" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:169 -msgid "infill" -msgstr "wypełnienia" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "I&nstrukcja" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:720 -msgid "Infill before perimeters" -msgstr "Wypełnienie przed obrysami" +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "Otwórz instrukcję do Slic3ra w przeglądarce" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:701 -msgid "Infill extruder" -msgstr "Ekstruder dla wypełnienia" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "&Informacje o systemie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:735 -msgid "Infill/perimeters overlap" -msgstr "Nakładanie wypełnienia na obrysy" +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "Pokaż informacje o systemie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:398 -msgid "Info" -msgstr "Info" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "Pokaż folder &Konfiguracyjny" -#: xs/src/libslic3r/PrintConfig.cpp:819 -msgid "Inherits profile" -msgstr "Dziedziczy profil" +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "Pokaż folder z konfiguracjami użytkownika (datadir)" -#: xs/src/slic3r/GUI/Field.cpp:111 -msgid "Input value is out of range" -msgstr "Wartość poza zakresem" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "Zgłoś &problem" -#: xs/src/slic3r/GUI/GUI.cpp:402 -msgid "Inspect / activate configuration snapshots" -msgstr "Sprawdzenie / aktywacja zrzutów konfiguracji" +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "Zgłoś problem z Slic3r Prusa Edition" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1479 -msgid "Interface layers" -msgstr "Warstwy łączące" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "Inform&acje o Slic3r" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1463 -msgid "Interface loops" -msgstr "Warstwy łączące" +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "Pokaż okienko" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1488 -msgid "Interface pattern spacing" -msgstr "Rozmieszczenie wzoru warstw łączących" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:757 -msgid "Interface shells" -msgstr "Obrysy łączące" +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:141 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:83 -msgid "Internal infill" -msgstr "Wypełnienie wewnętrzne" +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "&Plik" -#: xs/src/slic3r/Utils/OctoPrint.cpp:120 -msgid "Invalid API key" -msgstr "Niewłaściwy klucz API" +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -msgid "Invalid scaling value entered" -msgstr "Nieprawidłowa wartość skalowania" +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "&Okno" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso" -msgstr "Izometryczny" +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "&Widok" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:368 -msgid "Iso View" -msgstr "Widok izometryczny" +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "Pomo&c" -#: xs/src/slic3r/GUI/Tab.cpp:748 -msgid "It can't be deleted or modified. " -msgstr "Nie można usunąć ani zmodyfikować. " +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Wybierz plik do pocięcia (STL/OBJ/AMF/3MF/PRUSA):" -#: xs/src/slic3r/GUI/Tab.cpp:741 -msgid "It's a default preset." -msgstr "Domyślny zestaw ustawień." +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "Brak poprzednio pociętych plików." -#: xs/src/slic3r/GUI/Tab.cpp:742 -msgid "It's a system preset." -msgstr "To jest systemowy zestaw ustawień." +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "Błąd" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1180 -msgid "Jitter" -msgstr "Jitter" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "Poprzednio pocięty plik (" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:387 -msgid "Keep fan always on" -msgstr "Wentylator zawsze włączony" +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr ") nie znaleziono." -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Language" -msgstr "Język" +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "Nie znaleziono pliku" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:192 -msgid "Layer Editing" -msgstr "Edycja Warstw" +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "Zapisz " -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:207 -msgid "Layer editing" -msgstr "Edycja warstw" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "SVG" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:314 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:777 -msgid "Layer height" -msgstr "Wysokość warstwy" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "G-code" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1194 -msgid "Layer height limits" -msgstr "Limit wysokości warstw" +# Context: L('Save ') . ($params{export_svg} ? L('SVG') : L('G-code')) . L(' file as:'), e.g. "Save G-Code file as:" +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" +msgstr " plik jako:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:183 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:694 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1033 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1224 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1285 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1437 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1482 -msgid "layers" -msgstr "warstwy" +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:157 -msgid "Layers" -msgstr "Warstwy" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "Cięcie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:69 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:239 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:290 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:298 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:604 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:762 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:778 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:941 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:989 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1152 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1583 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1639 -msgid "Layers and Perimeters" -msgstr "Warstwy i Obrysy" +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "Przetwarzanie " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:313 -msgid "Layers and perimeters" -msgstr "Warstwy i obrysy" +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr " został pomyślnie pocięty." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left" -msgstr "Lewo" +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "Cięcie zakończone!" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:373 -msgid "Left View" -msgstr "Widok lewy" +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "Wybierz plik STL do naprawy:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1071 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1080 -msgid "Length" -msgstr "Długość" +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "Zapisz plik OBJ (mniej podatny na błędy współrzędnych niż STL) jako:" -#: xs/src/libslic3r/PrintConfig.cpp:179 -msgid "Length of the cooling tube to limit space for cooling moves inside it " -msgstr "Długość rurki chłodzącej ograniczająca ruchy chłodzące wewnątrz jej " - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1090 -msgid "Lift Z" -msgstr "Z-hop" - -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:254 -msgid "Load exported configuration file" -msgstr "Wczytaj wyeksportowany plik konfiguracyjny" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "Twój plik został naprawiony." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:260 -msgid "Load presets from a bundle" -msgstr "Wczytaj zestaw ustawień" +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "Naprawa" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:75 -msgid "Load shape from STL..." -msgstr "Wczytaj kształt z STL..." +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "Zapisz konfigurację jako:" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:692 -msgid "Loaded " -msgstr "Wczytano " +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "Wybierz konfigurację do wczytania:" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 -msgid "loaded" -msgstr "załadowano" +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "Zapisz paczkę ustawień jako:" -#: xs/src/libslic3r/PrintConfig.cpp:459 -msgid "Loading speed" -msgstr "Prędkość ładowania" +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "pomyślnie zaimportowano %d zestawów ustawień." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -msgid "Loading…" -msgstr "Wczytywanie…" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "Błąd Slic3r" -#: xs/src/slic3r/GUI/Tab.cpp:2481 -msgid "LOCKED LOCK icon indicates that the settings are the same as the system values for the current option group" -msgstr "ZAMKNIĘTA KŁÓDKA oznacza, że ustawienia są takie same jak wartości systemowe w obecnej grupie ustawień" +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "Slic3r napotkał błąd" -#: xs/src/slic3r/GUI/Tab.cpp:2497 -msgid "LOCKED LOCK icon indicates that the value is the same as the system value." -msgstr "ZAMKNIĘTA KŁÓDKA oznacza, że ustawienia są takie same jak wartości systemowe." +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2442 -msgid "LOCKED LOCK;indicates that the settings are the same as the system values for the current option group" -msgstr "ZAMKNIĘTA KŁÓDKA;oznacza, że ustawienia są takie same jak wartości systemowe w obecnej grupie ustawień" +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "Info" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1229 -msgid "Loops (minimum)" -msgstr "Pętle (minimum)" +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "Objętość" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:412 -msgid "Manifold" -msgstr "Model zamknięty" +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "Powierzchnie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:411 +#: src/slic3r/GUI/Plater.cpp:128 msgid "Materials" msgstr "Materiały" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:787 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:796 -msgid "Max" -msgstr "Max" - -#: xs/src/libslic3r/PrintConfig.cpp:876 -msgid "Max print height" -msgstr "Maksymalna wysokość wydruku" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:807 -msgid "Max print speed" -msgstr "Maksymalna prędkość druku" - -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 -msgid "max slic3r version" -msgstr "maksymalna wersja Slic3r" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:837 -msgid "Max volumetric slope negative" -msgstr "Maksymalny negatywny kąt zwisu" +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "Model zamknięty" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:826 -msgid "Max volumetric slope positive" -msgstr "Maksymalny objętościowo kąt pozytywny" +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "Informacje o cięciu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:817 -msgid "Max volumetric speed" -msgstr "Maksymalny przepływ" +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "Użyty filament (m)" -#: xs/src/libslic3r/PrintConfig.cpp:1854 -msgid "Maximal bridging distance" -msgstr "Maksymalna odległość drukowania mostów" +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "Użyty filament (mm³)" -#: xs/src/libslic3r/PrintConfig.cpp:1855 -msgid "Maximal distance between supports on sparse infill sections. " -msgstr "Minimalny odstęp pomiędzy podporami w sekcjach rzadkiego wypełnienia. " +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "Użyty filament (g)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:422 -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." -msgstr "Maksymalna prędkość objętościowa dla tego filamentu. Ogranicza maksymalną prędkość objętościową do minimum objętościowej prędkości druku i filamentu. Ustaw zero aby usunąć ograniczenie." +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "Koszt" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:848 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:857 -msgid "Min" -msgstr "Min" +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "Szacowany czas druku" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:866 -msgid "Min print speed" -msgstr "Minimalna prędkość druku" +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 -msgid "min slic3r version" -msgstr "minimalna wersja slic3r" +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "Podpory" -#: xs/src/libslic3r/PrintConfig.cpp:951 -msgid "Minimal filament extrusion length" -msgstr "Minimalna długość ekstruzji" +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "Wybierz rodzaj potrzebnych podpór" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1040 -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." -msgstr "Minimalna rozdzielczość, używana do uproszczenia modelu wejściowego, co prowadzi do przyspieszenia procesu cięcia. Modele w wysokiej rozdzielczości mogą zawierać więcej szczegółów niż drukarka jest w stanie przetworzyć. Ustaw zero aby wyłączyć upraszczanie i użyć pełnej rozdzielczości pliku wejściowego." +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "Brak" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1050 -msgid "Minimum travel after retraction" -msgstr "Minimalny ruch jałowy po retrakcji" +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "Podpory jedynie na powierzchni stołu" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror" -msgstr "Lustrzane" +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "Wszędzie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2055 -msgid "Mirror the selected object" -msgstr "Odbicie lustrzane wybranego modelu" +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "Brim (obramowanie)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2057 -msgid "Mirror the selected object along the X axis" -msgstr "Odbicie lustrzane wybranego modelu w osi X" +#: src/slic3r/GUI/Plater.cpp:381 +msgid "" +"This flag enables the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Ta flaga włącza brim, który zostanie wydrukowany na pierwszej warstwie wokół " +"każdego modelu." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2060 -msgid "Mirror the selected object along the Y axis" -msgstr "Odbicie lustrzane wybranego modelu w osi Y" +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "Objętości czyszczenia" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2063 -msgid "Mirror the selected object along the Z axis" -msgstr "Odbicie lustrzane wybranego modelu w osi Z" +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "Ustawienia druku" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:151 -msgid "Mixed" -msgstr "Mieszane" +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "Filament" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:65 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:200 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:211 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:325 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:336 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:355 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:434 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:781 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:801 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:860 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:878 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:896 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1044 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1052 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1094 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1103 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1113 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1121 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1129 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1215 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1421 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1491 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1527 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1704 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1711 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1718 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1727 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1737 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1747 -msgid "mm" -msgstr "mm" +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1075 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1085 -msgid "mm (zero to disable)" -msgstr "mm (zero aby wyłączyć)" +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:609 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:740 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1390 -msgid "mm or %" -msgstr "mm lub %" +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "Drukarka" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:382 -msgid "mm or % (leave 0 for auto)" -msgstr "mm lub % (zero dla wartości automatycznych)" +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "Wyślij do drukarki" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:272 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:597 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:715 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:972 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1296 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1458 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1619 -msgid "mm or % (leave 0 for default)" -msgstr "mm lub % (zero dla domyślnych)" +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "Cięcie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:638 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:749 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:811 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:868 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:981 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1137 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1146 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1536 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1649 -msgid "mm/s" -msgstr "mm/s" +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "%d (%d obrysów)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:282 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:619 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1255 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1306 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1501 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1631 -msgid "mm/s or %" -msgstr "mm/s lub %" +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "Naprawiono automatycznie (%d błędów)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:80 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:174 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:576 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:684 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:952 -msgid "mm/s²" -msgstr "mm/s²" +#: src/slic3r/GUI/Plater.cpp:795 +#, c-format +msgid "" +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " +"facets reversed, %d backwards edges" +msgstr "" +"%d nieprawidłowych powierzchni, %d naprawionych krawędzi, %d powierzchni " +"usunięto, %d powierzchni dodano, %d powierzchni odwrócono, %d odwróconych " +"krawędzi" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1265 -msgid "mm²" -msgstr "mm²" +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" +msgstr "Tak" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:425 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:820 -msgid "mm³/s" -msgstr "mm³/s" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:831 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:842 -msgid "mm³/s²" -msgstr "mm³/s²" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "model" -msgstr "model" +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:414 -msgid "Modifiers" -msgstr "Modyfikatory" +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:478 -msgid "money/kg" -msgstr "piniendzy/kg" +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "Wczytywanie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:182 -msgid "More" -msgstr "Więcej" +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "Przetwarzanie pliku wejściowego %s\n" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1696 -msgid "Multi material printers may need to prime or purge extruders on tool changes. Extrude the excess material into the wipe tower." -msgstr "Drukarki pracujące z kilkoma filamentami na raz (multi-material) mogą wymagać czyszczenia głowicy przy zmianie filamentu. Nadmiar materiału jest wytłaczany w formie wieży czyszczącej." +#: src/slic3r/GUI/Plater.cpp:1366 +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 "" +"Ten plik zawiera kilka modeli umieszczonych na różnych wysokościach. " +"Potraktować go jako\n" +"jeden model składający się z kilku części?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:666 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:683 +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 msgid "Multi-part object detected" msgstr "Wykryto obiekt wieloczęściowy" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:430 -msgid "Multiple Extruders" -msgstr "Kilka ekstruderów" +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:680 +#: src/slic3r/GUI/Plater.cpp:1408 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" @@ -2190,2290 +2121,4886 @@ msgstr "" "Kilka obiektów zostało załadowanych dla drukarki typu multi-material.\n" "Traktować je jako jeden model zawierający kilka części?\n" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:220 -msgid "Name" -msgstr "Nazwa" +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "Wczytano" -#: xs/src/libslic3r/PrintConfig.cpp:1126 -msgid "Name of the printer variant. For example, the printer variants may be differentiated by a nozzle diameter." -msgstr "Nazwa wersji drukarki. Możesz np. tworzyć warianty wg średnicy dyszy." +#: src/slic3r/GUI/Plater.cpp:1492 +msgid "" +"Your object appears to be too large, so it was automatically scaled down to " +"fit your print bed." +msgstr "" +"Importowany model przekracza wymiary przestrzeni roboczej i został " +"przeskalowany do odpowiednich rozmiarów." -#: xs/src/libslic3r/PrintConfig.cpp:1121 -msgid "Name of the printer vendor." -msgstr "Nazwa dostawcy drukarki." +#: src/slic3r/GUI/Plater.cpp:1493 +msgid "Object too large?" +msgstr "Model zbyt duży?" -#: xs/src/libslic3r/PrintConfig.cpp:820 -msgid "Name of the profile, from which this profile inherits." -msgstr "Nazwa profilu, z którego dziedziczy ten profil." +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "Export konfiguracji druku" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 -msgid "Network lookup" -msgstr "Podgląd sieci" +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "New version of Slic3r PE is available" -msgstr "Dostępna jest nowa wersja Slic3r PE" +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 -msgid "New version:" -msgstr "Nowa wersja:" +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:469 -msgid "No previously sliced file." -msgstr "Brak poprzednio pociętych plików." +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:28 -msgid "NO RAMMING AT ALL" -msgstr "BRAK WYCISKANIA" +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:137 -msgid "None" -msgstr "Brak" +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1571 -msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "Uwaga: wymagany jest OctoPrint w wersji 1.1.0 lub wyższej." +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:500 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:501 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:859 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:860 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1156 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1157 -msgid "Notes" -msgstr "Notatki" +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:493 -msgid "Notice" -msgstr "Uwaga" +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "" +"The selected object can't be split because it contains more than one volume/" +"material." +msgstr "" +"Wybrany model nie może być podzielony ponieważ składa się z więcej niż " +"jednej części lub zawiera więcej niż jeden materiał." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:85 -msgid "nozzle" -msgstr "dysza" +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "Anulowanie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:894 -msgid "Nozzle diameter" -msgstr "Średnica dyszy" +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "W tej chwili trwa inny proces eksportu." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:431 -msgid "Nozzle Diameter:" -msgstr "Średnica dyszy:" +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "Niepowodzenie eksportu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:967 -msgid "Number of extruders of the printer." -msgstr "Liczba ekstruderów drukarki." +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1481 -msgid "Number of interface layers to insert between the object(s) and support material." -msgstr "Liczba warstw łączących materiał podporowy z modelem właściwym." +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "Usuń" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1231 -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 "Liczba pętli skirt. Jeśli włączona jest opcja \"Minimalna długość ekstruzji\", to może ona nadpisać wartość wprowadzoną w tym polu. Ustaw zero aby całkowicie wyłączyć skirt." +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "Usuń wybrany model" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:70 -msgid "Number of solid layers to generate on bottom surfaces." -msgstr "Liczba zwartych warstw dolnych." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "Zwiększ kopie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1315 -msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "Liczba zwartych warstw górnych i dolnych." +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "Umieść jedną kopię zaznaczonego modelu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1640 -msgid "Number of solid layers to generate on top surfaces." -msgstr "Liczba zwartych warstw górnych." +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "Zmniejsz kopie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:745 -msgid "Object too large?" -msgstr "Model zbyt duży?" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "Usuń jedną kopię wybranego modelu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1032 -msgid "OctoPrint upload" -msgstr "Transfer do OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "Ustaw ilość kopii" -#: lib/Slic3r/GUI/Plater.pm:1511 -msgid "OctoPrint upload finished." -msgstr "Przesyłanie do OctoPrint zakończone." - -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 -msgid "OctoPrint version" -msgstr "Wersja OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "Zmień ilość kopii wybranego modelu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1410 -msgid "Only create support if it lies on a build plate. Don't create support on a print." -msgstr "Tworzenie podpór tylko na stole. Nie będą tworzone na wydruku." +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "Wczytaj ponownie z dysku" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:726 -msgid "Only infill where needed" -msgstr "Tylko potrzebne wypełnienie" +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "Wczytaj ponownie wybrany plik z dysku" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1205 -msgid "Only lift Z" -msgstr "Tylko z-hop" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "Eksport modelu jako STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1100 -msgid "Only lift Z above" -msgstr "Z-hop tylko powyżej" +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "Eksport pojedynczego modelu jako plik STL" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1109 -msgid "Only lift Z below" -msgstr "Z-hop tylko poniżej" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" +msgstr "Wzdłuż osi X" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:915 -msgid "Only retract when crossing perimeters" -msgstr "Retrakcja tylko przy przechodzeniu nad obrysami" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "Odbicie lustrzane wybranego modelu w osi X" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:438 -msgid "Ooze prevention" -msgstr "Zapobieganie wyciekom (ooze)" +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" +msgstr "Wzdłuż osi Y" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:251 -msgid "Open a model" -msgstr "Otwórz model" +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "Odbicie lustrzane wybranego modelu w osi Y" -#: xs/src/slic3r/GUI/Tab.cpp:1598 -msgid "Open CA certificate file" -msgstr "Otwórz plik certyfikatu CA" +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" +msgstr "Wzdłuż osi Z" -#: lib/Slic3r/GUI/MainFrame.pm:194 -msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O" -msgstr "Otwórz plik STL/OBJ/AMF/3MF... \tCrtl+O" +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "Odbicie lustrzane wybranego modelu w osi Z" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102 -msgid "Open the 3D cutting tool" -msgstr "Otwórz narzędzie do wycinania 3D" +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "Lustrzane" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Open the object editor dialog" -msgstr "Otwórz menu edytora modelu" +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "Odbicie lustrzane wybranego modelu" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "Otwórz stronę z wydaniami Prusa Edition w przeglądarce" +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Open the Prusa3D drivers download page in your browser" -msgstr "Otwórz stronę Prusa3D ze sterownikami w przeglądarce" +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Open the Slic3r manual in your browser" -msgstr "Otwórz instrukcję do Slic3ra w przeglądarce" +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Open the Slic3r website in your browser" -msgstr "Otwórz stronę Slic3ra w przeglądarce" +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:27 -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." -msgstr "Optymalizuj ruchy jałowe aby zminimalizować przejeżdżanie nad obrysami. Ta funkcja jest przydatna szczególne przy ekstruderach typu bowden, podatnych na wyciekanie filamentu z dyszy. Włączenie tej funkcji wydłuża zarówno czas druku jak i czas generowania G-code." +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "Podziel" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:384 -msgid "Options for support material and raft" -msgstr "Opcje materiału podporowego i tratwy (raft)" +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:57 -msgid "Origin" -msgstr "Punkt zerowy" +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:469 -msgid "Other" -msgstr "Inne" +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:38 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1572 -msgid "Other layers" -msgstr "Inne warstwy" +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" +msgstr "Zapisz plik G-code jako:" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:295 -msgid "Other Vendors" -msgstr "Inni dostawcy" +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:238 -msgid "Other vendors" -msgstr "Inni dostawcy" +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" +msgstr "Plik STL został wyeksportowany do %s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:488 -msgid "Output file" -msgstr "Plik wyjściowy" +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" +msgstr "Plik AMF został wyeksportowany do %s" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:930 -msgid "Output filename format" -msgstr "Rozszerzenie pliku wyjściowego" +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" +msgstr "Błąd eksportu pliku AMF %s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:476 -msgid "Output options" -msgstr "Opcje wyjściowe" +#: src/slic3r/GUI/Plater.cpp:2891 +#, c-format +msgid "3MF file exported to %s" +msgstr "Plik 3MF został wyeksportowany do %s" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:140 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:82 -msgid "Overhang perimeter" -msgstr "Obrys zwisu" +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "Błąd eksportu pliku 3MF %s" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1550 -msgid "Overhang threshold" -msgstr "Próg zwisu" +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "Ogólne" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:463 -msgid "Overlap" -msgstr "Nakładanie" +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "Zapamiętaj katalog wyjściowy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1508 -msgid "Pattern" -msgstr "Wzór" +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "" +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." +msgstr "" +"Włączenie spowoduje, że Slic3r będzie za każdym razem pytał gdzie " +"wyeksportować plik zamiast używać katalogu z plikami wejściowymi." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1398 -msgid "Pattern angle" -msgstr "Kąt wzoru" +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "Rozmieść modele automatycznie" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1524 -msgid "Pattern spacing" -msgstr "Rozmieszczenie wzoru" +#: src/slic3r/GUI/Preferences.cpp:44 +msgid "" +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." +msgstr "" +"Spowoduje, że Slic3r będzie automatycznie umieszczał modele wokół centrum " +"stołu." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1510 -msgid "Pattern used to generate support material." -msgstr "Wzór podpór." +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "Przetwarzanie w tle" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:138 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:80 -msgid "Perimeter" -msgstr "Obrys" +#: src/slic3r/GUI/Preferences.cpp:52 +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." +msgstr "" +"Spowoduje, że Slic3r będzie automatycznie procesował modele jak tylko " +"zostaną załadowane aby zmniejszyć czas eksportu G-code." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:957 -msgid "Perimeter extruder" -msgstr "Ekstruder dla obrysów" +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "Ukryj \" - domyślne - \" zestawy ustawień" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:948 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:966 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:978 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:988 -msgid "Perimeters" -msgstr "Obrysy" +#: src/slic3r/GUI/Preferences.cpp:76 +msgid "" +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." +msgstr "" +"Ukryj \" - domyślne - \" zestawy ustawień w zakładkach Druk / Filament / " +"Drukarka gdy dostępne są inne kompatybilne ustawienia." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:160 -msgid "perimeters" -msgstr "obrysy" +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "Pokaż niekompatybilne ustawienia druku i filamentów" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 -msgid "Pick another vendor supported by Slic3r PE:" -msgstr "Wybierz innego dostawcę wspieranego przez Slic3r PE:" +#: src/slic3r/GUI/Preferences.cpp:84 +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 "" +"Zaznaczenie tej opcji spowoduje wyświetlanie wszystkich ustawień druku i " +"filamentów w edytorze zestawów ustawień, nawet jeśli są oznaczone jak " +"niekompatybilne z wybraną drukarką" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2024 -msgid "Place one more copy of the selected object" -msgstr "Umieść jedną kopię zaznaczonego modelu" +#: src/slic3r/GUI/Preferences.cpp:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "Użyj renderowania OpenGL 1.1 (przestarzałe)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:118 -msgid "Plater" -msgstr "Zawartość Stołu" +#: src/slic3r/GUI/Preferences.cpp:92 +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 "" +"Jeśli napotykasz błędy spowodowane problematycznym sterownikiem OpenGL 2.0, " +"spróbuj zaznaczyć to pole. Wyłączy to edycję wysokości warstwy i anti-" +"aliasing, więc prawdopodobnie lepiej będzie zaktualizować sterowniki karty " +"graficznej." -#: lib/Slic3r/GUI/Plater.pm:1897 -msgid "Please install the OpenGL modules to use this feature (see build instructions)." -msgstr "Proszę zainstalować moduły OpenGL aby używać tej funkcji (zobacz w instrukcji)" +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "Trzeba zrestartować Slic3r aby wprowadzić zmiany." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1199 -msgid "Position (for multi-extruder printers)" -msgstr "Pozycja (dla drukarek z kilkoma ekstruderami)" +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1153 -msgid "Position of perimeters starting points." -msgstr "Pozycja startowa druku obrysów." +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "Ustawienia systemowe" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1702 -msgid "Position X" -msgstr "Pozycja X" +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "Zestawy użytkownika" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1709 -msgid "Position Y" -msgstr "Pozycja Y" +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:494 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1001 -msgid "Post-processing scripts" -msgstr "Skrypty do przetwarzania końcowego" +#: 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 "" +"Jeśli szacowany czas druku warstwy jest niższy niż ~%d s, wentylator będzie " +"pracował na %d %% a prędkość druku zostanie obniżona tak, aby warstwa była " +"drukowana przez nie mniej niż %d s (jednakże prędkość nie zejdzie poniżej " +"%d mm/s)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.hpp:17 -msgid "Preferences" -msgstr "Preferencje" +#: 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%%." +msgstr "" +"\n" +"Jeśli szacowany czas jest wyższy, ale poniżej ~%ds, wentylator będzie " +"pracował z proporcjonalnie zmniejszaną prędkością poniędzy %d%% a %d%%." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1171 -msgid "Preferred direction of the seam" -msgstr "Preferowane ustawienie szwu" +#: src/slic3r/GUI/PresetHints.cpp:36 +msgid "" +"\n" +"During the other layers, fan " +msgstr "" +"\n" +"Na pozostałych warstwach, wentylator " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1183 -msgid "Preferred direction of the seam - jitter" -msgstr "Preferowany kierunek szwu - jitter" +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "Wentylator " -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:150 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2125 -msgid "Preview" -msgstr "Podgląd" +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "będzie zawsze pracować w %d %% " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:474 -msgid "Previously sliced file (" -msgstr "Poprzednio pocięty plik (" +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "za wyjątkiem pierwszych %d warstw" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 -msgid "print" -msgstr "druk" +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "za wyjątkiem pierwszej warstwy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:291 -msgid "Print contour perimeters from the outermost one to the innermost one instead of the default inverse order." -msgstr "Drukuj obrysy od zewnątrz do wewnątrz zamiast domyślnego ustawienia węwnątrz-zewnątrz." +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "będzie wyłączony." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 -msgid "Print Diameters" -msgstr "Średnice wydruku" +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "obrysów zewnętrznych" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:182 -msgid "Print Settings" -msgstr "Ustawienia Druku" +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" +msgstr "obrysy" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:367 -msgid "Print settings" -msgstr "Ustawienia druku" +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "wypełnienia" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:836 -msgid "Print speed override" -msgstr "Nadpisanie prędkości druku" +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "zwarte wypełnienie" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:369 -msgid "Printer" -msgstr "Drukarka" +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "zwarte wypełnienie na szczycie" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 -msgid "printer" -msgstr "drukarka" +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "podpora" -#: xs/src/slic3r/GUI/Tab.cpp:762 -msgid "printer model" -msgstr "model drukarki" +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "warstwa łącząca podpory z modelem" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1014 -msgid "Printer notes" -msgstr "Notatki o drukarce" +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "Na pierwszej warstwie" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:228 -msgid "Printer Settings" -msgstr "Ustawienia Drukarki" +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "Mosty objętościowe" -#: xs/src/libslic3r/PrintConfig.cpp:1106 -msgid "Printer type" -msgstr "Rodzaj drukarki" +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "Objętościowy" -#: xs/src/libslic3r/PrintConfig.cpp:1125 -msgid "Printer variant" -msgstr "Wariant drukarki" +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr " przepływ osiąga wartości szczytowe " -#: xs/src/libslic3r/PrintConfig.cpp:1120 -msgid "Printer vendor" -msgstr "Dostawca drukarki" +#: src/slic3r/GUI/PresetHints.cpp:220 +msgid "by the print profile maximum" +msgstr "maksimum zależny od profilu wydruku" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:238 -msgid "Print…" -msgstr "Druk…" +#: src/slic3r/GUI/PresetHints.cpp:221 +msgid "when printing " +msgstr "podczas druku " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Processing " -msgstr "Przetwarzanie " +#: src/slic3r/GUI/PresetHints.cpp:222 +msgid " with a volumetric rate " +msgstr " ze współczynnikiem objętościowym " -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:629 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:643 -msgid "Processing input file\n" -msgstr "Przetwarzanie pliku wejściowego\n" +#: src/slic3r/GUI/PresetHints.cpp:226 +#, c-format +msgid "%3.2f mm³/s" +msgstr "%3.2f mm³/s" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:508 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:868 -msgid "Profile dependencies" -msgstr "Zależności profilowe" +#: src/slic3r/GUI/PresetHints.cpp:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr " z prędkością filamentu %3.2f mm/s." -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:300 -msgid "Progress:" -msgstr "Postęp:" +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." +msgstr "" +"Zalecana grubość ścian dla modelu: niedostępna ze względu na niewłaściwą " +"wysokość warstwy." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385 -msgid "Prusa 3D Drivers" -msgstr "Sterowniki Prusa3D" +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "Zalecana grubość ściany modelu dla wysokości warstwy %.2f i " + +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "%d linii: %.2lf mm" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" +msgstr "BRAK WYCISKANIA" + +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" +msgstr "Czas" + +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "Prędkość objętościowa" + +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "Kompatybilne drukarki" + +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "Wybierz drukarki kompatybilne z tym profilem." + +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "Zapisz bieżące " + +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "Usuń ten zestaw ustawień" + +#: src/slic3r/GUI/Tab.cpp:131 +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/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "Domyślny zestaw ustawień." + +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "To jest systemowy zestaw ustawień." + +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "Obecny zestaw ustawień jest dziedziczony z " + +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " +msgstr "Nie można usunąć ani zmodyfikować. " + +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "" +"Każda modyfikacja powinna zostać zapisana jako nowy zestaw ustawień " +"dziedziczony z obecnego. " + +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "Aby to zrobić ustaw nową nazwę zestawu ustawień." + +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "Dodatkowe informacje:" + +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" +msgstr "model drukarki" + +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" +msgstr "domyślny profil druku" + +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" +msgstr "domyślny profil filamentu" + +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "Warstwy i obrysy" + +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "Wysokość warstwy" + +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "Powłoka pionowa" + +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "Powłoka pozioma" + +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "Zwarte warstwy" + +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "Jakość (wolniejsze cięcie)" + +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "Obniżanie czasu wydruku" + +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "Skirt i brim" + +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "Tratwa (raft)" + +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "Opcje materiału podporowego i tratwy (raft)" + +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "Prędkość ruchów drukujących" + +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "Prędkość ruchów jałowych" + +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "Modyfikatory" + +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "Ustawienia przyspieszeń (zaawansowane)" + +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "Automatyczne dostosowanie prędkości (zaawansowane)" + +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "Kilka ekstruderów" + +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "Zapobieganie wyciekom (ooze)" + +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "Szerokość ekstruzji" + +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "Nakładanie" + +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "Przepływ" + +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "Inne" + +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "Opcje wyjściowe" + +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "Drukowanie sekwencyjne (model po modelu)" + +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "Odstęp od ekstrudera (mm)" + +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "Plik wyjściowy" + +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "Skrypty do przetwarzania końcowego" + +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "Notatki" + +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "Zależności" + +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "Zależności profilowe" + +#: src/slic3r/GUI/Tab.cpp:1161 +#, 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 "" +"Wymagania trybu wazy:\n" +"- jeden obrys\n" +"- brak warstw górnych\n" +"- 0% wypełnienia\n" +"- brak materiału podporowego\n" +"- brak opcji \"zagwarantuj odpowiednią grubość ścianki\"\n" +"\n" +"Czy ustawić te parametry odpowiednio dla trybu wazy?" + +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "Tryb Wazy" + +#: src/slic3r/GUI/Tab.cpp:1191 +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 "" +"Użycie wieży czyszczącej jest możliwe jedynie przy użyciu nierozpuszczalnych " +"podpór\n" +"gdy są drukowane z obecnie używanego ekstrudera, bez inicjowania jego " +"zmiany.\n" +"(zarówno support_material_extruder i support_material_interface_extruder " +"muszą być ustawione na 0).\n" +"\n" +"Zmienić te ustawienia aby włączyć wieżę czyszczącą?" + +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "Wieża Czyszcząca" + +#: src/slic3r/GUI/Tab.cpp:1209 +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 "" +"Aby wieża czyszcząca działała przy rozpuszczalnych podporach, warstwy " +"podporowe muszą być zsynchronizowane z warstwami modelu.\n" +"\n" +"Zsynchronizować warstwy podporowe aby włączyć wieżę czyszczącą?" + +#: src/slic3r/GUI/Tab.cpp:1227 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" +msgstr "" +"Druk podpór daje lepsze efekty, gdy następująca funkcja jest włączona:\n" +"- Wykrywanie mostów przy obrysach\n" +"\n" +"Zmienić tą opcję dla druku podpór?" + +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "Generator Podpór" + +# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format +msgid "" +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" +msgstr "" +" wzór wypełnienia nie działa z gęstością 100%.\n" +"\n" +"Zmienić wzór wypełnienia na linie równoległe?" + +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "Temperatura " + +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" +msgstr "Stół" + +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "Chłodzenie" + +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "Włącz" + +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "Ustawienia wentylatora" + +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "Prędkość wentylatora" + +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "Progi chłodzenia" + +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "Właściwości filamentu" + +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "Nadpisanie prędkości druku" + +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" +msgstr "Parametry zmiany narzędzia dla drukarek MM z jednym ekstruderem" + +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" +msgstr "Ustawienia wyciskania" + +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "Własny G-code" + +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "G-code startowy" + +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "Końcowy G-code" + +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr " Przeglądaj " + +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "Test" + +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "Powodzenie!" + +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" +"Plik HTTPS CA jest opcjonalny. Jest potrzebny jedynie w sytuacji, gdy " +"używasz HTTPS z certyfikatem samopodpisanym." + +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "Pliki certyfikatów (*.crt, *.pem)|*.crt;*.pem|Wszystkie pliki|*.*" + +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" +msgstr "Otwórz plik certyfikatu CA" + +#: src/slic3r/GUI/Tab.cpp:1676 +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:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "Rozmiar i koordynaty" + +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr " Ustaw " + +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "Możliwości" + +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "Liczba ekstruderów drukarki." + +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "Połączenie USB/szeregowe" + +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "Port szeregowy" + +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "Przeskanuj porty szeregowe" + +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "Połączenie z drukarką pomyślne." + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "Błąd połączenia." + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "G-code wykonywany przed zmianą warstwy" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "G-code wykonywany po zmianie warstwy" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "G-code wykonywany przy zmianie narzędzia" + +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "" +"G-code wykonywany przy przejściach pomiędzy modelami (druk sekwencyjny)" + +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" +msgstr "Ustawienia MM dla jednego ekstrudera" + +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" +msgstr "Parametry multimaterial przy jednym ekstruderze" + +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "Ekstruder %d" + +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "Limit wysokości warstw" + +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "Pozycja (dla drukarek z kilkoma ekstruderami)" + +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "Retrakcja" + +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "Tylko z-hop" + +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" +msgstr "" +"Retrakcja gdy dany ekstruder nie jest w użyciu (funkcja zaawansowana dla " +"drukarek z kilkoma ekstruderami)" + +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "Podgląd" + +#: src/slic3r/GUI/Tab.cpp:2284 +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/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" +msgstr "Retrakcja z firmware" + +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" +msgstr "Domyślne zestaw ustawień (%s)" + +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" +msgstr "ma następujące niezapisane zmiany:" + +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" +msgstr "nie jest kompatybilne z drukarką" + +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" +msgstr "i ma następujące niezapisane zmiany:" + +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" +msgstr "Odrzucić zmiany i kontynuować?" + +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "Niezapisane zmiany" + +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "Podana nazwa jest pusta. Nie można zapisać." + +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." +msgstr "Nie można nadpisać profilu systemowego." + +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." +msgstr "Nie można nadpisać profilu zewnętrznego." + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "usuń" + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "usuń" + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "Czy na pewno chcesz " + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr " wybrany zestaw ustawień?" + +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "Usuń" + +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr " Zestaw ustawień" + +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "Wszystko" + +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "" +"ZAMKNIĘTA KŁÓDKA;oznacza, że ustawienia są takie same jak wartości systemowe " +"w obecnej grupie ustawień" + +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." +msgstr "" +"OTWARTA KŁÓDKA; oznacza, że niektóre ustawienia zostały zmodyfikowane i nie " +"odpowiadają wartościom systemowym w obecnej grupie opcji.\n" +"Kliknij ikonę OTWARTEJ KŁÓDKI aby zresetować wszystkie ustawienia obecnej " +"grupy ustawień do wartości systemowych." + +#: src/slic3r/GUI/Tab.cpp:2878 +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." +msgstr "" +"BIAŁA KROPKA;dla lewego przycisku: wskazuje na niesystemowy zestaw " +"ustawień,\n" +"dla prawego przycisku: wskazuje, że ustawienia nie zostały zmodyfikowane." + +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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 "" +"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 ikonę STRZAŁKI W TYŁ aby zresetować wszystkie ustawienia w obecnej " +"grupie opcji do tych z ostatnio zapisanego zestawu ustawień." + +#: src/slic3r/GUI/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" +msgstr "" +"ZAMKNIĘTA KŁÓDKA oznacza, że ustawienia są takie same jak wartości systemowe " +"w obecnej grupie ustawień" + +#: src/slic3r/GUI/Tab.cpp:2910 +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." +msgstr "" +"OTWARTA KŁÓDKA oznacza, że niektóre ustawienia zostały zmodyfikowane i nie " +"odpowiadają wartościom systemowym w obecnej grupie opcji.\n" +"Kliknij aby zresetować wszystkie ustawienia obecnej grupy ustawień do " +"wartości systemowych." + +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "BIAŁA KROPKA oznacza niesystemowy zestaw ustawień." + +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." +msgstr "" +"BIAŁA KROPKA oznacza, że ustawienia są takie same jak w ostatnio zapisanym " +"zestawie ustawień dla obecnej grupy opcji." + +#: src/slic3r/GUI/Tab.cpp:2918 +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:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" +"ZAMKNIĘTA KŁÓDKA oznacza, że ustawienia są takie same jak wartości systemowe." + +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" +"OTWARTA KŁÓDKA oznacza, że niektóre ustawienia zostały zmodyfikowane i nie " +"odpowiadają wartościom systemowym.\n" +"Kliknij ikonę aby zresetować do wartości systemowej." + +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" +"BIAŁA KROPKA oznacza, że wartość jest taka sama jak w ostatnio zapisanym " +"zestawie ustawień." + +#: src/slic3r/GUI/Tab.cpp:2932 +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ń." + +# Used in this context: _("Save ") + title + _(" as:") +#: src/slic3r/GUI/Tab.cpp:3031 +msgid " as:" +msgstr " jako:" + +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "Podana nazwa jest niedostępna." + +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "Warstwy" + +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "Ustawienia Druku" + +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "Ustawienia Filamentu" + +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "Ustawienia Drukarki" + +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "Zapisz zestaw ustawień" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "Dostępna jest aktualizacja" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "Dostępna jest nowa wersja Slic3r PE" + +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "Przejdź do linku aby pobrać." + +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "Obecna wersja:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "Nowa wersja:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "Nie powiadamiaj o nowych wersjach" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "Aktualizacja konfiguracji" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "Dostępna jest aktualizacja konfiguracji" + +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "Niekompatybilność ze Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "Konfiguracja Slic3r jest niekompatybilna" + +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" +"Ta wersja Slic3r PE nie jest kompatybilna z aktualnie zainstalowanym " +"zestawem konfiguracji.\n" +"Może to być rezultatem uruchomienia starszej wersji Slic3r PE po instalacji " +"nowszej.\n" +"\n" +"Masz 2 opcje wyboru: możesz zamknąć Slic3r i spróbować ponownie uruchomić " +"nowszą wersję lub uruchomić ponownie konfigurację początkową. Wybranie " +"drugiej opcji spowoduje stworzenie zrzutu istniejącej konfiguracji przed " +"instalacją konfiguracji kompatybilnej z tą wersją Slic3ra.\n" + +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" +msgstr "Ta wersja Slic3r PE: %s" + +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "Niekompatybilne zestawy ustawień:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "Zamknij Slic3r" + +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "Ponowna konfiguracja" + +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format +msgid "" +"Slic3r PE 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 "" +"Slic3r PE używa teraz ulepszonej struktury konfiguracji.\n" +"\n" +"Wprowadzamy tak zwane \"Zestawy systemowe\", które zawierają preinstalowane " +"ustawienia domyślne dla różnych drukarek. Te Zestawy nie mogą być " +"zmodyfikowane, ale za to użytkownik może na ich bazie utworzyć własne - " +"kopiując ustawienia z jednego z Zestawów.\n" +"Zestaw dziedziczący ustawienia może skopiować ustawienia z zestawu " +"nadrzędnego lub nadpisać je własnymi.\n" +"\n" +"Przejdź do %s aby stworzyć nowe zestawy i wybrać opcję ich automatycznej " +"aktualizacji." + +#: src/slic3r/GUI/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "Aby uzyskać więcej informacji odwiedź naszą wiki:" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "Dostosowywanie wyciskania" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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:78 +msgid "Total ramming time" +msgstr "Całkowity czas wyciskania" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "Całkowita objętość wyciskania" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "Szerokość linii wyciskania" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "Rozmieszczenie linii wyciskania" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "Wieża czyszcząca - dostosowanie objętości czyszczenia" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "" +"To ustawienie odpowiada za objętość czyszczonego filamentu w (mm³) dla danej " +"pary ekstruderów." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "Ekstruder zmieniony na" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "rozładowano" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "załadowano" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "Narzędzie #" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" +"Całkowita objętość czyszczenia jest obliczana z sumy obydwóch wartości " +"poniżej, w zależności która para narzędzi jest rozładowana/ładowana." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "Objętość do wyczyszczenia (mm³), gdy filament jest" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "Od" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +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/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "Pokaż ustawienia uproszczone" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "Pokaż ustawienia zaawansowane" + +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "Połączenie z OctoPrint pomyślne." + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "Nie można połączyć się z OctoPrint" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "Uwaga: wymagany jest OctoPrint w wersji 1.1.0 lub wyższej." + +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "wymaga min. %s i max. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +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 "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" +msgstr "" + +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "" + +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "" + +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" + +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" + +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" + +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" + +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" + +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" + +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" + +#: src/libslic3r/Print.cpp:1255 +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:1257 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" +msgstr "" + +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" + +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" + +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "" + +#: src/libslic3r/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "" + +#: src/libslic3r/Print.cpp:1316 +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 "" + +#: src/libslic3r/Print.cpp:1324 +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:1328 +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 "" + +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "" + +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "Kształt stołu" + +#: src/libslic3r/PrintConfig.cpp:48 +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 "" +"To ustawienie odpowiada za wysokość warstwy (czyli cięcia), a w konsekwencji " +"za ich liczbę. Niższe warstwy zapewniają lepszą dokładność i jakość, ale " +"wydłużają ogólny czas wydruku." + +#: src/libslic3r/PrintConfig.cpp:56 +msgid "Max print height" +msgstr "Maksymalna wysokość wydruku" + +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" +"Ustaw tutaj maksymalną wysokość, jaką może osiągnąć Twój ekstruder podczas " +"drukowania." + +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "Unikaj ruchów nad obrysami" + +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" +"Optymalizuj ruchy jałowe aby zminimalizować przejeżdżanie nad obrysami. Ta " +"funkcja jest przydatna szczególne przy ekstruderach typu bowden, podatnych " +"na wyciekanie filamentu z dyszy. Włączenie tej funkcji wydłuża zarówno czas " +"druku jak i czas generowania G-code." + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "Inne warstwy" + +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" +"Temperatura stołu dla warstw powyżej pierwszej. Ustaw 0 aby wyłączyć " +"kontrolowanie temperatury w pliku wyjściowym." + +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "Temperatura stołu" + +#: src/libslic3r/PrintConfig.cpp:93 +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 "" +"Ten kod jest wykonywany przy każdej zmianie warstwy, zaraz przed " +"podniesieniem ekstrudera na wysokość nowej warstwy. Pamiętaj, że możesz użyć " +"zmiennych typu placeholder dla wszystkich ustawień Slic3r, jak np. " +"[layer_num] (numer warstwy) i [layer_z] (położenie warstwy w osi Z)." + +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "G-code wykonywany przy przejściach pomiędzy modelami" + +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" +"Ten kod jest wykonywany pomiędzy drukiem poszczególnych modeli w trybie " +"druku sekwencyjnego. Domyślnie przy komendzie non-wait temperatury dyszy i " +"stołu są resetowane; jednakże jeśli przy tej opcji zostaną użyte komendy " +"M104, M109, M140 lub M190 to Slic3r nie doda własnych komend do kontroli " +"temperatury. Pamiętaj, że możesz używać zmiennych typu placeholder, więc np. " +"komendę \"M109 S[first_layer_temperature]\" (temperatura pierwszej warstwy) " +"możesz umieścić gdzie chcesz." + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "Dolne" + +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "Liczba zwartych warstw dolnych." + +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "Zwarte warstwy dolne" + +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "Most" + +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "" +"To jest przyspieszenie stosowane przy druku mostów. Ustaw zero aby wyłączyć " +"osobne ustawienia przyspieszenia dla mostów." + +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "mm/s²" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "Kąt linii mostów" + +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" +"Nadpisanie kąta linii mostów. Jeśli zostanie 0 to kąt zostanie obliczony " +"automatycznie. W innym przypadku ustawiony kąt będzie dotyczył wszystkich " +"mostów. Ustaw 180° dla kąta zerowego." + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "°" + +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "Prędkość wentylatora przy mostach" + +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "" +"Ta prędkość wentylatora zostanie zastosowana przy druku mostów i zwisów." + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "%" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "Współczynnik przepływu przy mostach" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" +"Ten współczynnik określa ilość plastiku wytłaczaną przy drukowaniu mostów. " +"Możesz delikatnie zmniejszyć tą wartość aby zapobiec opadaniu drukowanej " +"linii, jednakże standardowe ustawienia są zazwyczaj dobrze dobrane i " +"najpierw poeksperymentuj z chłodzeniem wydruku." + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "Mosty" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "Prędkość drukowania mostów." + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "mm/s" + +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "Szerokość brim" + +#: src/libslic3r/PrintConfig.cpp:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "" +"Szerokość brim (obramowania), drukowanego wokół każdego z modeli na " +"pierwszej warstwie." + +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "Przycinaj modele złożone z kilku części" + +#: src/libslic3r/PrintConfig.cpp:188 +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 "" +"To ustawienie sprawi, że podczas druku modeli z wielu materiałów, Slic3r " +"przytnie nachodzące na siebie części (druga część zostanie przycięta przez " +"pierwszą, trzecia przez pierwszą i drugą itd.)" + +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "Warunki kompatybilności z drukarką" + +#: src/libslic3r/PrintConfig.cpp:208 +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 "" +"Wyrażenie logiczne (Boole'owskie) używające wartości konfiguracji aktywnego " +"profilu drukarki. Jeśli to wyrażenie jest prawdziwe to znaczy, że aktywny " +"profil jest kompatybilny z drukarką." + +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:221 +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:235 +msgid "Complete individual objects" +msgstr "Druk sekwencyjny (model po modelu)" + +#: src/libslic3r/PrintConfig.cpp:236 +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 "" +"Włączenie tej opcji sprawi, że przy druku kilku modeli drukarka wydrukuje " +"jeden model w całości zanim przejdzie do następnego (zaczynając od " +"najniższej warstwy). Przydaje się aby uniknąć ryzyka niepowodzenia wydruku " +"kilku części. Slic3r powinien ostrzec przed możliwością kolizji z " +"ekstruderem, ale zachowaj ostrożność." + +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "Włącz automatyczne chłodzenie" + +#: src/libslic3r/PrintConfig.cpp:246 +msgid "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." +msgstr "" +"Ta flaga umożliwia automatyczne sterowanie chłodzeniem przez zmianę " +"prędkości druku i wentylatora względem czasu druku jednej warstwy." + +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "Pozycja rurki chłodzącej" + +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "Odległość punktu centralnego rurki chłodzącej od końcówki ekstrudera " + +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "Długość rurki chłodzącej" + +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "Długość rurki chłodzącej ograniczająca ruchy chłodzące wewnątrz jej " + +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" +"Do tej wartości przyspieszenia drukarka wróci gdy ustawione zostaną " +"przyspieszenia dla określonych ruchów (obrysy/wypełnienie). Ustaw zero aby " +"wyłączyć resetowanie przyspieszeń." + +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "Domyślny profil filamentu" + +#: src/libslic3r/PrintConfig.cpp:282 +msgid "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." +msgstr "" +"Domyślny profil filamentu powiązany z obecnym profilem drukarki. Przy " +"wybraniu obecnego profilu drukarki automatycznie zostanie wybrany ten profil " +"filamentu." + +#: src/libslic3r/PrintConfig.cpp:287 +msgid "Default print profile" +msgstr "Domyślny profil druku" + +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +msgid "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." +msgstr "" +"Domyślny profil druku powiązany z obecnym profilem drukarki. Przy wybraniu " +"obecnego profilu drukarki automatycznie zostanie wybrany ten profil " +"filamentu." + +#: src/libslic3r/PrintConfig.cpp:293 +msgid "Disable fan for the first" +msgstr "Wyłącz wentylator przy pierwszych" + +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" +"Wpisując tutaj wartość dodatnią możesz wyłączyć wentylator podczas druku " +"pierwszych warstw, aby nie pogarszać przyczepności do stołu." + +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "warstwy" + +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "Nie używaj podpór pod mostami" + +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "" +"Funkcja eksperymentalna mająca zapobiegać tworzeniu podpór pod mostami." + +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "Odstęp pomiędzy kopiami" + +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "Odstęp używany przy automatycznym rozmieszczaniu modeli na stole." + +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "Kompensacja \"stopy słonia\"" + +#: src/libslic3r/PrintConfig.cpp:324 +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 "" +"Pierwsza warstwa zostanie zmniejszona o tą wartość w osiach X i Y aby " +"zniwelować efekt stopy słonia (Elephant Foot - gdy pierwsza warstwa " +"\"rozjeżdża\" się na boki)." + +#: src/libslic3r/PrintConfig.cpp:334 +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 "" +"Ten kod jest wykonywany jako ostatni w pliku wyjściowym. Pamiętaj, że możesz " +"użyć zmiennych typu placeholder dla wszystkich ustawień Slic3r." + +#: src/libslic3r/PrintConfig.cpp:345 +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 "" +"Ten kod jest wykonywany na samym końcu, przed samym zakończeniem wykonywania " +"pliku G-code. Pamiętaj, że możesz użyć zmiennych typu placeholder dla " +"wszystkich ustawień Slic3r. Jeśli masz kilka ekstruderów, ten G-code jest " +"wykonywany zgodnie z ich kolejnością." + +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "Zagwarantuj odpowiednią grubość ścianki" + +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" +"Dodaj zwarte wypełnienie przy pochyłych powierzchniach aby zagwarantować " +"odpowiednią grubość warstwy (suma górnych i dolnych zwartych warstw)." + +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "Wzór wypełnienia góry/dołu" + +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "" +"Wzór wypełnienia górnego/dolnego. Ma wpływ jedynie na zewnętrzne widoczne " +"warstwy, nie ma wpływu na przylegające do nich powłoki zwartego wypełnienia." + +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "Obrysy zewnętrzne" + +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" +"Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości " +"ekstruzji obrysów zewnętrznych. Jeśli ustawisz zero, szerokość będzie miała " +"wartość domyślną, czyli 1.125x średnicy dyszy. Jeśli ustawisz wartość " +"procentową (np. 200%) to zostanie obliczona z wysokości warstwy." + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "mm lub % (zero dla domyślnych)" + +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" +"To ustawienie steruje prędkością zewnętrznych (widocznych) obrysów. Jeśli " +"ustawisz wartość procentową (np. 80%) to zostanie obliczona z prędkości " +"obrysów ustawionej powyżej. Ustaw zero aby pozwolić na sterowanie " +"automatyczne." + +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "mm/s lub %" + +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "Najpierw obrysy zewnętrzne" + +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "" +"Drukuj obrysy od zewnątrz do wewnątrz zamiast domyślnego ustawienia węwnątrz-" +"zewnątrz." + +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "Dodatkowe obrysy jeśli potrzebne" + +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" +"Dodaj więcej obrysów, aby uniknąć przerw przy pochyłych ścianach. Slic3r " +"będzie dodawał tyle obrysów, ile jest potrzebne aby podeprzeć co najmniej " +"70% grubości ściany kolejnej warstwy." + +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"The extruder to use (unless more specific extruder settings are specified). " +"This value overrides perimeter and infill extruders, but not the support " +"extruders." +msgstr "" +"Używany ekstruder (jeśli nie są określone dokładniejsze ustawienia " +"ekstuderów). To ustawienie nadpisuje ustawienia ekstruderów dla obrysów i " +"wypełnienia, ale nie tych dla podpór." + +#: src/libslic3r/PrintConfig.cpp:444 +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." +msgstr "" +"Określa pionową odległość końcówki dyszy od (zazwyczaj) prętów osi X. " +"Inaczej mówiąc (matematycznie), jest to wysokość cylindra opisanego na " +"zespole ekstrudera i określa maksymalną głębokość, na którą może opuścić się " +"ekstruder aby nie uderzyć w obiekt znajdujący się bezpośrednio pod prętami " +"osi X." + +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "Promień" + +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" +"Określa promień okręgu opisanego na całym zespole ekstrudera (matematycznie " +"- wyobraź sobie, że chcesz narysować okrąg opisany na zespole ekstrudera " +"patrząc na niego z góry). Jeśli sam ekstruder nie jest dokładnie na środku, " +"użyj największego promienia. Ta wartość jest używana do wykrywania możliwych " +"kolizji z wydrukowanymi modelami i jako graficzna reprezentacja na " +"wirtualnym stole." + +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "Kolor ekstrudera" + +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "" +"Ta funkcja jest używana jedynie w interfejsie Slic3ra jako pomoc wizualna." + +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "Margines ekstrudera" + +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" +"Jeśli oprogramowanie układowe (firmware) Twojej drukarki nie obsługuje " +"rozmieszczenia ekstruderów to trzeba to określić w G-code. Ta opcja pozwala " +"ustawić rozmieszczenie każdego ekstrudera w relacji do pierwszego. Oczekuje " +"koordynat dodatnich (będą odejmowane od koordynat XY)." + +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "Oś ekstruzji" + +#: src/libslic3r/PrintConfig.cpp:487 +msgid "" +"Use this option to set the axis letter associated to your printer's extruder " +"(usually E but some printers use A)." +msgstr "" +"Ta opcja określa literę, którą Twoja drukarka opisuje oś ekstrudera " +"(zazwyczaj jest to E ale niektóre drukarki używają A)." + +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "Współczynnik ekstruzji" + +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" +"Ten współczynnik określa proporcjonalną ilość przepływu plastiku. Możesz " +"zmienić tą wartość aby uzyskać gładsze powierzchnie i poprawną szerokość " +"ścian drukowanych z 1 linii. Ten współczynnik waha się zazwyczaj od 0.9 do " +"1.1. Jeśli musisz wykroczyć poza ten zakres to najpierw zmierz średnicę " +"filamentu i kroki ekstrudera (E steps)." + +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "Domyślna szerokość linii" + +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "" +"Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości " +"ekstrudowanej linii. Jeśli ustawisz zero, Slic3r obliczy szerokość ekstruzji " +"na podstawie średnicy dyszy (zobacz wskazówki dla szerokości ekstruzji " +"obrysów, wypełnienia itp). Jeśli ustawisz wartość procentową (np. 230%) to " +"zostanie obliczona z wysokości warstwy." + +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "mm lub % (zero dla wartości automatycznych)" + +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "Wentylator zawsze włączony" + +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" +"Ta opcja spowoduje, że wentylator nie wyłączy się podczas druku, tzn. zawsze " +"będzie pracował z przynajmniej minimalną prędkością. Przydatne dla PLA, może " +"szkodzić przy ABS." + +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "Włącz chłodzenie jeśli czas druku warstwy wynosi poniżej" + +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "" +"Jeśli szacowany czas druku warstwy będzie niższy niż ta wartość to " +"wentylator będzie włączony a jego prędkość będzie interpolowana na podstawie " +"górnego i dolnego limitu prędkości." + +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "szacowane sekundy" + +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "Kolor" + +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "Notatki do filamentu" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:388 -msgid "Prusa Edition Releases" -msgstr "Wydania Prusa Edition" +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "Tutaj możesz umieścić notatki dotyczące filamentu." -#: xs/src/slic3r/GUI/GUI.cpp:908 -msgid "Purging volumes" -msgstr "Objętości czyszczenia" +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "Maksymalny przepływ" -#: xs/src/libslic3r/PrintConfig.cpp:1807 -msgid "Purging volumes - load/unload volumes" -msgstr "Objętość czyszczenia - objętość ładowania/rozładowania" +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" +"Maksymalna prędkość objętościowa dla tego filamentu. Ogranicza maksymalną " +"prędkość objętościową do minimum objętościowej prędkości druku i filamentu. " +"Ustaw zero aby usunąć ograniczenie." -#: xs/src/libslic3r/PrintConfig.cpp:1815 -msgid "Purging volumes - matrix" -msgstr "Objętości czyszczenia - formuła" +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "mm³/s" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Q&uick Slice…\tCtrl+U" -msgstr "Sz&ybkie cięcie… \tCtrl+U" +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "Prędkość ładowania" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:335 -msgid "Quality (slower slicing)" -msgstr "Jakość (wolniejsze cięcie)" +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "Prędkość ładowania filamentu przy druku wieży czyszczącej. " -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" -msgstr "Szybkie Cięcie i &Zapis...\tCtrl+Alt+U" +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:304 -msgid "Quit Slic3r" -msgstr "Zamknij Slic3r" +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:331 -msgid "Radius" -msgstr "Promień" +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "Prędkość rozładowania" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:380 -msgid "Raft" -msgstr "Tratwa (raft)" +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " +msgstr "" +"Prędkość rozładowywania filamentu dla wieży czyszczącej (nie wpływa na " +"początkową fazę rozładowywania zaraz po wyciskaniu). " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1029 -msgid "Raft layers" -msgstr "Warstwy tratwy" +#: src/libslic3r/PrintConfig.cpp:590 +msgid "Unloading speed at the start" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1319 -msgid "Ramming" -msgstr "Wyciskanie" +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:14 -msgid "Ramming customization" -msgstr "Dostosowywanie wyciskania" +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "Opóźnienie po rozładowaniu" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/libslic3r/PrintConfig.cpp:600 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." +"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 "" -"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." +"Czas bezczynności po rozładowaniu filamentu. Może pomóc w bezproblemowej " +"zmianie narzędzia podczas druku z materiałami elastycznymi, które mogą " +"potrzebować więcej czasu na skurcz termiczny wracając do nominalnego " +"rozmiaru. " -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:90 -msgid "Ramming line spacing" -msgstr "Rozmieszczenie linii wyciskania" +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:88 -msgid "Ramming line width" -msgstr "Szerokość linii wyciskania" +#: src/libslic3r/PrintConfig.cpp:611 +msgid "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:486 -msgid "Ramming parameters" -msgstr "Parametry wyciskania" +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1321 -msgid "Ramming settings" -msgstr "Ustawienia wyciskania" +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Re-configure" -msgstr "Ponowna konfiguracja" +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:297 -msgid "Ready" -msgstr "Gotowe" +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear" -msgstr "Tył" +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372 -msgid "Rear View" -msgstr "Widok z tyłu" +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:262 -#, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "Zalecana grubość ściany modelu dla wysokości warstwy %.2f i " +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:245 -msgid "Recommended object thin wall thickness: Not available due to invalid layer height." -msgstr "Zalecana grubość ścian dla modelu: niedostępna ze względu na niewłaściwą wysokość warstwy." +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:46 -msgid "Rectangular" -msgstr "Prostokątny" +#: src/libslic3r/PrintConfig.cpp:651 +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:352 -msgid "Reducing printing time" -msgstr "Obniżanie czasu wydruku" +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" +msgstr "Parametry wyciskania" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload from Disk" -msgstr "Wczytaj ponownie z dysku" +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" +"Ten ciąg jest edytowany przez RammingDialog i zawiera parametry właściwe dla " +"wyciskania " -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2110 -msgid "Reload the selected file from Disk" -msgstr "Wczytaj ponownie wybrany plik z dysku" +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:27 -msgid "Remember output directory" -msgstr "Zapamiętaj katalog wyjściowy" +#: src/libslic3r/PrintConfig.cpp:668 +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 "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1582 -msgid "Remove" -msgstr "Usuń" +#: src/libslic3r/PrintConfig.cpp:677 +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 "" +"Wprowadź średnicę filamentu. Wymagana jest precyzja, więc użyj suwmiarki i " +"zmierz filament w kilku miejscach, potem oblicz średnią." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1580 -msgid "remove" -msgstr "usuń" +#: src/libslic3r/PrintConfig.cpp:685 +msgid "Density" +msgstr "Gęstość" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2027 -msgid "Remove one copy of the selected object" -msgstr "Usuń jedną kopię wybranego modelu" +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "" +"Wprowadź gęstość filamentu. Służy tylko statystykom. Dobrą metodą jest " +"zważenie filamentu o zmierzonej długości i przeliczenie stosunku wagi do " +"objętości." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2021 -msgid "Remove the selected object" -msgstr "Usuń wybrany model" +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "g/cm³" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:217 -msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)" -msgstr "Usuń profile użytkownika - czysta instalacja (najpierw zostanie wykonany zrzut)" +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "Typ filamentu" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Repair" -msgstr "Naprawa" +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:294 -msgid "Repair STL file…" -msgstr "Naprawa pliku STL…" +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "Materiał rozpuszczalny" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:280 -msgid "Repeat last quick slice" -msgstr "Powtórz ostatnie szybkie cięcie" +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "" +"Materiał rozpuszczalny jest używany zazwyczaj do rozpuszczalnych podpór." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an Issue" -msgstr "Zgłoś problem" +#: src/libslic3r/PrintConfig.cpp:719 +msgid "" +"Enter your filament cost per kg here. This is only for statistical " +"information." +msgstr "Wprowadź koszt filamentu za kilogram. Służy tylko statystykom." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:405 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Zgłoś problem z Slic3r Prusa Edition" +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "piniendzy/kg" -#: xs/src/slic3r/Utils/PresetUpdater.cpp:514 -#, c-format -msgid "requires min. %s and max. %s" -msgstr "wymaga min. %s i max. %s" +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "Kąt wypełnienia" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:288 -msgid "Rescan" -msgstr "Skanuj ponownie" +#: src/libslic3r/PrintConfig.cpp:731 +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." +msgstr "" +"Domyślny kąt linii wypełnienia. Mosty będą wypełniane z użyciem najlepszego " +"kierunku obliczonego przez Slic3r, więc to ustawienie ich nie dotyczy." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:995 -msgid "Rescan serial ports" -msgstr "Przeskanuj porty szeregowe" +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "Gęstość wypełnienia" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1039 -msgid "Resolution" -msgstr "Rozdzielczość" +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "Gęstość wypełnienia wewnętrznego, wyrażana w zakresie 0% - 100%." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1057 -msgid "Retract amount before wipe" -msgstr "Długość retrakcji przed ruchem czyszczącym" +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "Wzór wypełnienia" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1065 -msgid "Retract on layer change" -msgstr "Retrakcja przy zmianie warstwy" +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "Wzór dla ogólnego wypełnienia o niskiej gęstości." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1202 -msgid "Retraction" -msgstr "Retrakcja" +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1051 -msgid "Retraction is not triggered when travel moves are shorter than this length." -msgstr "Retrakcja nie zostanie wykonana przy ruchu jałowym krótszym niż ta wartość." +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1072 -msgid "Retraction Length" -msgstr "Długość retrakcji" +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1081 -msgid "Retraction Length (Toolchange)" -msgstr "Długość Retrakcji (zmiana narzędzia)" +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1134 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1135 -msgid "Retraction Speed" -msgstr "Prędkość retrakcji" +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1218 -msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" -msgstr "Retrakcja gdy dany ekstruder nie jest w użyciu (funkcja zaawansowana dla drukarek z kilkoma ekstruderami)" +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:96 -msgid "Retractions" -msgstr "Retrakcje" +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right" -msgstr "Prawo" +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:374 -msgid "Right View" -msgstr "Widok prawy" +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "Pierwsza warstwa" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate" -msgstr "Obróć" +#: src/libslic3r/PrintConfig.cpp:817 +msgid "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." +msgstr "" +"To jest przyspieszenie stosowane przy druku pierwszej warstwy. Ustaw zero " +"aby wyłączyć osobne ustawienia przyspieszenia dla pierwszej warstwy." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate 45° clockwise" -msgstr "Obróć o 45° zgodnie ze wskazówkami zegara" +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." +msgstr "" +"Temperatura podgrzewanego stołu dla pierwszej warstwy. Ustaw zero aby " +"wyłączyć komendy kontrolujące temperaturę stołu w pliku wyjściowym." + +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "" +"Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości " +"ekstruzji pierwszej warstwy. Dzięki tej funkcji możesz wymusić grubsze linie " +"dla lepszej przyczepności. Jeśli ustawisz wartość procentową (np. 120%) to " +"będzie oliczona z wysokości pierwszej warstwy. Ustaw zero dla wartości " +"domyślnej." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate 45° counter-clockwise" -msgstr "Obróć o 45° przeciwnie do wskazówek zegara" +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "Wysokość pierwszej warstwy" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034 -msgid "Rotate the selected object by 45° clockwise" -msgstr "Obróć wybrany model o 45° zgodnie ze wskazówkami zegara" +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "" +"Podczas druku z bardzo małą wysokością warstwy warto mimo wszystko " +"wydrukować najniższą warstwę o większej wysokości aby zwiększyć przyczepność " +"i tolerancję na niedoskonałości powierzchni druki. Może być wyrażona jako " +"wartość bezwzględna lub procentowa (np. 150%) nominalnej wysokości warstwy." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2037 -msgid "Rotate the selected object by 45° counter-clockwise" -msgstr "Obróć wybrany model o 45° przeciwnie do wskazówek zegara" +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "mm lub %" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2042 -msgid "Rotate the selected object by an arbitrary angle" -msgstr "Obróć wybrany model dowolnie" +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" +msgstr "Prędkość pierwszej warstwy" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044 -msgid "Rotate the selected object by an arbitrary angle around X axis" -msgstr "Obróć wybrany model o dowolny kąt wokół osi X" +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "" +"Jeśli ustawisz wartość bezwzględną wyrażoną w mm/s, taka prędkość będzie " +"zastosowana dla wszystkich ruchów drukujących dla pierwszej warstwy, nie " +"zależnie od ich rodzajów. Jeśli ustawisz wartość procentową (np. 40%), " +"będzie ona skalowana wg domyślnej prędkości." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2047 -msgid "Rotate the selected object by an arbitrary angle around Y axis" -msgstr "Obróć wybrany model o dowolny kąt wokół osi Y" +#: src/libslic3r/PrintConfig.cpp:872 +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 "" +"Temperatura ekstrudera dla pierwszej warstwy. Jeśli chcesz ręcznie " +"kontrolować temperaturę podczas druku to ustaw zero aby wyłączyć komendy " +"kontrolujące temperaturę w pliku wyjściowym." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2050 -msgid "Rotate the selected object by an arbitrary angle around Z axis" -msgstr "Obróć wybrany model o dowolny kąt wokół osi Z" +#: src/libslic3r/PrintConfig.cpp:882 +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 "" +"Prędkość wypełniania szczelin krótkimi ruchami typu zygzak. Ustaw tą wartość " +"na tyle nisko aby uniknąć wibracji i rezonansu. Ustaw 0 aby wyłączyć " +"wypełnianie szczelin." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:211 xs/src/slic3r/GUI/GUI.cpp:399 -#, c-format -msgid "Run %s" -msgstr "Uruchom %s" +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "G-code rozszerzony" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 xs/src/slic3r/GUI/RammingChart.cpp:86 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -#: xs/src/libslic3r/PrintConfig.cpp:480 -msgid "s" +#: src/libslic3r/PrintConfig.cpp:891 +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." msgstr "" +"Włącz tą opcję aby dodawać komentarz opsiujący do każdej liniki pliku G-" +"code. Przy druku z karty SD dodatkowy rozmiar pliku może sprawiać, że " +"firmware będzie reagować wolniej." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1751 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1645 -msgid "Save " -msgstr "Zapisz " +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "Rodzaj G-code" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:605 -msgid "Save configuration as:" -msgstr "Zapisz konfigurację jako:" +#: src/libslic3r/PrintConfig.cpp:900 +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 "" +"Niektóre komendy G/M-code, wliczając w to dot. kontroli temperatury i inne, " +"nie są uniwersalne. Ustaw tą opcję zgodnie z oprogramowaniem układowym " +"Twojej drukarki aby dostać kompatybilny plik wyjściowy. Parametr \"Bez " +"ekstruzji\" (\"No extrusion\") zapobiega generowaniu przez Slic3r " +"jakichkolwiek ekstruzji." + +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:50 -msgid "Save current " -msgstr "Zapisz bieżące " +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1399 -msgid "Save G-code file as:" -msgstr "Zapisz plik G-code jako:" +#: src/libslic3r/PrintConfig.cpp:930 +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 "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:580 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "Zapisz plik OBJ (mniej podatny na błędy współrzędnych niż STL) jako:" +#: src/libslic3r/PrintConfig.cpp:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "" +"To jest przyspieszenie stosowane przy druku wypełnienia. Ustaw zero aby " +"wyłączyć osobne ustawienia przyspieszenia dla wypełnienia." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.hpp:248 -msgid "Save preset" -msgstr "Zapisz zestaw ustawień" +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "Scalaj wypełnienie co" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:646 -msgid "Save presets bundle as:" -msgstr "Zapisz paczkę ustawień jako:" +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" +"Ta funkcja pozwala ustawić oddzielne wysokości dla wypełnienia i obrysów " +"modelu i przyspieszyć wydruk ustawiając np. wyższą warstwę wypełnienia " +"zachowując nominalną wysokość obrysów, co pozwoli zachować wysoką jakość i " +"dokładność wydruku." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:222 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -msgid "Scale" -msgstr "Skalowanie" +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "Scalaj wypełnienie co n warstw" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035 -msgid "Scale along " -msgstr "Skalowanie wzdłuż " - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2068 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale the selected object along a single axis" -msgstr "Skalowanie wybranego modelu wzdłuż jednej osi" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2073 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2089 -msgid "Scale the selected object along the X axis" -msgstr "Skalowanie wybranego modelu wzdłuż osi X" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Scale the selected object along the XYZ axes" -msgstr "Skalowanie wybranego modelu wzdłuż osi XYZ" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2076 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2092 -msgid "Scale the selected object along the Y axis" -msgstr "Skalowanie wybranego modelu wzdłuż osi Y" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2079 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2095 -msgid "Scale the selected object along the Z axis" -msgstr "Skalowanie wybranego modelu wzdłuż osi Z" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2084 -msgid "Scale to size" -msgstr "Skalowanie do wymiaru" - -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:187 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:203 -msgid "Scale…" -msgstr "Skalowanie…" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1151 -msgid "Seam position" -msgstr "Pozycja szwu" +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "Ekstruder dla wypełnienia" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1172 -msgid "Seam preferred direction" -msgstr "Preferowany kierunek szwu" +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "Ekstruder używany do druku wypełnienia." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1182 -msgid "Seam preferred direction jitter" -msgstr "Kierunek jitter wyznaczany przez szew" +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" +"Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości " +"ekstruzji wypełnienia. Jeśli ustawisz zero to szerokość będzie miała wartość " +"domyślną, czyli 1.125x średnicy dyszy. Możesz ustawić większą szerokość aby " +"przyspieszyć druk wypełnienia i zwiększyć wytrzymałość wydruków. Jeśli " +"ustawisz wartość procentową (np. 90%) to zostanie obliczona z wysokości " +"warstwy." + +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "Wypełnienie przed obrysami" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 -msgid "Searching for devices" -msgstr "Wyszukiwanie urządzeń" +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "" +"Ta opcja zamieni kolejność druku obrysów i wypełnienia, aby te drugie były " +"drukowane jako pierwsze." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Select &Controller Tab\tCtrl+T" -msgstr "Kontrole&r\tCtrl+T" +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "Tylko potrzebne wypełnienie" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Select &Filament Settings Tab\tCtrl+3" -msgstr "Ustawienia &Filamentu\tCtrl+3" +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "" +"Ta opcja wygeneruje wypełnienie jedynie w miejscach, gdzie jest potrzebne do " +"podparcia górnych warstw (zadziała na zasadzie wewnętrznych podpór). " +"Włączenie jej spowolni generowanie G-code ze względu na konieczność " +"kilkukrotnej weryfikacji." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Select &Plater Tab\tCtrl+1" -msgstr "Zakładka &Stół\tCtrl+1" +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "Nakładanie wypełnienia na obrysy" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:103 -msgid "Select all" -msgstr "Zaznacz wszystko" +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" +"To ustawienie odpowiada za dodatkowe nakładanie na siebie linii obrysów i " +"wypełnienia dla lepszego spojenia. Teoretycznie nie powinno być potrzebne " +"ale luz może powodować szczeliny. Jeśli ustawisz wartość procentową (np. " +"15%) to zostanie obliczona z szerokości ekstruzji obrysów." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:623 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:667 -msgid "Select configuration to load:" -msgstr "Wybierz konfigurację do wczytania:" +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "" +"Prędkość druku wewnętrznego wypełnienia. Ustaw 0 dla prędkości automatycznej." -#: xs/src/slic3r/GUI/ConfigWizard.cpp:104 -msgid "Select none" -msgstr "Odznacz" +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "Dziedziczy profil" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Select P&rint Settings Tab\tCtrl+2" -msgstr "Ustawienia &Druku\tCtrl+2" +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "Nazwa profilu, z którego dziedziczy ten profil." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Select Print&er Settings Tab\tCtrl+4" -msgstr "&Ustawienia Drukarki\tCtrl+4" +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "Obrysy łączące" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:235 -msgid "Select the language" -msgstr "Wybierz język" +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material." +msgstr "" +"Wymuś generowanie zwartych powłok pomiędzy przylegającymi do siebie " +"materiałami. Przydatne przy druku materiałami przejrzystymi lub przy " +"ręcznych podporach rozpuszczalnych." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1667 -msgid "Select the printers this profile is compatible with." -msgstr "Wybierz drukarki kompatybilne z tym profilem." +#: src/libslic3r/PrintConfig.cpp:1043 +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 "" +"Ten kod jest wykonywany przy każdej zmianie warstwy - zaraz po podniesieniu " +"głowicy na wysokość kolejnej warstwy ale zanim ekstruder przejdzie do " +"pierwszego punktu nowej warstwy. Pamiętaj, że możesz użyć zmiennych typu " +"placeholder dla wszystkich ustawień Slic3r, jak np. [layer_num] (numer " +"warstwy) i [layer_z] (położenie warstwy w osi Z)." + +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:566 -msgid "Select the STL file to repair:" -msgstr "Wybierz plik STL do naprawy:" +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" -#: xs/src/slic3r/GUI/GUI.cpp:882 -msgid "Select what kind of support do you need" -msgstr "Wybierz rodzaj potrzebnych podpór" +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:239 -msgid "Send to printer" -msgstr "Wyślij do drukarki" +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1448 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "Wysyłanie pliku G-code do serwera OctoPrint..." +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:477 -msgid "Sequential printing" -msgstr "Drukowanie sekwencyjne (model po modelu)" +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:990 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1193 -msgid "Serial port" -msgstr "Port szeregowy" +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1202 -msgid "Serial port speed" -msgstr "Szybkość portu szeregowego" +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" +msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:286 -msgid "Serial port:" -msgstr "Port szeregowy:" +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 -msgid "Service name" -msgstr "Nazwa usługi" +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2030 -msgid "Set number of copies…" -msgstr "Ustaw ilość kopii…" +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:398 -msgid "Set the shape of your printer's bed." -msgstr "Ustaw kształt stołu roboczego drukarki." +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:378 -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." -msgstr "Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości ekstrudowanej linii. Jeśli ustawisz zero, Slic3r obliczy szerokość ekstruzji na podstawie średnicy dyszy (zobacz wskazówki dla szerokości ekstruzji obrysów, wypełnienia itp). Jeśli ustawisz wartość procentową (np. 230%) to zostanie obliczona z wysokości warstwy." +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:269 -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." -msgstr "Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości ekstruzji obrysów zewnętrznych. Jeśli ustawisz zero, szerokość będzie miała wartość domyślną, czyli 1.125x średnicy dyszy. Jeśli ustawisz wartość procentową (np. 200%) to zostanie obliczona z wysokości warstwy." +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:593 -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." -msgstr "Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości ekstruzji pierwszej warstwy. Dzięki tej funkcji możesz wymusić grubsze linie dla lepszej przyczepności. Jeśli ustawisz wartość procentową (np. 120%) to będzie oliczona z wysokości pierwszej warstwy. Ustaw zero dla wartości domyślnej." +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "Max" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1293 -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." -msgstr "Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości ekstruzji wypełnienia powierzchni zwartych. Jeśli ustawisz zero, szerokość będzie miała wartość domyślną, czyli 1.125x średnicy dyszy. Jeśli ustawisz wartość procentową (np. 90%) to zostanie obliczona z wysokości warstwy." +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "To ustawienie odpowiada za maksymalną prędkość wentylatora." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1615 -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." -msgstr "Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości ekstruzji zwartego wypełnienia górnych warstw. Możesz ustawić mniejszą szerokość aby wypełnić szczeliny i uzyskać gładsze wykończenie. Jeśli ustawisz zero, szerokość będzie miała wartość domyślną, czyli będzie równa średnicy dyszy. Jeśli ustawisz wartość procentową (np. 90%) to zostanie obliczona z wysokości warstwy." +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "" +"To jest najwyższa możliwa do wydrukowania wysokość warstwy dla tego " +"ekstrudera i jednocześnie górny limit dla funkcji zmiennej wysokości warstwy " +"i materiału podporowego. Zalecana jest wartość nie większa niż 75% " +"szerokości ekstruzji aby zapewnić dobrą przyczepność warstw do siebie. Jeśli " +"ustawisz zero, wysokość warstwy zostanie ograniczona do 75% średnicy dyszy." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:711 -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." -msgstr "Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości ekstruzji wypełnienia. Jeśli ustawisz zero to szerokość będzie miała wartość domyślną, czyli 1.125x średnicy dyszy. Możesz ustawić większą szerokość aby przyspieszyć druk wypełnienia i zwiększyć wytrzymałość wydruków. Jeśli ustawisz wartość procentową (np. 90%) to zostanie obliczona z wysokości warstwy." +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "Maksymalna prędkość druku" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:968 -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." -msgstr "Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości ekstruzji obrysów. Możesz ustawić większą szerokość aby uzyskać dokładniejsze wykończenie powierzchni. Jeśli ustawisz zero to szerokość będzie miała wartość domyślną, czyli 1.125x średnicy dyszy. Jeśli ustawisz wartość procentową (np. 200%) to zostanie obliczona z wysokości warstwy." +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "" +"Ustawienie pozostałych prędkości na 0 spowoduje, ze Slic3r będzie " +"automatycznie przeliczał optymalną prędkość dla utrzymania stałego ciśnienia " +"materiału w ekstruderze. To eksperymentalne ustawienie określa maksymalną " +"dozwoloną prędkość druku." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1455 -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." -msgstr "Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości ekstruzji materiału podporowego. Jeśli ustawisz zero to szerokość będzie miała wartość domyślną, czyli będzie równa średnicy dyszy. Jeśli ustawisz wartość procentową (np. 90%) to zostanie obliczona z wysokości warstwy." +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." +msgstr "" +"Ta eksperymentalna funkcja określa maksymalną prędkość objętościową, którą " +"jest w stanie wytłoczyć Twój ekstruder." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:332 -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." -msgstr "Określa promień okręgu opisanego na całym zespole ekstrudera (matematycznie - wyobraź sobie, że chcesz narysować okrąg opisany na zespole ekstrudera patrząc na niego z góry). Jeśli sam ekstruder nie jest dokładnie na środku, użyj największego promienia. Ta wartość jest używana do wykrywania możliwych kolizji z wydrukowanymi modelami i jako graficzna reprezentacja na wirtualnym stole." +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "Maksymalny objętościowo kąt pozytywny" -#: xs/src/libslic3r/PrintConfig.cpp:877 -msgid "Set this to the maximum height that can be reached by your extruder while printing." -msgstr "Ustaw tutaj maksymalną wysokość, jaką może osiągnąć Twój ekstruder podczas drukowania." +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "" +"To ustawienie eksperymentalne jest używane do ograniczania szybkości zmian " +"ilości ekstrudowanego materiału. Wartość 1.8 mm³/s² oznacza, że zmiana z " +"ilości ekstrudowanego materiału z poziomu 1.8 mm³/s (czyli 0.45 mm " +"szerokości ekstruzji, 0.2 mm wysokości warstwy przy prędkości 20 mm/s) na " +"5.4 mm³/s (prędkość 60 mm/s) zajmie co najmniej 2 sekundy." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:321 -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." -msgstr "Określa pionową odległość końcówki dyszy od (zazwyczaj) prętów osi X. Inaczej mówiąc (matematycznie), jest to wysokość cylindra opisanego na zespole ekstrudera i określa maksymalną głębokość, na którą może opuścić się ekstruder aby nie uderzyć w obiekt znajdujący się bezpośrednio pod prętami osi X." +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "mm³/s²" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:120 -msgid "Settings" -msgstr "Ustawienia" +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" +msgstr "Maksymalny negatywny kąt zwisu" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:206 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2106 -msgid "Settings…" -msgstr "Ustawienia…" +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "Min" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:39 -msgid "Shape" -msgstr "Kształt" +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "" +"To ustawienie wyraża minimalny PWM (Pulse Width Modulation), który jest " +"niezbędny dla wentylatora." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:98 -msgid "Shells" -msgstr "Powłoka" +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "" +"To jest najniższa możliwa do wydrukowania wysokość warstwy dla tego " +"ekstrudera i jednocześnie dolny limit dla funkcji zmiennej wysokości " +"warstwy. Zazwyczaj jest to 0.05 lub 0.1 mm." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:75 -msgid "Show" -msgstr "Pokaż" +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" +msgstr "Minimalna prędkość druku" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show &Configuration Folder" -msgstr "Pokaż folder &Konfiguracyjny" +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "Slic3r nie będzie skalował prędkości poniżej tej wartości." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408 -msgid "Show about dialog" -msgstr "Pokaż okienko" +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" +msgstr "Minimalna długość ekstruzji" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show advanced settings" -msgstr "Pokaż ustawienia zaawansowane" +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "" +"Generuj ilość pętli skirtu nie mniejszą niż określona aby zużyć taką ilość " +"filamentu na dolnej warstwie. Dla drukarek z kilkoma ekstuderami ta wartość " +"jest stosowana dla każdego z nich." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:67 -msgid "Show incompatible print and filament presets" -msgstr "Pokaż niekompatybilne ustawienia druku i filamentów" +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "Notatki konfiguracyjne" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 -msgid "Show simplified settings" -msgstr "Pokaż ustawienia uproszczone" +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"Tutaj możesz umieścić notatki, które zostaną dodane do nagłówka pliku G-code." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "Show system information" -msgstr "Pokaż informacje o systemie" +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "Średnica dyszy" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:353 -msgid "Show the filament settings" -msgstr "Pokaż ustawienia filamentu" +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "" +"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgstr "To jest średnica dyszy ekstrudera (np. 0.5, 0.35 itp.)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:336 -msgid "Show the plater" -msgstr "Pokaż zawartość stołu" +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:350 -msgid "Show the print settings" -msgstr "Pokaż ustawienia druku" +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:342 -msgid "Show the printer controller" -msgstr "Pokaż kontroler drukarki" +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:356 -msgid "Show the printer settings" -msgstr "Pokaż ustawienia drukarki" +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:337 -msgid "Show user configuration folder (datadir)" -msgstr "Pokaż folder z konfiguracjami użytkownika (datadir)" +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "Nazwa Hosta, IP lub URL" -#: xs/src/slic3r/GUI/Tab.cpp:1716 xs/src/slic3r/GUI/Tab.cpp:1722 -msgid "Single extruder MM setup" -msgstr "Ustawienia MM dla jednego ekstrudera" +#: src/libslic3r/PrintConfig.cpp:1318 +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." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1373 -msgid "Single Extruder Multi Material" -msgstr "Multi Material z jednym ekstruderem" +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "Retrakcja tylko przy przechodzeniu nad obrysami" -#: xs/src/slic3r/GUI/Tab.cpp:1723 -msgid "Single extruder multimaterial parameters" -msgstr "Parametry multimaterial przy jednym ekstruderze" +#: src/libslic3r/PrintConfig.cpp:1326 +msgid "" +"Disables retraction when the travel path does not exceed the upper layer's " +"perimeters (and thus any ooze will be probably invisible)." +msgstr "" +"Wyłącza retrakcję gdy ruch jałowy nie wykracza poza zewnętrzny obrys górnej " +"warstwy (więc jakiekolwiek wycieki z dyszy prawdopodobnie i tak nie będą " +"widoczne)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:50 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1191 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:408 -msgid "Size" -msgstr "Rozmiar" +#: src/libslic3r/PrintConfig.cpp:1334 +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 "" +"Ta funkcja obniży temperatury nieużywanych ekstruderów aby zapobiec " +"wyciekaniu filamentu z dyszy. Równocześnie włączy wysoki skirt i przesunie " +"ekstrudery poza jego obrys przy zmianie temperatury." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:938 -msgid "Size and coordinates" -msgstr "Rozmiar i koordynaty" +#: src/libslic3r/PrintConfig.cpp:1342 +msgid "Output filename format" +msgstr "Rozszerzenie pliku wyjściowego" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:51 -msgid "Size in X and Y of the rectangular plate." -msgstr "Rozmiar X i Y stołu prostokątnego." +#: src/libslic3r/PrintConfig.cpp:1343 +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 "" +"Możesz użyć wszystkich opcji konfiguracjnych jako zmiennych w tym szablonie, " +"takich jak np: [layer_height] - wysokość warstwy, [fill_density] - gęstość " +"wypełnienia, itp. Możesz również użyć [timestamp] - czas, [year] - rok, " +"[month] - miesiąc, [day] - dzień, [hour] - godzina, [minute] - minuta, " +"[second] - sekunda, [version] - wersja, [input_filename] - pełna nazwa pliku " +"wejściowego, [input_filename_base] - nazwa pliku wejściowego bez " +"rozszerzenia." + +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "Wykrywanie mostów przy obrysach" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:365 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:146 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:88 -msgid "Skirt" -msgstr "Skirt" +#: src/libslic3r/PrintConfig.cpp:1355 +msgid "" +"Experimental option to adjust flow for overhangs (bridge flow will be used), " +"to apply bridge speed to them and enable fan." +msgstr "" +"Opcja eksperymentalna dostosowująca przepływ przy zwisach (zostanie " +"zastosowany przepływ taki jak dla mostów), zastosuje również prędkość i " +"chłodzenie takie jak dla mostów." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:364 -msgid "Skirt and brim" -msgstr "Skirt i brim" +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" +msgstr "Pozycja zatrzymania filamentu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1221 -msgid "Skirt height" -msgstr "Wysokość skirt" +#: src/libslic3r/PrintConfig.cpp:1363 +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 "" +"Odległość końcówki ekstrudera do miejsca zatrzymania filamentu po " +"rozładowaniu. Ta wartość powinna odpowiadać tej ustawionej w firmware " +"drukarki. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1230 -msgid "Skirt Loops" -msgstr "Liczba obrysów skirt" +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:398 -msgid "Slic3r &Manual" -msgstr "&Instrukcja" +#: src/libslic3r/PrintConfig.cpp:1373 +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. " +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:395 -msgid "Slic3r &Website" -msgstr "Strona &WWW Slic3ra" +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "Obrysy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:902 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the API Key required for authentication." -msgstr "Slic3r może przesyłać pliki G-code do OctoPrint. To pole powinno zawierać klucz API niezbędny do uwierzytelnienia." +#: src/libslic3r/PrintConfig.cpp:1383 +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 "" +"To jest przyspieszenie stosowane przy druku obrysów. Wysoka wartość, np. " +"9000 zazwyczaj daje dobre rezultaty - pod warunkiem, że Twój sprzęt się do " +"tego nadaje. Ustaw zero aby wyłączyć osobne ustawienia przyspieszenia dla " +"obrysów." -#: xs/src/libslic3r/PrintConfig.cpp:992 -msgid "Slic3r can upload G-code files to OctoPrint. This field should contain the hostname, IP address or URL of the OctoPrint instance." -msgstr "Slic3r może wysyłać pliki G-code do OctoPrint. To pole powinno zawierać nazwę hosta, adres IP lub URL serwera OctoPrint." +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "Ekstruder dla obrysów" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r configuration is incompatible" -msgstr "Konfiguracja Slic3r jest niekompatybilna" +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "" +"The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "" +"Ekstruder używany przy druku obrysów i brim. Pierwszy ekstruder ma nr 1." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:929 -msgid "Slic3r Error" -msgstr "Błąd Slic3ra" +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "" +"Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości " +"ekstruzji obrysów. Możesz ustawić większą szerokość aby uzyskać " +"dokładniejsze wykończenie powierzchni. Jeśli ustawisz zero to szerokość " +"będzie miała wartość domyślną, czyli 1.125x średnicy dyszy. Jeśli ustawisz " +"wartość procentową (np. 200%) to zostanie obliczona z wysokości warstwy." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r error" -msgstr "Błąd Slic3r" +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "" +"Prędkość obrysów (inaczej powłoki pionowej). Ustaw 0 dla prędkości " +"automatycznej." -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r has encountered an error" -msgstr "Slic3r napotkał błąd" +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "" +"To ustawienie określa ilość obrysów, które będą generowane dla każdej " +"warstwy. Weź po uwagę, że Slic3r może zwiększyć tą liczbę automatycznie gdy " +"wykryje zwisy, w których wydruku pomoże dodatkowa ilość obrysów przy " +"jednocześnie włączonej opcji \"Dodatkowe obrysy jeśli potrzebne\"." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r incompatibility" -msgstr "Niekompatybilność ze Slic3r" +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "(minimum)" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 -#, c-format +#: src/libslic3r/PrintConfig.cpp:1439 msgid "" -"Slic3r PE 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." +"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 "" -"Slic3r PE używa teraz ulepszonej struktury konfiguracji.\n" -"\n" -"Wprowadzamy tak zwane \"Zestawy systemowe\", które zawierają preinstalowane ustawienia domyślne dla różnych drukarek. Te Zestawy nie mogą być zmodyfikowane, ale za to użytkownik może na ich bazie utworzyć własne - kopiując ustawienia z jednego z Zestawów.\n" -"Zestaw dziedziczący ustawienia może skopiować ustawienia z zestawu nadrzędnego lub nadpisać je własnymi.\n" -"\n" -"Przejdź do %s aby stworzyć nowe zestawy i wybrać opcję ich automatycznej aktualizacji." +"Wprowadź ścieżki do własnych skryptów jeśli chcesz dodać je do wyjściowego " +"pliku G-code. Możesz dodać wiele skryptów, rozdzielając je średnikiem ( ; ). " +"Skrypty będą przetwarzane jako pierwsze w kolejności i mają dostęp do " +"ustawień konfiguracyjnych Slic3ra przez zmienne środowiskowe." -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 -msgid "slic3r version" -msgstr "wersja Slic3r" +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "Rodzaj drukarki" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:867 -msgid "Slic3r will not scale speed down below this speed." -msgstr "Slic3r nie będzie skalował prędkości poniżej tej wartości." +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." +msgstr "Rodzaj drukarki." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:268 -msgid "Slice a file into a G-code" -msgstr "Cięcie jako G-code" +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "Notatki o drukarce" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:274 -msgid "Slice a file into a G-code, save as" -msgstr "Cięcie jako G-code, zapisz jako" +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "Tutaj możesz umieścić notatki dotyczące drukarki." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice file to a multi-layer SVG" -msgstr "Cięcie jako wielowarstwowy SVG" +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" +msgstr "Dostawca drukarki" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:237 -msgid "Slice now" -msgstr "Cięcie" +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." +msgstr "Nazwa dostawcy drukarki." + +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" +msgstr "Wariant drukarki" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:287 -msgid "Slice to SV&G…\tCtrl+G" -msgstr "Cięcie do SV&G...\tCtrl+G" +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "Nazwa wersji drukarki. Możesz np. tworzyć warianty wg średnicy dyszy." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:438 -msgid "Sliced Info" -msgstr "Informacje o cięciu" +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" +msgstr "Warstwy tratwy" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1286 -msgid "Slicing cancelled" -msgstr "Cięcie przerwane" +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." +msgstr "" +"Model zostanie podniesiony o zadaną ilość warstw i umieszczony na podporach." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:550 -msgid "Slicing Done!" -msgstr "Cięcie zakończone!" +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" +msgstr "Rozdzielczość" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:528 -msgid "Slicing…" -msgstr "Cięcie…" +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "" +"Minimalna rozdzielczość, używana do uproszczenia modelu wejściowego, co " +"prowadzi do przyspieszenia procesu cięcia. Modele w wysokiej rozdzielczości " +"mogą zawierać więcej szczegółów niż drukarka jest w stanie przetworzyć. " +"Ustaw zero aby wyłączyć upraszczanie i użyć pełnej rozdzielczości pliku " +"wejściowego." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1239 -msgid "Slow down if layer print time is below" -msgstr "Zwolnij jeśli czas warstwy wynosi mniej niż" +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" +msgstr "Minimalny ruch jałowy po retrakcji" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1250 -msgid "Small perimeters" -msgstr "Małe obrysy" +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "" +"Retraction is not triggered when travel moves are shorter than this length." +msgstr "" +"Retrakcja nie zostanie wykonana przy ruchu jałowym krótszym niż ta wartość." -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Snapshot name" -msgstr "Nazwa zrzutu" +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" +msgstr "Długość retrakcji przed ruchem czyszczącym" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:179 -msgid "solid infill" -msgstr "zwarte wypełnienie" +#: src/libslic3r/PrintConfig.cpp:1515 +msgid "" +"With bowden extruders, it may be wise to do some amount of quick retract " +"before doing the wipe movement." +msgstr "" +"Przy ekstruderze typu bowden warto wykonać szybką retrakcję przed ruchem " +"czyszczącym." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1291 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1301 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:142 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:84 -msgid "Solid infill" -msgstr "Zwarte wypełnienie" +#: src/libslic3r/PrintConfig.cpp:1523 +msgid "Retract on layer change" +msgstr "Retrakcja przy zmianie warstwy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1279 -msgid "Solid infill every" -msgstr "Zwarte wypełnienie co" +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "Ta flaga wymusza retrakcję przy każdej zmianie wysokości Z." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1271 -msgid "Solid infill extruder" -msgstr "Ekstruder do zwartego wypełnienia" +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "Długość" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1262 -msgid "Solid infill threshold area" -msgstr "Próg powierzchni zwartego wypełnienia" +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "Długość retrakcji" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:330 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1314 -msgid "Solid layers" -msgstr "Zwarte warstwy" +#: src/libslic3r/PrintConfig.cpp:1532 +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 "" +"Kiedy zostaje wykonana retrakcja to filament o określonej długości jest " +"wciągany z powrotem (mierzona jest długość nieprzetworzonego filamentu, " +"zanim wejdzie do ekstrudera)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:470 -msgid "Soluble material" -msgstr "Materiał rozpuszczalny" +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "mm (zero aby wyłączyć)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:471 -msgid "Soluble material is most likely used for a soluble support." -msgstr "Materiał rozpuszczalny jest używany zazwyczaj do rozpuszczalnych podpór." +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "Długość Retrakcji (zmiana narzędzia)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:653 -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 "Niektóre komendy G/M-code, wliczając w to dot. kontroli temperatury i inne, nie są uniwersalne. Ustaw tą opcję zgodnie z oprogramowaniem układowym Twojej drukarki aby dostać kompatybilny plik wyjściowy. Parametr \"Bez ekstruzji\" (\"No extrusion\") zapobiega generowaniu przez Slic3r jakichkolwiek ekstruzji." +#: src/libslic3r/PrintConfig.cpp:1541 +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 "" +"Kiedy retrakcja zostaje wykonana przed zmianą ekstrudera, filament o " +"określonej długości jest wciągany z powrotem (mierzona jest długość " +"nieprzetworzonego filamentu, zanim wejdzie do ekstrudera)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1682 -msgid "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default." -msgstr "Niektóre drukarki mogą mieć trudności z drukiem ze zmienną wysokością warstwy. Domyślnie włączone." +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" +msgstr "Z-hop" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1490 -msgid "Spacing between interface lines. Set zero to get a solid interface." -msgstr "Rozmieszczenie linii warstwy łączącej. Ustaw zero dla zwartej warstwy łączącej." +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" +"Jeśli ustawisz tu wartość dodatnią to oś Z wykona szybki ruch w górę przy " +"każdej retrakcji. Przy używaniu kilku ekstruderów tylko ustawienia " +"pierwszego z nich będą brane pod uwagę." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1526 -msgid "Spacing between support material lines." -msgstr "Rozmieszczenie linii materiału podporowego." +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "Powyżej Z" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:398 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:118 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:278 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:635 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:747 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:979 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1201 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1251 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1302 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1625 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:71 -msgid "Speed" -msgstr "Prędkość" +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" +msgstr "Z-hop tylko powyżej" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1203 -msgid "Speed (baud) of USB/serial port for printer connection." -msgstr "Szybkość transmisji portu USB/portu szeregowego do połączenia z drukarką." +#: src/libslic3r/PrintConfig.cpp:1561 +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 "" +"Jeśli ustawisz wartość dodatnią, to oś Z (z-hop) będzie podnosić się tylko " +"powyżej ustawionej wartości. Możesz w ten sposób wyłączyć z-hop na pierwszej " +"warstwie." -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:336 -msgid "Speed (mm/s)" -msgstr "Prędkość (mm/s)" +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" +msgstr "Poniżej Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:636 -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 "Prędkość wypełniania szczelin krótkimi ruchami typu zygzak. Ustaw tą wartość na tyle nisko aby uniknąć wibracji i rezonansu. Ustaw 0 aby wyłączyć wypełnianie szczelin." +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "Z-hop tylko poniżej" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:411 -msgid "Speed for non-print moves" -msgstr "Prędkość ruchów jałowych" +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" +"Jeśli ustawisz wartość dodatnią, to z-hop będzie odbywał się tylko poniżej " +"ustawionej wartości. Możesz w ten sposób ograniczyć działanie funkcji np. " +"tylko dla pierwszych warstw." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:980 -msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." -msgstr "Prędkość obrysów (inaczej powłoki pionowej). Ustaw 0 dla prędkości automatycznej." +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "Dodatkowa ilość dla powrotu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:399 -msgid "Speed for print moves" -msgstr "Prędkość ruchów drukujących" +#: src/libslic3r/PrintConfig.cpp:1581 +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 "" +"Jeśli retrakcja jest korygowana po ruchu jałowym, ekstruder przepchnie taką " +"dodatkową ilość filamentu. Ta opcja jest rzadko potrzebna." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:119 -msgid "Speed for printing bridges." -msgstr "Prędkość drukowania mostów." +#: src/libslic3r/PrintConfig.cpp:1590 +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "" +"Jeśli retrakcja jest korygowana po zmianie narzędzia, ekstruder przepchnie " +"taką dodatkową ilość filamentu." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1303 -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 "Prędkość druku zwartych obszarów (góra/dół/poziome powłoki wewnętrzne). Może być wyrażona procentowo (np. 80%) ponad domyślną prędkość wypełnienia. Wpisz zero dla automatycznego ustawienia." +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "Prędkość retrakcji" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1499 -msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." -msgstr "Prędkość druku warstw łączących materiału podporowego. Jeśli ustawisz wartość procentową (np. 50%) to zostanie obliczona z prędkości druku materiału podporowego." +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "Prędkość retrakcji (stosowana tylko dla silnika ekstrudera)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1535 -msgid "Speed for printing support material." -msgstr "Prędkość druku materiału podporowego." +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "Prędkość powrotu retrakcji" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:748 -msgid "Speed for printing the internal fill. Set to zero for auto." -msgstr "Prędkość druku wewnętrznego wypełnienia. Ustaw 0 dla prędkości automatycznej." +#: src/libslic3r/PrintConfig.cpp:1609 +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 "" +"Prędkość powrotu filamentu do ekstrudera po retrakcji (dotyczy tylko silnika " +"ekstrudera). Ustaw zero aby użyć prędkości retrakcji." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1626 -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." -msgstr "Prędkość druku najwyższych warstw zwartych (dotyczy tylko najwyższych, zewnętrznych warstw i nie obejmuje zwartych warstw umieszczonych niżej). Warto obniżyć tą wartość dla ładniejszego wykończenia powierzchni. Jeśli ustawisz wartość procentową (np. 80%) to zosttanie obliczona z prędkości druku zwartego wypełnienia. Ustaw zero dla prędkości automatycznej." +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" +msgstr "Pozycja szwu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1648 -msgid "Speed for travel moves (jumps between distant extrusion points)." -msgstr "Prędkość ruchów jałowych (przeskoków pomiędzy punktami ekstruzji)." +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "Pozycja startowa druku obrysów." -#: xs/src/libslic3r/PrintConfig.cpp:460 -msgid "Speed used for loading the filament on the wipe tower. " -msgstr "Prędkość ładowania filamentu przy druku wieży czyszczącej. " +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:468 -msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming). " -msgstr "Prędkość rozładowywania filamentu dla wieży czyszczącej (nie wpływa na początkową fazę rozładowywania zaraz po wyciskaniu). " +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1322 -msgid "Spiral vase" -msgstr "Tryb wazy" +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:540 -msgid "Spiral Vase" -msgstr "Tryb Wazy" +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:188 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:204 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split" -msgstr "Podziel" +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "Kierunek" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2099 -msgid "Split the selected object into individual parts" -msgstr "Podziel wybrany model na części" +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "Preferowane ustawienie szwu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:847 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1120 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1342 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1357 -msgid "Start G-code" -msgstr "G-code startowy" +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "Preferowany kierunek szwu" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:291 -msgid "Start new slicing process" -msgstr "Uruchom nowy proces cięcia" +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "Jitter" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:296 -msgid "Status:" -msgstr "Stan:" +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "Kierunek jitter wyznaczany przez szew" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1539 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1581 -msgid "STL file exported to " -msgstr "Plik STL został wyeksportowany do " +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "Preferowany kierunek szwu - jitter" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1017 -msgid "Success!" -msgstr "Powodzenie!" +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "Port USB/szeregowy do połączenia z drukarką." -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:198 -msgid "support" -msgstr "podpora" +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "Szybkość portu szeregowego" -#: xs/src/slic3r/GUI/GUI.cpp:879 -msgid "Support" -msgstr "Podpory" +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." +msgstr "" +"Szybkość transmisji portu USB/portu szeregowego do połączenia z drukarką." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:620 -msgid "Support Generator" -msgstr "Generator Podpór" +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "Odstęp od modelu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:208 -msgid "support interface" -msgstr "warstwa łącząca podpory z modelem" +#: src/libslic3r/PrintConfig.cpp:1680 +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 "" +"Odległość skirtu od modelu. Ustaw zero aby dołączyć do modelu i uzyskać " +"obramowanie dla lepszej przyczepności." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:374 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:375 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:191 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1030 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1380 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1387 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1399 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1409 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1417 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1432 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1453 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1464 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1480 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1489 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1498 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1509 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1525 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1533 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1534 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1543 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1551 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1565 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:147 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:89 -msgid "Support material" -msgstr "Materiał podporowy" +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "Wysokość skirt" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1497 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:148 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:90 -msgid "Support material interface" -msgstr "Warstwa łącząca podpory z modelem" +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "" +"Height of skirt expressed in layers. Set this to a tall value to use skirt " +"as a shield against drafts." +msgstr "" +"Wysokość skirtu wyrażona w warstwach. Ustawienie wysokiej wartości spowoduje " +"stworzenie osłony chroniącej przed przeciągami." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1552 -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)." -msgstr "Podpory nie będą generowane dla zwisów, których kąt przekracza zadany próg (90° = pion). Inaczej mówiąc, ta wartość określa największy kąt od poziomu (kąt mierzony od płaszczyzny poziomej), który będzie drukowany bez podpór." +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" +msgstr "Pętle (minimum)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1470 -msgid "Support material/raft interface extruder" -msgstr "Ekstruder dla podpór/warstw łączących raft z modelem" +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "Liczba obrysów skirt" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1444 -msgid "Support material/raft/skirt extruder" -msgstr "Ekstruder dla podpór/tratwy (raft)/skirtu" +#: src/libslic3r/PrintConfig.cpp:1699 +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 "" +"Liczba pętli skirt. Jeśli włączona jest opcja \"Minimalna długość ekstruzji" +"\", to może ona nadpisać wartość wprowadzoną w tym polu. Ustaw zero aby " +"całkowicie wyłączyć skirt." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1408 -msgid "Support on build plate only" -msgstr "Podpory jedynie na powierzchni stołu" +#: src/libslic3r/PrintConfig.cpp:1708 +msgid "Slow down if layer print time is below" +msgstr "Zwolnij jeśli czas warstwy wynosi mniej niż" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:617 +#: src/libslic3r/PrintConfig.cpp:1709 msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +"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 "" -"Druk podpór daje lepsze efekty, gdy następująca funkcja jest włączona:\n" -"- Wykrywanie mostów przy obrysach\n" -"\n" -"Zmienić tą opcję dla druku podpór?" +"Jeśli szacowany czas druku warstwy będzie niższy niż ta wartość to prędkość " +"ruchów drukujących będzie zmniejszona aby wydłużyć czas druku." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:59 -msgid "Suppress \" - default - \" presets" -msgstr "Ukryj \" - domyślne - \" zestawy ustawień" +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" +msgstr "Małe obrysy" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:61 -msgid "Suppress \" - default - \" presets in the Print / Filament / Printer selections once there are any other valid presets available." -msgstr "Ukryj \" - domyślne - \" zestawy ustawień w zakładkach Druk / Filament / Drukarka gdy dostępne są inne kompatybilne ustawienia." +#: src/libslic3r/PrintConfig.cpp:1722 +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 "" +"To ustawienie reguluje prędkość obrysów posiadających promień mniejszy lub " +"równy 6.5 mm (zazwyczaj chodzi o otwory). Jeśli ustawisz wartość procentową " +"(np. 80%) to zostanie obliczona z prędkości obrysów ustawionej powyżej. " +"Ustaw zero aby użyć nastawów automatycznych." -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:514 -msgid "SVG" -msgstr "SVG" +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" +msgstr "Próg powierzchni zwartego wypełnienia" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:325 +#: src/libslic3r/PrintConfig.cpp:1734 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ć?" +"Force solid infill for regions having a smaller area than the specified " +"threshold." +msgstr "Wymuś zwarte wypełnienie dla obszarów mniejszych niż zadany próg." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1544 -msgid "Synchronize support layers with the object print layers. This is useful with multi-material printers, where the extruder switch is expensive." -msgstr "Synchronizuj warstwy podporowe z warstwami modelu. Przydaje się przy drukarkach typu multi-material gdy zmiana używanego materiału jest kosztowna." +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" +msgstr "mm²" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1542 -msgid "Synchronize with object layers" -msgstr "Synchronizuj z warstwami modelu" +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "Ekstruder do zwartego wypełnienia" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:402 -msgid "System Info" -msgstr "Informacje o systemie" +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "Ekstruder używany do druku zwartego wypełnienia." -#: xs/src/slic3r/GUI/Tab.cpp:2286 xs/src/slic3r/GUI/Tab.cpp:2372 -#: xs/src/slic3r/GUI/Preset.cpp:605 xs/src/slic3r/GUI/Preset.cpp:645 -#: xs/src/slic3r/GUI/Preset.cpp:670 xs/src/slic3r/GUI/Preset.cpp:702 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1069 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1122 lib/Slic3r/GUI/Plater.pm:552 -msgid "System presets" -msgstr "Ustawienia systemowe" +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "Zwarte wypełnienie co" -#: xs/src/slic3r/GUI/GUI.cpp:403 -msgid "Take Configuration Snapshot" -msgstr "Wykonaj Zrzut Konfiguracji" +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "" +"Ta funkcja pozwoli wstawić zwartą warstwę wypełnienia pomiędzy określoną " +"liczbą warstw. Ustaw zero aby wyłączyć. Możesz ustawić tu dowolną wartość " +"(np. 9999) a Slic3r automatycznie wybierze maksymalną możliwą liczbę warstw " +"biorąc pod uwagę średnicę dyszy i wysokość warstwy." -#: xs/src/slic3r/GUI/GUI.cpp:417 -msgid "Taking configuration snapshot" -msgstr "Zrzucanie konfiguracji" +#: src/libslic3r/PrintConfig.cpp:1766 +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." +msgstr "" +"Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości " +"ekstruzji wypełnienia powierzchni zwartych. Jeśli ustawisz zero, szerokość " +"będzie miała wartość domyślną, czyli 1.125x średnicy dyszy. Jeśli ustawisz " +"wartość procentową (np. 90%) to zostanie obliczona z wysokości warstwy." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1576 -msgid "Temperature" -msgstr "Temperatura" +#: src/libslic3r/PrintConfig.cpp:1777 +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 "" +"Prędkość druku zwartych obszarów (góra/dół/poziome powłoki wewnętrzne). Może " +"być wyrażona procentowo (np. 80%) ponad domyślną prędkość wypełnienia. Wpisz " +"zero dla automatycznego ustawienia." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:794 -msgid "Temperature " -msgstr "Temperatura " +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "Liczba zwartych warstw górnych i dolnych." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1333 -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 "Różnica temperatur mająca zastosowanie gdy ekstruder nie jest używany. Włącza druk skirtu o wysokości równej wysokości modelu, dzięki której dysze będą co jakiś czas czyszczone." +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "Tryb wazy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1332 +#: src/libslic3r/PrintConfig.cpp:1797 +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 "" +"Ta funkcja pozwala drukować modele z 1 zewnętrzną ścianką z ciągłym " +"podnoszeniem Z, aby uniknąć widocznego szwu (czyli ekstruder nie będzie " +"drukował po 1 warstwie na 1 wysokości, lecz będzie podnosił się płynnie w " +"formie spirali). Wymaga użycia 1 obrysu, zerowego wypełnienia, braku warstw " +"górnych i braku podpór. Możesz ustawić dowolną ilość dolnych warstw jak i " +"obrysów skirt/brim. Nie zadziała przy druku więcej niż jednego modelu." + +#: src/libslic3r/PrintConfig.cpp:1806 msgid "Temperature variation" msgstr "Zmiana temperatury" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 -msgid "Temperatures" -msgstr "Temperatury" +#: src/libslic3r/PrintConfig.cpp:1807 +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 "" +"Różnica temperatur mająca zastosowanie gdy ekstruder nie jest używany. " +"Włącza druk skirtu o wysokości równej wysokości modelu, dzięki której dysze " +"będą co jakiś czas czyszczone." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1004 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1072 -msgid "Test" -msgstr "Test" +#: src/libslic3r/PrintConfig.cpp:1818 +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 "" +"Ten skrypt jest wykonywany na początku, po tym jak stół roboczy osiągnie " +"zadaną temperaturę i ekstruder zacznie podgrzewanie, ale zanim nagrzeje się " +"do zadanej temperatury. Jeśli Slic3r wykryje komendy typu M104, M109, M140 " +"lub M190, to nie zostaną one wykonane na początku, więc możesz określić " +"kolejność komend dot. podgrzewania i innych dodanych akcji. Pamiętaj, że " +"możesz używać zmiennych typu placeholder, więc np. komendę \"M109 " +"S[first_layer_temperature]\" (temperatura pierwszej warstwy) możesz umieścić " +"gdzie chcesz." + +#: src/libslic3r/PrintConfig.cpp:1834 +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 "" +"Ten skrypt jest wykonywany na samym początku G-code. Może być użyty do " +"nadpisania określonych ustawień filamentu. Jeśli Slic3r wykryje komendy typu " +"M104, M109, M140 lub M190, to nie zostaną one wykonane na początku, więc " +"możesz określić kolejność komend dot. podgrzewania i innych dodanych akcji. " +"Pamiętaj, że możesz używać zmiennych typu placeholder, więc np. komendę " +"\"M109 S[first_layer_temperature]\" (temperatura pierwszej warstwy) możesz " +"umieścić gdzie chcesz. Jeśli posiadasz kilka ekstruderów, ten G-code jest " +"wykonywany w ich kolejności." + +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "Multi Material z jednym ekstruderem" -# Used in context: _("The ") + str_fill_pattern + _(" infill pattern is not supposed to work at 100% density.\n") -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:662 -msgid "The " +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "Drukarka przechodzi pomiędzy filamentami używając jednego hotendu." + +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1858 +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:309 -msgid "The extruder to use (unless more specific extruder settings are specified). This value overrides perimeter and infill extruders, but not the support extruders." -msgstr "Używany ekstruder (jeśli nie są określone dokładniejsze ustawienia ekstuderów). To ustawienie nadpisuje ustawienia ekstruderów dla obrysów i wypełnienia, ale nie tych dla podpór." +#: src/libslic3r/PrintConfig.cpp:1864 +msgid "Generate support material" +msgstr "Generuj materiał podporowy" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:703 -msgid "The extruder to use when printing infill." -msgstr "Ekstruder używany do druku wypełnienia." +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "Włącz generowanie materiału podporowego." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:959 -msgid "The extruder to use when printing perimeters and brim. First extruder is 1." -msgstr "Ekstruder używany przy druku obrysów i brim. Pierwszy ekstruder ma nr 1." +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1273 -msgid "The extruder to use when printing solid infill." -msgstr "Ekstruder używany do druku zwartego wypełnienia." +#: src/libslic3r/PrintConfig.cpp:1873 +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:1880 +msgid "XY separation between an object and its support" +msgstr "Odstęp materiału podporowego od modelu w osiach XY" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1472 -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 "Ekstruder używany przy druku warstw łączących podpory z modelem (1+, zero aby użyć obecnie wybranego ekstrudera i zminimalizować zmiany filamentu). Ma wpływ również na druk tratwy (raftu)." +#: src/libslic3r/PrintConfig.cpp:1882 +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 "" +"Odstęp materiału podporowego od modelu w osiach XY. Jeśli ustawisz wartość " +"procentową (np. 15%) to zostanie obliczona z szerokości ekstruzji obrysów " +"zewnętrznych." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1446 -msgid "The extruder to use when printing support material, raft and skirt (1+, 0 to use the current extruder to minimize tool changes)." -msgstr "Ekstruder używany przy druku podpór, tratwy (raft) i skirtu (1+, zero aby użyć obecnie wybranego ekstrudera i zminimalizować zmiany filamentu)." +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" +msgstr "Kąt wzoru" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:209 -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 "Pierwsza warstwa zostanie zmniejszona o tą wartość w osiach X i Y aby zniwelować efekt stopy słonia (Elephant Foot - gdy pierwsza warstwa \"rozjeżdża\" się na boki)." +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." +msgstr "" +"To ustawienie odpowiada za obrót materiału podporowego w płaszczyźnie " +"poziomej." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1734 -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 "Model zostanie zmniejszony lub zwiększony w osiach X i Y o zadaną wartość (ujemna = zmniejszenie, dotatnia = zwiększenie). Może być przydatne przy kalibracji średnic otworów." +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"Only create support if it lies on a build plate. Don't create support on a " +"print." +msgstr "Tworzenie podpór tylko na stole. Nie będą tworzone na wydruku." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1031 -msgid "The object will be raised by this number of layers, and support material will be generated under it." -msgstr "Model zostanie podniesiony o zadaną ilość warstw i umieszczony na podporach." +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "Odstęp w osi Z" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1374 -msgid "The printer multiplexes filaments into a single hot end." -msgstr "Drukarka przechodzi pomiędzy filamentami używając jednego hotendu." +#: src/libslic3r/PrintConfig.cpp:1915 +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 "" +"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ą." -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:324 -msgid "The selected file contains no geometry." -msgstr "Wybrany plik nie zawiera żadnego kształtu." +#: src/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:328 -msgid "The selected file contains several disjoint areas. This is not supported." -msgstr "Wybrany plik zawiera kilka rozłączonych obszarów. Taki plik nie jest obsługiwany." +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1112 -msgid "The selected object can't be split because it contains more than one volume/material." -msgstr "Wybrany model nie może być podzielony ponieważ składa się z więcej niż jednej części lub zawiera więcej niż jeden materiał." +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "Wymuś podpory dla pierwszych" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1121 -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/libslic3r/PrintConfig.cpp:1931 +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." +msgstr "" +"Generuj materiał podporowy dla określonej liczby warstw licząc od dołu, " +"niezależnie od tego czy normalny materiał podporowy jest włączony i " +"niezależnie od progu kąta. Przydaje się aby uzyskać lepszą przyczepność " +"modelu, które mają bardzo małą powierzchnię kontaktu z powierzchnią druku." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1144 -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 "Prędkość powrotu filamentu do ekstrudera po retrakcji (dotyczy tylko silnika ekstrudera). Ustaw zero aby użyć prędkości retrakcji." +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "Wymuś podpory dla pierwszych n warstw" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1136 -msgid "The speed for retractions (it only applies to the extruder motor)." -msgstr "Prędkość retrakcji (stosowana tylko dla silnika ekstrudera)." +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "Ekstruder dla podpór/tratwy (raft)/skirtu" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:533 -#, no-c-format +#: src/libslic3r/PrintConfig.cpp:1945 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?" +"The extruder to use when printing support material, raft and skirt (1+, 0 to " +"use the current extruder to minimize tool changes)." msgstr "" -"Wymagania trybu wazy:\n" -"- jeden obrys\n" -"- brak warstw górnych\n" -"- 0% wypełnienia\n" -"- brak materiału podporowego\n" -"- brak opcji \"zagwarantuj odpowiednią grubość ścianki\"\n" -"\n" -"Czy ustawić te parametry odpowiednio dla trybu wazy?" +"Ekstruder używany przy druku podpór, tratwy (raft) i skirtu (1+, zero aby " +"użyć obecnie wybranego ekstrudera i zminimalizować zmiany filamentu)." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1560 -msgid "The supplied name is empty. It can't be saved." -msgstr "Podana nazwa jest pusta. Nie można zapisać." +#: src/libslic3r/PrintConfig.cpp:1955 +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." +msgstr "" +"Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości " +"ekstruzji materiału podporowego. Jeśli ustawisz zero to szerokość będzie " +"miała wartość domyślną, czyli będzie równa średnicy dyszy. Jeśli ustawisz " +"wartość procentową (np. 90%) to zostanie obliczona z wysokości warstwy." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1788 -msgid "The supplied name is not available." -msgstr "Podana nazwa jest niedostępna." +#: src/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "Warstwy łączące" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1785 -msgid "The supplied name is not valid; the following characters are not allowed:" -msgstr "Podana nazwa jest nieprawidłowa; następujące znaki są niedozwolone:" +#: src/libslic3r/PrintConfig.cpp:1966 +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "Pokryj pętlą górną warstwę podpór. Domyślnie wyłączone." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1418 -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 "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/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "Ekstruder dla podpór/warstw łączących raft z modelem" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1312 +#: src/libslic3r/PrintConfig.cpp:1974 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?" +"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 "" -"Opcja czyszczenia dyszy nie jest dostępna z funkcją Retrakcji w Firmware (Firmware Retraction).\n" -"\n" -"Wyłączyć ją aby włączyć Firmware Retraction?" +"Ekstruder używany przy druku warstw łączących podpory z modelem (1+, zero " +"aby użyć obecnie wybranego ekstrudera i zminimalizować zmiany filamentu). Ma " +"wpływ również na druk tratwy (raftu)." + +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" +msgstr "Warstwy łączące" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:581 +#: src/libslic3r/PrintConfig.cpp:1984 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?" +"Number of interface layers to insert between the object(s) and support " +"material." +msgstr "Liczba warstw łączących materiał podporowy z modelem właściwym." + +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "Rozmieszczenie wzoru warstw łączących" + +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." msgstr "" -"Użycie wieży czyszczącej jest możliwe jedynie przy użyciu nierozpuszczalnych podpór\n" -"gdy są drukowane z obecnie używanego ekstrudera, bez inicjowania jego zmiany.\n" -"(zarówno support_material_extruder i support_material_interface_extruder muszą być ustawione na 0).\n" -"\n" -"Zmienić te ustawienia aby włączyć wieżę czyszczącą?" +"Rozmieszczenie linii warstwy łączącej. Ustaw zero dla zwartej warstwy " +"łączącej." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:60 -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." -msgstr "Ten kod jest wykonywany pomiędzy drukiem poszczególnych modeli w trybie druku sekwencyjnego. Domyślnie przy komendzie non-wait temperatury dyszy i stołu są resetowane; jednakże jeśli przy tej opcji zostaną użyte komendy M104, M109, M140 lub M190 to Slic3r nie doda własnych komend do kontroli temperatury. Pamiętaj, że możesz używać zmiennych typu placeholder, więc np. komendę \"M109 S[first_layer_temperature]\" (temperatura pierwszej warstwy) możesz umieścić gdzie chcesz." +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." +msgstr "" +"Prędkość druku warstw łączących materiału podporowego. Jeśli ustawisz " +"wartość procentową (np. 50%) to zostanie obliczona z prędkości druku " +"materiału podporowego." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:767 -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 "Ten kod jest wykonywany przy każdej zmianie warstwy - zaraz po podniesieniu głowicy na wysokość kolejnej warstwy ale zanim ekstruder przejdzie do pierwszego punktu nowej warstwy. Pamiętaj, że możesz użyć zmiennych typu placeholder dla wszystkich ustawień Slic3r, jak np. [layer_num] (numer warstwy) i [layer_z] (położenie warstwy w osi Z)." +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "Wzór" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:49 -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 "Ten kod jest wykonywany przy każdej zmianie warstwy, zaraz przed podniesieniem ekstrudera na wysokość nowej warstwy. Pamiętaj, że możesz użyć zmiennych typu placeholder dla wszystkich ustawień Slic3r, jak np. [layer_num] (numer warstwy) i [layer_z] (położenie warstwy w osi Z)." +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "Wzór podpór." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1603 -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 "Ten kod jest wykonywany przed każdą zmianą ekstrudera/filamentu. Pamiętaj, że możesz użyć zmiennych typu placeholder dla wszystkich ustawień Slic3r, jak np. [previous_extruder] (poprzedni ekstruder) i [next_extruder] (następny ekstruder)." +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:228 -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 "Ten kod jest wykonywany na samym końcu, przed samym zakończeniem wykonywania pliku G-code. Pamiętaj, że możesz użyć zmiennych typu placeholder dla wszystkich ustawień Slic3r. Jeśli masz kilka ekstruderów, ten G-code jest wykonywany zgodnie z ich kolejnością." +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "Rozmieszczenie wzoru" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:218 -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 "Ten kod jest wykonywany jako ostatni w pliku wyjściowym. Pamiętaj, że możesz użyć zmiennych typu placeholder dla wszystkich ustawień Slic3r." +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "Rozmieszczenie linii materiału podporowego." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:827 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:838 -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." -msgstr "To ustawienie eksperymentalne jest używane do ograniczania szybkości zmian ilości ekstrudowanego materiału. Wartość 1.8 mm³/s² oznacza, że zmiana z ilości ekstrudowanego materiału z poziomu 1.8 mm³/s (czyli 0.45 mm szerokości ekstruzji, 0.2 mm wysokości warstwy przy prędkości 20 mm/s) na 5.4 mm³/s (prędkość 60 mm/s) zajmie co najmniej 2 sekundy." +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "Prędkość druku materiału podporowego." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:818 -msgid "This experimental setting is used to set the maximum volumetric speed your extruder supports." -msgstr "Ta eksperymentalna funkcja określa maksymalną prędkość objętościową, którą jest w stanie wytłoczyć Twój ekstruder." +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "Synchronizuj z warstwami modelu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1657 -msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." -msgstr "Ta eksperymentalna funkcja używa komend G10 i G11 aby przerzucić kontrolę retrakcji na firmware. Jest wspierana jedynie przez najnowsze wersje Marlina." +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "" +"Synchronize support layers with the object print layers. This is useful with " +"multi-material printers, where the extruder switch is expensive." +msgstr "" +"Synchronizuj warstwy podporowe z warstwami modelu. Przydaje się przy " +"drukarkach typu multi-material gdy zmiana używanego materiału jest kosztowna." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1671 -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 "Ta eksperymentalna funkcja określa wyjściowe dane E (ilość ekstruzji) w milimetrach sześciennych zamiast długości. Jeśli średnica filamentu nie została jeszcze ustawiona w firmware, możesz użyć komendy \"M200 D[filament_diameter_0] T0\" w skrypcie startowym aby włączyć tryb objętościowy i użyć filamentu powiązanego z ustawionym w Slic3r. Ta funkcja jest wspierana jedynie przez najnowsze wersje Marlina." +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" +msgstr "Próg zwisu" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:108 -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." -msgstr "Ten współczynnik określa ilość plastiku wytłaczaną przy drukowaniu mostów. Możesz delikatnie zmniejszyć tą wartość aby zapobiec opadaniu drukowanej linii, jednakże standardowe ustawienia są zazwyczaj dobrze dobrane i najpierw poeksperymentuj z chłodzeniem wydruku." +#: src/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "" +"Podpory nie będą generowane dla zwisów, których kąt przekracza zadany próg " +"(90° = pion). Inaczej mówiąc, ta wartość określa największy kąt od poziomu " +"(kąt mierzony od płaszczyzny poziomej), który będzie drukowany bez podpór." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:368 -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." -msgstr "Ten współczynnik określa proporcjonalną ilość przepływu plastiku. Możesz zmienić tą wartość aby uzyskać gładsze powierzchnie i poprawną szerokość ścian drukowanych z 1 linii. Ten współczynnik waha się zazwyczaj od 0.9 do 1.1. Jeśli musisz wykroczyć poza ten zakres to najpierw zmierz średnicę filamentu i kroki ekstrudera (E steps)." +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "Z osłoną wokół podpór" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:98 -msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "Ta prędkość wentylatora zostanie zastosowana przy druku mostów i zwisów." +#: src/libslic3r/PrintConfig.cpp:2073 +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 "" +"Dodaj osłonę (pojedynczą linię) wokół podpory bazowej. Sprawi to, że podpory " +"będą stabilniejsze, ale też trudniejsze do usunięcia." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:692 -msgid "This feature allows to combine infill and speed up your print by extruding thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "Ta funkcja pozwala ustawić oddzielne wysokości dla wypełnienia i obrysów modelu i przyspieszyć wydruk ustawiając np. wyższą warstwę wypełnienia zachowując nominalną wysokość obrysów, co pozwoli zachować wysoką jakość i dokładność wydruku." +#: src/libslic3r/PrintConfig.cpp:2081 +msgid "" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." +msgstr "" +"Temperatura ekstrudera dla warstw powyżej pierwszej. Ustaw zero aby wyłączyć " +"komendy kontrolujące temperaturę w pliku wyjściowym." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1281 -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." -msgstr "Ta funkcja pozwoli wstawić zwartą warstwę wypełnienia pomiędzy określoną liczbą warstw. Ustaw zero aby wyłączyć. Możesz ustawić tu dowolną wartość (np. 9999) a Slic3r automatycznie wybierze maksymalną możliwą liczbę warstw biorąc pod uwagę średnicę dyszy i wysokość warstwy." +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "Temperatura" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1323 -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 "Ta funkcja pozwala drukować modele z 1 zewnętrzną ścianką z ciągłym podnoszeniem Z, aby uniknąć widocznego szwu (czyli ekstruder nie będzie drukował po 1 warstwie na 1 wysokości, lecz będzie podnosił się płynnie w formie spirali). Wymaga użycia 1 obrysu, zerowego wypełnienia, braku warstw górnych i braku podpór. Możesz ustawić dowolną ilość dolnych warstw jak i obrysów skirt/brim. Nie zadziała przy druku więcej niż jednego modelu." +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "Wykrywanie cienkich ścian" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:663 +#: src/libslic3r/PrintConfig.cpp:2092 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" +"Detect single-width walls (parts where two extrusions don't fit and we need " +"to collapse them into a single trace)." msgstr "" -"Ten plik zawiera kilka modeli umieszczonych na różnych wysokościach. Potraktować go jako\n" -"jeden model składający się z kilku części?\n" +"Wykrywaj ściany o grubości jednego obrysu (obszary, gdzie 2 obrysy nie " +"zmieszczą się i trzeba będzie połączyć je w jedną linię)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:164 -msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." -msgstr "Ta flaga umożliwia automatyczne sterowanie chłodzeniem przez zmianę prędkości druku i wentylatora względem czasu druku jednej warstwy." +#: src/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" +msgstr "Wątki" -#: xs/src/slic3r/GUI/GUI.cpp:899 -msgid "This flag enables the brim that will be printed around each object on the first layer." -msgstr "Ta flaga włącza brim, który zostanie wydrukowany na pierwszej warstwie wokół każdego modelu." +#: src/libslic3r/PrintConfig.cpp:2100 +msgid "" +"Threads are used to parallelize long-running tasks. Optimal threads number " +"is slightly above the number of available cores/processors." +msgstr "" +"Wątki są używane do równoległego przetwarzania zadań wymagających używa " +"wielu zasobów. Optymalna liczba wątków powinna być odrobinę większa od " +"dostępnej liczby rdzeni lub procesorów." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1066 -msgid "This flag enforces a retraction whenever a Z move is done." -msgstr "Ta flaga wymusza retrakcję przy każdej zmianie wysokości Z." +#: src/libslic3r/PrintConfig.cpp:2112 +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 "" +"Ten kod jest wykonywany przed każdą zmianą ekstrudera/filamentu. Pamiętaj, " +"że możesz użyć zmiennych typu placeholder dla wszystkich ustawień Slic3r, " +"jak np. [previous_extruder] (poprzedni ekstruder) i [next_extruder] " +"(następny ekstruder)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1689 -msgid "This flag will move the nozzle while retracting to minimize the possible blob on leaky extruders." -msgstr "Ta flaga włączy ruch dyszy przy retrakcji aby zminimalizować formowanie się kropli filamentu wokół końcówki dyszy przy ekstruderach, które mają tendencję do wyciekania filamentu." +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "" +"Ustaw tą wartość jako niezerową aby pozwolić na ręczne ustawienie szerokości " +"ekstruzji zwartego wypełnienia górnych warstw. Możesz ustawić mniejszą " +"szerokość aby wypełnić szczeliny i uzyskać gładsze wykończenie. Jeśli " +"ustawisz zero, szerokość będzie miała wartość domyślną, czyli będzie równa " +"średnicy dyszy. Jeśli ustawisz wartość procentową (np. 90%) to zostanie " +"obliczona z wysokości warstwy." + +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "" +"Prędkość druku najwyższych warstw zwartych (dotyczy tylko najwyższych, " +"zewnętrznych warstw i nie obejmuje zwartych warstw umieszczonych niżej). " +"Warto obniżyć tą wartość dla ładniejszego wykończenia powierzchni. Jeśli " +"ustawisz wartość procentową (np. 80%) to zosttanie obliczona z prędkości " +"druku zwartego wypełnienia. Ustaw zero dla prędkości automatycznej." + +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "Górne" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:343 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:406 -msgid "This is only used in the Slic3r interface as a visual help." -msgstr "Ta funkcja jest używana jedynie w interfejsie Slic3ra jako pomoc wizualna." +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "Liczba zwartych warstw górnych." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:171 -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." -msgstr "Do tej wartości przyspieszenia drukarka wróci gdy ustawione zostaną przyspieszenia dla określonych ruchów (obrysy/wypełnienie). Ustaw zero aby wyłączyć resetowanie przyspieszeń." +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "Zwarte warstwy górne" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:78 -msgid "This is the acceleration your printer will use for bridges. Set zero to disable acceleration control for bridges." -msgstr "To jest przyspieszenie stosowane przy druku mostów. Ustaw zero aby wyłączyć osobne ustawienia przyspieszenia dla mostów." +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "Prędkość ruchów jałowych (przeskoków pomiędzy punktami ekstruzji)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:574 -msgid "This is the acceleration your printer will use for first layer. Set zero to disable acceleration control for first layer." -msgstr "To jest przyspieszenie stosowane przy druku pierwszej warstwy. Ustaw zero aby wyłączyć osobne ustawienia przyspieszenia dla pierwszej warstwy." +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "Użyj retrakcji z firmware" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:682 -msgid "This is the acceleration your printer will use for infill. Set zero to disable acceleration control for infill." -msgstr "To jest przyspieszenie stosowane przy druku wypełnienia. Ustaw zero aby wyłączyć osobne ustawienia przyspieszenia dla wypełnienia." +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." +msgstr "" +"Ta eksperymentalna funkcja używa komend G10 i G11 aby przerzucić kontrolę " +"retrakcji na firmware. Jest wspierana jedynie przez najnowsze wersje Marlina." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:949 -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 "To jest przyspieszenie stosowane przy druku obrysów. Wysoka wartość, np. 9000 zazwyczaj daje dobre rezultaty - pod warunkiem, że Twój sprzęt się do tego nadaje. Ustaw zero aby wyłączyć osobne ustawienia przyspieszenia dla obrysów." +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "Użyj względnych wartości E (ekstruzji)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:895 -msgid "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" -msgstr "To jest średnica dyszy ekstrudera (np. 0.5, 0.35 itp.)" +#: src/libslic3r/PrintConfig.cpp:2177 +msgid "" +"If your firmware requires relative E values, check this, otherwise leave it " +"unchecked. Most firmwares use absolute values." +msgstr "" +"Jeśli Twój firmware wymaga względnych wartości E, zaznacz to pole. W innym " +"przypadku zostaw puste. Większość układów obsługuje wartości absolutne." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:797 -#, no-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." -msgstr "To jest najwyższa możliwa do wydrukowania wysokość warstwy dla tego ekstrudera i jednocześnie górny limit dla funkcji zmiennej wysokości warstwy i materiału podporowego. Zalecana jest wartość nie większa niż 75% szerokości ekstruzji aby zapewnić dobrą przyczepność warstw do siebie. Jeśli ustawisz zero, wysokość warstwy zostanie ograniczona do 75% średnicy dyszy." +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" +msgstr "Użyj wolumetrycznej wartości E" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:858 -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." -msgstr "To jest najniższa możliwa do wydrukowania wysokość warstwy dla tego ekstrudera i jednocześnie dolny limit dla funkcji zmiennej wysokości warstwy. Zazwyczaj jest to 0.05 lub 0.1 mm." +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" +"Ta eksperymentalna funkcja określa wyjściowe dane E (ilość ekstruzji) w " +"milimetrach sześciennych zamiast długości. Jeśli średnica filamentu nie " +"została jeszcze ustawiona w firmware, możesz użyć komendy \"M200 " +"D[filament_diameter_0] T0\" w skrypcie startowym aby włączyć tryb " +"objętościowy i użyć filamentu powiązanego z ustawionym w Slic3r. Ta funkcja " +"jest wspierana jedynie przez najnowsze wersje Marlina." + +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "Włącz funkcję zmiennej wysokości warstwy" -#: xs/src/libslic3r/PrintConfig.cpp:1816 -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 "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/libslic3r/PrintConfig.cpp:2197 +msgid "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." +msgstr "" +"Niektóre drukarki mogą mieć trudności z drukiem ze zmienną wysokością " +"warstwy. Domyślnie włączone." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:990 -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." -msgstr "To ustawienie określa ilość obrysów, które będą generowane dla każdej warstwy. Weź po uwagę, że Slic3r może zwiększyć tą liczbę automatycznie gdy wykryje zwisy, w których wydruku pomoże dodatkowa ilość obrysów przy jednocześnie włączonej opcji \"Dodatkowe obrysy jeśli potrzebne\"." +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "Czyszczenie przy retrakcji" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:923 -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 "Ta funkcja obniży temperatury nieużywanych ekstruderów aby zapobiec wyciekaniu filamentu z dyszy. Równocześnie włączy wysoki skirt i przesunie ekstrudery poza jego obrys przy zmianie temperatury." +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." +msgstr "" +"Ta flaga włączy ruch dyszy przy retrakcji aby zminimalizować formowanie się " +"kropli filamentu wokół końcówki dyszy przy ekstruderach, które mają " +"tendencję do wyciekania filamentu." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:728 -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." -msgstr "Ta opcja wygeneruje wypełnienie jedynie w miejscach, gdzie jest potrzebne do podparcia górnych warstw (zadziała na zasadzie wewnętrznych podpór). Włączenie jej spowolni generowanie G-code ze względu na konieczność kilkukrotnej weryfikacji." +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "" +"Multi material printers may need to prime or purge extruders on tool " +"changes. Extrude the excess material into the wipe tower." +msgstr "" +"Drukarki pracujące z kilkoma filamentami na raz (multi-material) mogą " +"wymagać czyszczenia głowicy przy zmianie filamentu. Nadmiar materiału jest " +"wytłaczany w formie wieży czyszczącej." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:721 -msgid "This option will switch the print order of perimeters and infill, making the latter first." -msgstr "Ta opcja zamieni kolejność druku obrysów i wypełnienia, aby te drugie były drukowane jako pierwsze." +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" +msgstr "Objętość czyszczenia - objętość ładowania/rozładowania" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:279 -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." -msgstr "To ustawienie steruje prędkością zewnętrznych (widocznych) obrysów. Jeśli ustawisz wartość procentową (np. 80%) to zostanie obliczona z prędkości obrysów ustawionej powyżej. Ustaw zero aby pozwolić na sterowanie automatyczne." +#: src/libslic3r/PrintConfig.cpp:2221 +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 "" +"To ustawienie określa wymaganą objętość wieży czyszczącej przy zmianie " +"danego narzędzia. Te wartości używane są do uproszczenia określenia pełnych " +"wartości czyszczenia poniżej. " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1252 -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 "To ustawienie reguluje prędkość obrysów posiadających promień mniejszy lub równy 6.5 mm (zazwyczaj chodzi o otwory). Jeśli ustawisz wartość procentową (np. 80%) to zostanie obliczona z prędkości obrysów ustawionej powyżej. Ustaw zero aby użyć nastawów automatycznych." +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" +msgstr "Objętości czyszczenia - formuła" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:737 -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." -msgstr "To ustawienie odpowiada za dodatkowe nakładanie na siebie linii obrysów i wypełnienia dla lepszego spojenia. Teoretycznie nie powinno być potrzebne ale luz może powodować szczeliny. Jeśli ustawisz wartość procentową (np. 15%) to zostanie obliczona z szerokości ekstruzji obrysów." +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" +"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). " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:779 -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 "To ustawienie odpowiada za wysokość warstwy (czyli cięcia), a w konsekwencji za ich liczbę. Niższe warstwy zapewniają lepszą dokładność i jakość, ale wydłużają ogólny czas wydruku." +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" +msgstr "Pozycja X" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:788 -msgid "This setting represents the maximum speed of your fan." -msgstr "To ustawienie odpowiada za maksymalną prędkość wentylatora." +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "Koordynata X wieży czyszczącej od przedniego lewego narożnika" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:849 -msgid "This setting represents the minimum PWM your fan needs to work." -msgstr "To ustawienie wyraża minimalny PWM (Pulse Width Modulation), który jest niezbędny dla wentylatora." +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "Pozycja Y" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 -#, c-format -msgid "This Slic3r PE version: %s" -msgstr "Ta wersja Slic3r PE: %s" +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "Koordynata wieży czyszczącej w osi Y od przedniego lewego narożnika" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1358 -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 "Ten skrypt jest wykonywany na samym początku G-code. Może być użyty do nadpisania określonych ustawień filamentu. Jeśli Slic3r wykryje komendy typu M104, M109, M140 lub M190, to nie zostaną one wykonane na początku, więc możesz określić kolejność komend dot. podgrzewania i innych dodanych akcji. Pamiętaj, że możesz używać zmiennych typu placeholder, więc np. komendę \"M109 S[first_layer_temperature]\" (temperatura pierwszej warstwy) możesz umieścić gdzie chcesz. Jeśli posiadasz kilka ekstruderów, ten G-code jest wykonywany w ich kolejności." +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "Szerokość wieży czyszczącej" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1343 -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 "Ten skrypt jest wykonywany na początku, po tym jak stół roboczy osiągnie zadaną temperaturę i ekstruder zacznie podgrzewanie, ale zanim nagrzeje się do zadanej temperatury. Jeśli Slic3r wykryje komendy typu M104, M109, M140 lub M190, to nie zostaną one wykonane na początku, więc możesz określić kolejność komend dot. podgrzewania i innych dodanych akcji. Pamiętaj, że możesz używać zmiennych typu placeholder, więc np. komendę \"M109 S[first_layer_temperature]\" (temperatura pierwszej warstwy) możesz umieścić gdzie chcesz." +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "Kąt obrotu wieży czyszczącej" -#: xs/src/libslic3r/PrintConfig.cpp:487 -msgid "This string is edited by RammingDialog and contains ramming specific parameters " -msgstr "Ten ciąg jest edytowany przez RammingDialog i zawiera parametry właściwe dla wyciskania " +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "Obrót wieży czyszczącej względem osi X " -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1743 -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 "Wartość tego ustawienia zostanie dodana (lub odjęta) od wszystkich koordynat w osi Z w pliku wyjściowym G-code. Jest używana dla korekcji złego położenia wyłącznika krańcowego osi Z. Np. jeśli końcówka dyszy znajduje się 0.3 mm ponad położeniem zerowym, ustaw tutaj -0.3 (lub napraw krańcówkę)." +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "stopni" -#: xs/src/libslic3r/PrintConfig.cpp:1808 -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 "To ustawienie określa wymaganą objętość wieży czyszczącej przy zmianie danego narzędzia. Te wartości używane są do uproszczenia określenia pełnych wartości czyszczenia poniżej. " +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 +#: src/libslic3r/PrintConfig.cpp:2273 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" -"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" +"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 "" -"Ta wersja Slic3r PE nie jest kompatybilna z aktualnie zainstalowanym zestawem konfiguracji.\n" -"Może to być rezultatem uruchomienia starszej wersji Slic3r PE po instalacji nowszej.\n" -"\n" -"Masz 2 opcje wyboru: możesz zamknąć Slic3r i spróbować ponownie uruchomić nowszą wersję lub uruchomić ponownie konfigurację początkową. Wybranie drugiej opcji spowoduje stworzenie zrzutu istniejącej konfiguracji przed instalacją konfiguracji kompatybilnej z tą wersją Slic3ra.\n" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1590 -msgid "Threads" -msgstr "Wątki" - -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1591 -msgid "Threads are used to parallelize long-running tasks. Optimal threads number is slightly above the number of available cores/processors." -msgstr "Wątki są używane do równoległego przetwarzania zadań wymagających używa wielu zasobów. Optymalna liczba wątków powinna być odrobinę większa od dostępnej liczby rdzeni lub procesorów." -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -msgid "Time" -msgstr "Czas" +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:477 -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. " -msgstr "Czas bezczynności po rozładowaniu filamentu. Może pomóc w bezproblemowej zmianie narzędzia podczas druku z materiałami elastycznymi, które mogą potrzebować więcej czasu na skurcz termiczny wracając do nominalnego rozmiaru. " +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" -#: xs/src/slic3r/GUI/Tab.cpp:750 -msgid "To do that please specify a new name for the preset." -msgstr "Aby to zrobić ustaw nową nazwę zestawu ustawień." +#: src/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" +msgstr "Maksymalna odległość drukowania mostów" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 -msgid "To download, follow the link below." -msgstr "Przejdź do linku aby pobrać." +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "Minimalny odstęp pomiędzy podporami w sekcjach rzadkiego wypełnienia. " -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:338 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:72 -msgid "Tool" -msgstr "Narzędzie" +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "Korekta wymiarów XY" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:238 -msgid "Tool #" -msgstr "Narzędzie #" +#: src/libslic3r/PrintConfig.cpp:2299 +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 "" +"Model zostanie zmniejszony lub zwiększony w osiach X i Y o zadaną wartość " +"(ujemna = zmniejszenie, dotatnia = zwiększenie). Może być przydatne przy " +"kalibracji średnic otworów." -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1144 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1602 -msgid "Tool change G-code" -msgstr "G-code wykonywany przy zmianie narzędzia" +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" +msgstr "Margines Z" -#: xs/src/slic3r/GUI/Tab.cpp:1315 -msgid "Toolchange parameters with single extruder MM printers" -msgstr "Parametry zmiany narzędzia dla drukarek MM z jednym ekstruderem" +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" +"Wartość tego ustawienia zostanie dodana (lub odjęta) od wszystkich koordynat " +"w osi Z w pliku wyjściowym G-code. Jest używana dla korekcji złego położenia " +"wyłącznika krańcowego osi Z. Np. jeśli końcówka dyszy znajduje się 0.3 mm " +"ponad położeniem zerowym, ustaw tutaj -0.3 (lub napraw krańcówkę)." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1638 -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top" -msgstr "Górne" +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:187 -msgid "top solid infill" -msgstr "zwarte wypełnienie na szczycie" +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1613 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1624 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:143 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:85 -msgid "Top solid infill" -msgstr "Zwarte wypełnienie górne" +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1642 -msgid "Top solid layers" -msgstr "Zwarte warstwy górne" +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:369 -msgid "Top View" -msgstr "Widok z góry" +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:246 -msgid "Top/bottom fill pattern" -msgstr "Wzór wypełnienia góry/dołu" +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:245 -msgid "Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded." -msgstr "Całkowita objętość czyszczenia jest obliczana z sumy obydwóch wartości poniżej, w zależności która para narzędzi jest rozładowana/ładowana." +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:84 -msgid "Total rammed volume" -msgstr "Całkowita objętość wyciskania" +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 -msgid "Total ramming time" -msgstr "Całkowity czas wyciskania" +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1647 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:95 -msgid "Travel" -msgstr "Jałowy" +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1107 -msgid "Type of the printer." -msgstr "Rodzaj drukarki." +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2070 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2086 -msgid "Uniformly…" -msgstr "Jednakowo…" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 -msgid "Unknown" -msgstr "Nieznane" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:232 -msgid "unloaded" -msgstr "rozładowano" +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:467 -msgid "Unloading speed" -msgstr "Prędkość rozładowania" +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2483 -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." +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" msgstr "" -"OTWARTA KŁÓDKA oznacza, że niektóre ustawienia zostały zmodyfikowane i nie odpowiadają wartościom systemowym w obecnej grupie opcji.\n" -"Kliknij aby zresetować wszystkie ustawienia obecnej grupy ustawień do wartości systemowych." -#: xs/src/slic3r/GUI/Tab.cpp:2498 +#: src/libslic3r/PrintConfig.cpp:2403 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." +"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 "" -"OTWARTA KŁÓDKA oznacza, że niektóre ustawienia zostały zmodyfikowane i nie odpowiadają wartościom systemowym.\n" -"Kliknij ikonę aby zresetować do wartości systemowej." -#: xs/src/slic3r/GUI/Tab.cpp:2445 -msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to the system values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system values." +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" msgstr "" -"OTWARTA KŁÓDKA; oznacza, że niektóre ustawienia zostały zmodyfikowane i nie odpowiadają wartościom systemowym w obecnej grupie opcji.\n" -"Kliknij ikonę OTWARTEJ KŁÓDKI aby zresetować wszystkie ustawienia obecnej grupy ustawień do wartości systemowych." -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:97 -msgid "Unretractions" -msgstr "Powrót retrakcji" +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1492 -msgid "Unsaved Changes" -msgstr "Niezapisane zmiany" +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:750 -msgid "Unsaved Presets" -msgstr "Niezapisane zestawy ustawień" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "Update available" -msgstr "Dostępna jest aktualizacja" +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:279 xs/src/slic3r/GUI/Preferences.cpp:67 -msgid "Update built-in Presets automatically" -msgstr "Automatyczna aktualizacja wbudowanych zestawów ustawień" +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 -msgid "Updates" -msgstr "Aktualizacje" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:283 -msgid "Updates are never applied without user's consent and never overwrite user's customized settings." -msgstr "Aktualizacje nie są stosowane bez wiedzy użytkownika i nigdy nie nadpisują zapisanych ustawień własnych." +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 -msgid "Upgrade" -msgstr "Aktualizacja" +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:326 -msgid "Upload a firmware image into an Arduino based printer" -msgstr "Wgraj obraz firmware do drukarki opartej na Adruino" +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:989 -msgid "USB/Serial connection" -msgstr "Połączenie USB/szeregowe" +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1194 -msgid "USB/serial port for printer connection." -msgstr "Port USB/szeregowy do połączenia z drukarką." +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1656 -msgid "Use firmware retraction" -msgstr "Użyj retrakcji z firmware" +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:75 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "Użyj renderowania OpenGL 1.1 (przestarzałe)" +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1663 -msgid "Use relative E distances" -msgstr "Użyj względnych wartości E (ekstruzji)" +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:361 -msgid "Use this option to set the axis letter associated to your printer's extruder (usually E but some printers use A)." -msgstr "Ta opcja określa literę, którą Twoja drukarka opisuje oś ekstrudera (zazwyczaj jest to E ale niektóre drukarki używają A)." +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1400 -msgid "Use this setting to rotate the support material pattern on the horizontal plane." -msgstr "To ustawienie odpowiada za obrót materiału podporowego w płaszczyźnie poziomej." +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1670 -msgid "Use volumetric E" -msgstr "Użyj wolumetrycznej wartości E" +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:449 -msgid "Used Filament (g)" -msgstr "Użyty filament (g)" +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:447 -msgid "Used Filament (m)" -msgstr "Użyty filament (m)" +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:448 -msgid "Used Filament (mm³)" -msgstr "Użyty filament (mm³)" +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 -msgid "User" -msgstr "Użytkownik" +#: src/libslic3r/PrintConfig.cpp:2531 +msgid "" +"Controls the bridge type between two neigboring 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 "" -#: xs/src/slic3r/GUI/Preset.cpp:649 xs/src/slic3r/GUI/Preset.cpp:706 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1127 lib/Slic3r/GUI/Plater.pm:553 -msgid "User presets" -msgstr "Zestawy użytkownika" +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 -msgid "Value is the same as the system value" -msgstr "Wartość jest taka sama jak systemowa" +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" +msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 -msgid "Value was changed and is not equal to the system value or the last saved preset" -msgstr "Wartość została zmieniona i nie równa się wartości systemowej lub tej z ostatnio zapisanego zestawu ustawień" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 -msgid "variants" -msgstr "warianty" +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:755 -msgid "vendor" -msgstr "dostawca" +#: src/libslic3r/PrintConfig.cpp:2548 +msgid "" +"Merging bridges or pillars into another pillars can increase the radius. " +"Zero means no increase, one means full increase." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:644 -msgid "Verbose G-code" -msgstr "G-code rozszerzony" +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:66 -msgid "Version " -msgstr "Wersja " +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 -msgid "version" -msgstr "wersja" +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "" -#: xs/src/slic3r/GUI/AboutDialog.cpp:60 -msgid "Version" -msgstr "Wersja" +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:318 -msgid "Vertical shells" -msgstr "Powłoka pionowa" +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:65 -msgid "View" -msgstr "Widok" +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:409 -msgid "Volume" -msgstr "Objętość" +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241 -msgid "Volume to purge (mm³) when the filament is being" -msgstr "Objętość do wyczyszczenia (mm³), gdy filament jest" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214 -msgid "Volumetric" -msgstr "Objętościowy" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 -msgid "Volumetric flow rate" -msgstr "Objętościowa wartość przepływu" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." +msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:370 -msgid "Volumetric flow rate (mm3/s)" -msgstr "Objętościowy współczynnik przepływu (mm3/s)" +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "" -#: xs/src/slic3r/GUI/RammingChart.cpp:86 -msgid "Volumetric speed" -msgstr "Prędkość objętościowa" +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "" +"How many support points (approximately) should be placed on horizontal " +"surface." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\GUI.cpp:500 -msgid "Warning" -msgstr "Ostrzeżenie" +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -msgid "Welcome" -msgstr "Witaj" +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 -#, c-format -msgid "Welcome to the Slic3r %s" -msgstr "Witaj w Slic3r %s" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\2D.pm:131 -msgid "What do you want to print today? ™" -msgstr "Co chcesz dziś wydrukować? ™" +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:69 -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 "Zaznaczenie tej opcji spowoduje wyświetlanie wszystkich ustawień druku i filamentów w edytorze zestawów ustawień, nawet jeśli są oznaczone jak niekompatybilne z wybraną drukarką" +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:219 -msgid "when printing " -msgstr "podczas druku " +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:136 -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 "To ustawienie sprawi, że podczas druku modeli z wielu materiałów, Slic3r przytnie nachodzące na siebie części (druga część zostanie przycięta przez pierwszą, trzecia przez pierwszą i drugą itd.)" +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:155 -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 "Włączenie tej opcji sprawi, że przy druku kilku modeli drukarka wydrukuje jeden model w całości zanim przejdzie do następnego (zaczynając od najniższej warstwy). Przydaje się aby uniknąć ryzyka niepowodzenia wydruku kilku części. Slic3r powinien ostrzec przed możliwością kolizji z ekstruderem, ale zachowaj ostrożność." +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:605 -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." -msgstr "Podczas druku z bardzo małą wysokością warstwy warto mimo wszystko wydrukować najniższą warstwę o większej wysokości aby zwiększyć przyczepność i tolerancję na niedoskonałości powierzchni druki. Może być wyrażona jako wartość bezwzględna lub procentowa (np. 150%) nominalnej wysokości warstwy." +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1082 -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 "Kiedy retrakcja zostaje wykonana przed zmianą ekstrudera, filament o określonej długości jest wciągany z powrotem (mierzona jest długość nieprzetworzonego filamentu, zanim wejdzie do ekstrudera)." +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1073 -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 "Kiedy zostaje wykonana retrakcja to filament o określonej długości jest wciągany z powrotem (mierzona jest długość nieprzetworzonego filamentu, zanim wejdzie do ekstrudera)." +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:808 -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." -msgstr "Ustawienie pozostałych prędkości na 0 spowoduje, ze Slic3r będzie automatycznie przeliczał optymalną prędkość dla utrzymania stałego ciśnienia materiału w ekstruderze. To eksperymentalne ustawienie określa maksymalną dozwoloną prędkość druku." +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1127 -msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." -msgstr "Jeśli retrakcja jest korygowana po zmianie narzędzia, ekstruder przepchnie taką dodatkową ilość filamentu." +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1119 -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 "Jeśli retrakcja jest korygowana po ruchu jałowym, ekstruder przepchnie taką dodatkową ilość filamentu. Ta opcja jest rzadko potrzebna." +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2486 -msgid "WHITE BULLET icon indicates a non system preset." -msgstr "BIAŁA KROPKA oznacza niesystemowy zestaw ustawień." +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2489 -msgid "WHITE BULLET icon indicates that the settings are the same as in the last saved preset for the current option group." -msgstr "BIAŁA KROPKA oznacza, że ustawienia są takie same jak w ostatnio zapisanym zestawie ustawień dla obecnej grupy opcji." +#: src/libslic3r/PrintConfig.cpp:3031 +msgid "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2504 -msgid "WHITE BULLET icon indicates that the value is the same as in the last saved preset." -msgstr "BIAŁA KROPKA oznacza, że wartość jest taka sama jak w ostatnio zapisanym zestawie ustawień." +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2451 -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." +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." msgstr "" -"BIAŁA KROPKA;dla lewego przycisku: wskazuje na niesystemowy zestaw ustawień,\n" -"dla prawego przycisku: wskazuje, że ustawienia nie zostały zmodyfikowane." -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1716 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:70 -msgid "Width" -msgstr "Szerokość" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "" -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:334 -msgid "Width (mm)" -msgstr "Szerokość (mm)" +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1717 -msgid "Width of a wipe tower" -msgstr "Szerokość wieży czyszczącej" +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:41 -#, c-format -msgid "will always run at %d%% " -msgstr "będzie zawsze pracować w %d %% " +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:50 -msgid "will be turned off." -msgstr "będzie wyłączony." +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:442 -#: c:\src\Slic3r\xs\src\libslic3r\GCode\PreviewData.cpp:149 -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater\3DPreview.pm:91 -msgid "Wipe tower" -msgstr "Wieża czyszcząca" +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" +msgstr "" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:564 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:585 -#: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:602 -msgid "Wipe Tower" -msgstr "Wieża Czyszcząca" +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:142 -msgid "Wipe tower - Purging volume adjustment" -msgstr "Wieża czyszcząca - dostosowanie objętości czyszczenia" +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1847 -msgid "Wipe tower rotation angle" -msgstr "Kąt obrotu wieży czyszczącej" +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1848 -msgid "Wipe tower rotation angle with respect to x-axis " -msgstr "Obrót wieży czyszczącej względem osi X " +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "" +"Load configuration from the specified file. It can be used more than once to " +"load options from multiple files." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1688 -msgid "Wipe while retracting" -msgstr "Czyszczenie przy retrakcji" +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1058 -msgid "With bowden extruders, it may be wise to do some amount of quick retract before doing the wipe movement." -msgstr "Przy ekstruderze typu bowden warto wykonać szybką retrakcję przed ruchem czyszczącym." +#: src/libslic3r/PrintConfig.cpp:3076 +msgid "" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1564 -msgid "With sheath around the support" -msgstr "Z osłoną wokół podpór" +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 +#: src/libslic3r/PrintConfig.cpp:3082 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:" +"The file where the output will be written (if not specified, it will be " +"based on the input file)." 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:" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1703 -msgid "X coordinate of the left front corner of a wipe tower" -msgstr "Koordynata X wieży czyszczącej od przedniego lewego narożnika" +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1386 -msgid "XY separation between an object and its support" -msgstr "Odstęp materiału podporowego od modelu w osiach XY" +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1388 -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 "Odstęp materiału podporowego od modelu w osiach XY. Jeśli ustawisz wartość procentową (np. 15%) to zostanie obliczona z szerokości ekstruzji obrysów zewnętrznych." +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1732 -msgid "XY Size Compensation" -msgstr "Korekta wymiarów XY" +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1710 -msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "Koordynata wieży czyszczącej w osi Y od przedniego lewego narożnika" +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." +msgstr "" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1970 -msgid "Yes" -msgstr "Tak" +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:885 -msgid "You can put here your personal notes. This text will be added to the G-code header comments." -msgstr "Tutaj możesz umieścić notatki, które zostaną dodane do nagłówka pliku G-code." +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:413 -msgid "You can put your notes regarding the filament here." -msgstr "Tutaj możesz umieścić notatki dotyczące filamentu." +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1015 -msgid "You can put your notes regarding the printer here." -msgstr "Tutaj możesz umieścić notatki dotyczące drukarki." +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:181 -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." -msgstr "Wpisując tutaj wartość dodatnią możesz wyłączyć wentylator podczas druku pierwszych warstw, aby nie pogarszać przyczepności do stołu." +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:931 -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 "Możesz użyć wszystkich opcji konfiguracjnych jako zmiennych w tym szablonie, takich jak np: [layer_height] - wysokość warstwy, [fill_density] - gęstość wypełnienia, itp. Możesz również użyć [timestamp] - czas, [year] - rok, [month] - miesiąc, [day] - dzień, [hour] - godzina, [minute] - minuta, [second] - sekunda, [version] - wersja, [input_filename] - pełna nazwa pliku wejściowego, [input_filename_base] - nazwa pliku wejściowego bez rozszerzenia." +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" +msgstr "Mieszane" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:749 -msgid "You have unsaved changes " -msgstr "Masz niesapisane zmiany " +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "Wysokość (mm)" -#: c:\src\Slic3r\xs\src\slic3r\GUI\Preferences.cpp:101 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "Trzeba zrestartować Slic3r aby wprowadzić zmiany." +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" +msgstr "Szerokość (mm)" -#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:594 -msgid "Your file was repaired." -msgstr "Twój plik został naprawiony." +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "Prędkość (mm/s)" -#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:744 -msgid "Your object appears to be too large, so it was automatically scaled down to fit your print bed." -msgstr "Importowany model przekracza wymiary przestrzeni roboczej i został przeskalowany do odpowiednich rozmiarów." +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "Objętościowy współczynnik przepływu (mm3/s)" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1742 -msgid "Z offset" -msgstr "Margines Z" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "" -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:91 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:492 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1170 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1181 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1401 -#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1557 -msgid "°" -msgstr "°" +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:484 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 -msgid "°C" -msgstr "°C" +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "" diff --git a/resources/localization/uk/Slic3rPE.mo b/resources/localization/uk/Slic3rPE.mo index db63e8c8f02d6385fad4ea6b9e32f275ed0facd5..56af728d6ea773025608b4cfe31c23da78883474 100644 GIT binary patch delta 16083 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 H;*%|V16$@X24dHoM8%A}steUV5tO0L@3*bx`1^

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 wDigr(`l8bhpr^qpTF%B4Yj@&`5L0tOzx(v}KmF\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" -"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" -"Language: uk\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" -#: xs/src/slic3r/GUI/AboutDialog.cpp:32 +#: src/slic3r/GUI/AboutDialog.cpp:33 msgid "About Slic3r" -msgstr "" +msgstr "Про Slic3r" -#: xs/src/slic3r/GUI/AboutDialog.cpp:67 +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 msgid "Version" -msgstr "" +msgstr "Версія" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:39 +#: src/slic3r/GUI/BedShapeDialog.cpp:43 msgid "Shape" msgstr "Вигляд (Форма)" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:46 +#: src/slic3r/GUI/BedShapeDialog.cpp:50 msgid "Rectangular" msgstr "Прямокутний" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:50 xs/src/slic3r/GUI/Tab.cpp:1826 -#: lib/Slic3r/GUI/Plater.pm:498 +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 msgid "Size" msgstr "Розмір" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:51 +#: src/slic3r/GUI/BedShapeDialog.cpp:55 msgid "Size in X and Y of the rectangular plate." msgstr "Розмір прямокутної подложки за X та Y." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:57 +#: src/slic3r/GUI/BedShapeDialog.cpp:61 msgid "Origin" msgstr "Початок координат" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:58 -msgid "" -"Distance of the 0,0 G-code coordinate from the front left corner of the " -"rectangle." +#: src/slic3r/GUI/BedShapeDialog.cpp:62 +msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." msgstr "Відстань координат 0,0 G-коду від нижнього лівого кута прямокутника." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:62 +#: src/slic3r/GUI/BedShapeDialog.cpp:66 msgid "Circular" msgstr "Круговий" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:65 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:88 xs/src/slic3r/GUI/ConfigWizard.cpp:446 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:460 xs/src/slic3r/GUI/RammingChart.cpp:81 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:79 -#: xs/src/libslic3r/PrintConfig.cpp:133 xs/src/libslic3r/PrintConfig.cpp:181 -#: xs/src/libslic3r/PrintConfig.cpp:189 xs/src/libslic3r/PrintConfig.cpp:237 -#: xs/src/libslic3r/PrintConfig.cpp:248 xs/src/libslic3r/PrintConfig.cpp:363 -#: xs/src/libslic3r/PrintConfig.cpp:374 xs/src/libslic3r/PrintConfig.cpp:393 -#: xs/src/libslic3r/PrintConfig.cpp:531 xs/src/libslic3r/PrintConfig.cpp:890 -#: xs/src/libslic3r/PrintConfig.cpp:1002 xs/src/libslic3r/PrintConfig.cpp:1010 -#: xs/src/libslic3r/PrintConfig.cpp:1068 xs/src/libslic3r/PrintConfig.cpp:1086 -#: xs/src/libslic3r/PrintConfig.cpp:1104 xs/src/libslic3r/PrintConfig.cpp:1166 -#: xs/src/libslic3r/PrintConfig.cpp:1176 xs/src/libslic3r/PrintConfig.cpp:1292 -#: xs/src/libslic3r/PrintConfig.cpp:1300 xs/src/libslic3r/PrintConfig.cpp:1342 -#: xs/src/libslic3r/PrintConfig.cpp:1351 xs/src/libslic3r/PrintConfig.cpp:1361 -#: xs/src/libslic3r/PrintConfig.cpp:1369 xs/src/libslic3r/PrintConfig.cpp:1377 -#: xs/src/libslic3r/PrintConfig.cpp:1463 xs/src/libslic3r/PrintConfig.cpp:1669 -#: xs/src/libslic3r/PrintConfig.cpp:1739 xs/src/libslic3r/PrintConfig.cpp:1773 -#: xs/src/libslic3r/PrintConfig.cpp:1969 xs/src/libslic3r/PrintConfig.cpp:1976 -#: xs/src/libslic3r/PrintConfig.cpp:1983 xs/src/libslic3r/PrintConfig.cpp:2015 -#: xs/src/libslic3r/PrintConfig.cpp:2025 xs/src/libslic3r/PrintConfig.cpp:2035 +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 msgid "mm" msgstr "мм" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:66 xs/src/libslic3r/PrintConfig.cpp:528 +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 msgid "Diameter" msgstr "Діаметр" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:67 -msgid "" -"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:71 +msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." +msgstr "Діаметр подложки. Передбачається, що початок координат (0,0) знаходиться в центрі." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:71 -#: xs/src/libslic3r/GCode/PreviewData.cpp:175 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:102 +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 msgid "Custom" msgstr "Користувацький" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:75 +#: src/slic3r/GUI/BedShapeDialog.cpp:79 msgid "Load shape from STL..." msgstr "Завантажте форму з STL ..." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:120 +#: src/slic3r/GUI/BedShapeDialog.cpp:125 msgid "Settings" msgstr "Налаштування" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:299 +#: src/slic3r/GUI/BedShapeDialog.cpp:298 msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" msgstr "Виберіть файл, щоб імпортувати форму полотна з (STL/OBJ/AMF/PRUSA):" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:316 +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 msgid "Error! " msgstr "Помилка! " -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:325 +#: src/slic3r/GUI/BedShapeDialog.cpp:324 msgid "The selected file contains no geometry." msgstr "Обраний файл не містить геометрії." -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:329 -msgid "" -"The selected file contains several disjoint areas. This is not supported." +#: src/slic3r/GUI/BedShapeDialog.cpp:328 +msgid "The selected file contains several disjoint areas. This is not supported." msgstr "Обраний файл містить декілька непересічних областей. Не підтримується." -#: xs/src/slic3r/GUI/BedShapeDialog.hpp:44 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:409 +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 msgid "Bed Shape" msgstr "Форма полотна" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 +#: src/slic3r/GUI/BonjourDialog.cpp:54 msgid "Network lookup" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 +#: src/slic3r/GUI/BonjourDialog.cpp:67 msgid "Address" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 +#: src/slic3r/GUI/BonjourDialog.cpp:68 msgid "Hostname" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 +#: src/slic3r/GUI/BonjourDialog.cpp:69 msgid "Service name" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 +#: src/slic3r/GUI/BonjourDialog.cpp:70 msgid "OctoPrint version" -msgstr "" +msgstr "Версія OctoPrint" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 +#: src/slic3r/GUI/BonjourDialog.cpp:188 msgid "Searching for devices" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 +#: src/slic3r/GUI/BonjourDialog.cpp:195 msgid "Finished" msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 +#: src/slic3r/GUI/ButtonsDescription.cpp:15 msgid "Buttons And Text Colors Description" msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 +#: src/slic3r/GUI/ButtonsDescription.cpp:40 msgid "Value is the same as the system value" msgstr "" -#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 -msgid "" -"Value was changed and is not equal to the system value or the last saved " -"preset" +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "Value was changed and is not equal to the system value or the last saved preset" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 msgid "Upgrade" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 msgid "Downgrade" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 msgid "Before roll back" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 msgid "User" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 msgid "Unknown" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 msgid "Active: " msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 msgid "slic3r version" -msgstr "" +msgstr "версія slic3r" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 msgid "print" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 msgid "filaments" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 msgid "printer" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:730 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 msgid "vendor" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 msgid "version" -msgstr "" +msgstr "версія" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 msgid "min slic3r version" -msgstr "" +msgstr "мінімальна версія slic3r" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 msgid "max slic3r version" -msgstr "" +msgstr "максимальна версія slic3r" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 msgid "model" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 msgid "variants" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 msgid "Incompatible with this Slic3r" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 msgid "Activate" msgstr "" -#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:349 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 msgid "Configuration Snapshots" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:88 +#: src/slic3r/GUI/ConfigWizard.cpp:92 msgid "nozzle" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:89 -msgid "(default)" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" +msgstr "за замовчанням" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:108 +#: src/slic3r/GUI/ConfigWizard.cpp:116 msgid "Select all" -msgstr "" +msgstr "Вибрати все" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:109 +#: src/slic3r/GUI/ConfigWizard.cpp:117 msgid "Select none" -msgstr "" +msgstr "Нічого" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:218 +#: src/slic3r/GUI/ConfigWizard.cpp:226 #, c-format msgid "Welcome to the Slic3r %s" -msgstr "" +msgstr "Ласкаво просимо до Slic3r %s" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:218 +#: src/slic3r/GUI/ConfigWizard.cpp:226 msgid "Welcome" -msgstr "" +msgstr "Ласкаво просимо" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:224 xs/src/slic3r/GUI/GUI.cpp:346 +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 #, c-format msgid "Run %s" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:226 +#: src/slic3r/GUI/ConfigWizard.cpp:234 #, 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." +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." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:230 -msgid "" -"Remove user profiles - install from scratch (a snapshot will be taken " -"beforehand)" +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:252 +#: src/slic3r/GUI/ConfigWizard.cpp:263 msgid "Other vendors" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:254 +#: src/slic3r/GUI/ConfigWizard.cpp:265 msgid "Custom setup" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:278 +#: src/slic3r/GUI/ConfigWizard.cpp:289 msgid "Automatic updates" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:278 +#: src/slic3r/GUI/ConfigWizard.cpp:289 msgid "Updates" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:286 xs/src/slic3r/GUI/Preferences.cpp:59 +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 msgid "Check for application updates" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:289 xs/src/slic3r/GUI/Preferences.cpp:61 -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 " -"application startup (never during program usage). This is only a " -"notification mechanisms, no automatic installation is done." +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:293 xs/src/slic3r/GUI/Preferences.cpp:67 +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 msgid "Update built-in Presets automatically" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:296 xs/src/slic3r/GUI/Preferences.cpp:69 -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." +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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 "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 -msgid "" -"Updates are never applied without user's consent and never overwrite user's " -"customized settings." +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "Updates are never applied without user's consent and never overwrite user's customized settings." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:302 -msgid "" -"Additionally a backup snapshot of the whole configuration is created before " -"an update is applied." +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:309 +#: src/slic3r/GUI/ConfigWizard.cpp:320 msgid "Other Vendors" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:311 +#: src/slic3r/GUI/ConfigWizard.cpp:322 msgid "Pick another vendor supported by Slic3r PE:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:370 +#: src/slic3r/GUI/ConfigWizard.cpp:381 msgid "Firmware Type" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:370 xs/src/slic3r/GUI/Tab.cpp:1606 +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 msgid "Firmware" msgstr "Прошивка" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:374 +#: src/slic3r/GUI/ConfigWizard.cpp:385 msgid "Choose the type of firmware used by your printer." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:409 +#: src/slic3r/GUI/ConfigWizard.cpp:419 msgid "Bed Shape and Size" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 +#: src/slic3r/GUI/ConfigWizard.cpp:422 msgid "Set the shape of your printer's bed." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:426 +#: src/slic3r/GUI/ConfigWizard.cpp:436 msgid "Filament and Nozzle Diameters" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:426 +#: src/slic3r/GUI/ConfigWizard.cpp:436 msgid "Print Diameters" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 +#: src/slic3r/GUI/ConfigWizard.cpp:452 msgid "Enter the diameter of your printer's hot end nozzle." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 +#: src/slic3r/GUI/ConfigWizard.cpp:455 msgid "Nozzle Diameter:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:455 +#: src/slic3r/GUI/ConfigWizard.cpp:465 msgid "Enter the diameter of your filament." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:456 -msgid "" -"Good precision is required, so use a caliper and do multiple measurements " -"along the filament, then compute the average." +#: src/slic3r/GUI/ConfigWizard.cpp:466 +msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:459 +#: src/slic3r/GUI/ConfigWizard.cpp:469 msgid "Filament Diameter:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:477 +#: src/slic3r/GUI/ConfigWizard.cpp:487 msgid "Extruder and Bed Temperatures" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:477 +#: src/slic3r/GUI/ConfigWizard.cpp:487 msgid "Temperatures" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 +#: src/slic3r/GUI/ConfigWizard.cpp:503 msgid "Enter the temperature needed for extruding your filament." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 +#: src/slic3r/GUI/ConfigWizard.cpp:504 msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 +#: src/slic3r/GUI/ConfigWizard.cpp:507 msgid "Extrusion Temperature:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 -#: xs/src/slic3r/GUI/ConfigWizard.cpp:512 +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 msgid "°C" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:507 -msgid "" -"Enter the bed temperature needed for getting your filament to stick to your " -"heated bed." +#: src/slic3r/GUI/ConfigWizard.cpp:517 +msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:508 -msgid "" -"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " -"no heated bed." +#: src/slic3r/GUI/ConfigWizard.cpp:518 +msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:511 +#: src/slic3r/GUI/ConfigWizard.cpp:521 msgid "Bed Temperature:" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:824 +#: src/slic3r/GUI/ConfigWizard.cpp:833 msgid "< &Back" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:825 +#: src/slic3r/GUI/ConfigWizard.cpp:834 msgid "&Next >" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:826 +#: src/slic3r/GUI/ConfigWizard.cpp:835 msgid "&Finish" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:896 +#: src/slic3r/GUI/ConfigWizard.cpp:906 msgid "Configuration Wizard" msgstr "" -#: xs/src/slic3r/GUI/ConfigWizard.cpp:898 +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:909 msgid "Configuration Assistant" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:87 +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 +msgid "" +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:176 +#, 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." +msgstr "" + +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:133 msgid "Flash!" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:88 +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 msgid "Cancel" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:128 +#: src/slic3r/GUI/FirmwareDialog.cpp:135 msgid "Flashing in progress. Please do not disconnect the printer!" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:155 +#: src/slic3r/GUI/FirmwareDialog.cpp:245 msgid "Flashing succeeded!" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:156 +#: src/slic3r/GUI/FirmwareDialog.cpp:246 msgid "Flashing failed. Please see the avrdude log below." msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:157 +#: src/slic3r/GUI/FirmwareDialog.cpp:247 msgid "Flashing cancelled." msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:294 -msgid "Cancelling..." +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at a time for flashing." +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:347 +#: src/slic3r/GUI/FirmwareDialog.cpp:690 msgid "Firmware flasher" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:367 +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:716 msgid "Serial port:" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:369 +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:719 msgid "Rescan" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:374 -msgid "Firmware image:" +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:377 +#: src/slic3r/GUI/FirmwareDialog.cpp:729 msgid "Status:" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:378 +#: src/slic3r/GUI/FirmwareDialog.cpp:730 msgid "Ready" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:381 -msgid "Progress:" -msgstr "" - -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:400 +#: src/slic3r/GUI/FirmwareDialog.cpp:750 msgid "Advanced: avrdude output log" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:446 +#: src/slic3r/GUI/FirmwareDialog.cpp:809 msgid "" "Are you sure you want to cancel firmware flashing?\n" "This could leave your printer in an unusable state!" msgstr "" -#: xs/src/slic3r/GUI/FirmwareDialog.cpp:447 +#: src/slic3r/GUI/FirmwareDialog.cpp:810 msgid "Confirmation" msgstr "" -#: xs/src/slic3r/GUI/GLCanvas3D.cpp:2308 +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 msgid "Detected object outside print volume" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:233 +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "Повернути" + +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "Масштаб" + +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "Зауваження" + +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "Застереження" + +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Виберіть один чи кілька файлів (STL/OBJ/AMF/PRUSA):" + +#: src/slic3r/GUI/GUI_App.cpp:451 msgid "Array of language names and identifiers should have the same size." msgstr "Масив імен мов та їх ідентифікаторів має бути однакового розміру." -#: xs/src/slic3r/GUI/GUI.cpp:244 +#: src/slic3r/GUI/GUI_App.cpp:461 msgid "Select the language" msgstr "Оберіть мову" -#: xs/src/slic3r/GUI/GUI.cpp:244 +#: src/slic3r/GUI/GUI_App.cpp:461 msgid "Language" msgstr "Мова" -#: xs/src/slic3r/GUI/GUI.cpp:306 xs/src/libslic3r/PrintConfig.cpp:195 +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 msgid "Default" msgstr "За замовчуванням" -#: xs/src/slic3r/GUI/GUI.cpp:349 +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:609 msgid "Inspect / activate configuration snapshots" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:350 -msgid "Take Configuration Snapshot" +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:350 +#: src/slic3r/GUI/GUI_App.cpp:610 msgid "Capture a configuration snapshot" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:353 xs/src/slic3r/GUI/Preferences.cpp:9 -msgid "Preferences" -msgstr "Налаштування" +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" +msgstr "&Преференції" -#: xs/src/slic3r/GUI/GUI.cpp:353 +#: src/slic3r/GUI/GUI_App.cpp:613 msgid "Application preferences" msgstr "Преференції застосування" -#: xs/src/slic3r/GUI/GUI.cpp:354 -msgid "Change Application Language" -msgstr "Змінити мову застосування" +#: src/slic3r/GUI/GUI_App.cpp:616 +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:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "Розширений" + +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" +msgstr "Змінити &мову застосування" -#: xs/src/slic3r/GUI/GUI.cpp:356 -msgid "Flash printer firmware" +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:356 +#: src/slic3r/GUI/GUI_App.cpp:624 msgid "Upload a firmware image into an Arduino based printer" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:368 +#: src/slic3r/GUI/GUI_App.cpp:636 msgid "Taking configuration snapshot" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:368 +#: src/slic3r/GUI/GUI_App.cpp:636 msgid "Snapshot name" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:406 +#: src/slic3r/GUI/GUI_App.cpp:674 msgid "Application will be restarted" msgstr "Застосування буде перезапущене" -#: xs/src/slic3r/GUI/GUI.cpp:406 +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 msgid "Attention!" msgstr "Увага!" -#: xs/src/slic3r/GUI/GUI.cpp:422 +#: src/slic3r/GUI/GUI_App.cpp:691 msgid "&Configuration" -msgstr "" +msgstr "&Конфігурація" -#: xs/src/slic3r/GUI/GUI.cpp:446 +#: src/slic3r/GUI/GUI_App.cpp:711 msgid "You have unsaved changes " msgstr "У вас є незбережені зміни " -#: xs/src/slic3r/GUI/GUI.cpp:446 +#: src/slic3r/GUI/GUI_App.cpp:711 msgid ". Discard changes and continue anyway?" msgstr ". Відхилити зміни і продовжити в будь-якому випадку?" -#: xs/src/slic3r/GUI/GUI.cpp:447 +#: src/slic3r/GUI/GUI_App.cpp:712 msgid "Unsaved Presets" msgstr "Незбереженні налаштування" -#: xs/src/slic3r/GUI/GUI.cpp:655 -msgid "Notice" -msgstr "Зауваження" +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "Шари та периметри" -#: xs/src/slic3r/GUI/GUI.cpp:660 -msgid "Attempt to free unreferenced scalar" -msgstr "" +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "Заповнення" -#: xs/src/slic3r/GUI/GUI.cpp:662 xs/src/slic3r/GUI/WipeTowerDialog.cpp:39 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:321 -msgid "Warning" -msgstr "Застереження" +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "Підтримка" -#: xs/src/slic3r/GUI/GUI.cpp:859 -msgid "Support" +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "Швидкість" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "Екструдери" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "Ширина екструзії" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:862 -msgid "Select what kind of support do you need" +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:863 xs/src/libslic3r/GCode/PreviewData.cpp:162 -msgid "None" -msgstr "Жодне" +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "Ім'я" -#: xs/src/slic3r/GUI/GUI.cpp:864 xs/src/libslic3r/PrintConfig.cpp:1656 -msgid "Support on build plate only" -msgstr "Підтримка тільки на збірній пластині" +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:865 -msgid "Everywhere" +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:877 xs/src/slic3r/GUI/Tab.cpp:844 -msgid "Brim" -msgstr "Край" +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:879 -msgid "" -"This flag enables the brim that will be printed around each object on the " -"first layer." +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:888 -msgid "Purging volumes" +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:930 -msgid "Export print config" +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" msgstr "" -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r error" +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" msgstr "" -#: xs/src/slic3r/GUI/MsgDialog.cpp:64 -msgid "Slic3r has encountered an error" +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:84 -msgid "Save current " -msgstr "Зберегти поточний " +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:85 -msgid "Delete this preset" -msgstr "Видалити це налаштування" +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "Екструдер" -#: xs/src/slic3r/GUI/Tab.cpp:97 -msgid "" -"Hover the cursor over buttons to find more information \n" -"or click this button." +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:716 -msgid "It's a default preset." +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:717 -msgid "It's a system preset." +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:718 -msgid "Current preset is inherited from " +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:723 -msgid "It can't be deleted or modified. " +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:724 -msgid "" -"Any modifications should be saved as a new preset inherited from this one. " +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:725 -msgid "To do that please specify a new name for the preset." +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:729 -msgid "Additional information:" +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:737 -msgid "printer model" +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:739 -msgid "default print profile" +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:742 -msgid "default filament profile" +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:786 -msgid "Layers and perimeters" -msgstr "Шари та периметри" +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:787 xs/src/libslic3r/PrintConfig.cpp:886 -msgid "Layer height" -msgstr "Висота шару" +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:791 -msgid "Vertical shells" -msgstr "Вертикальні оболонки" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:802 -msgid "Horizontal shells" -msgstr "Горизонтальні оболонки" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:803 xs/src/libslic3r/PrintConfig.cpp:1562 -msgid "Solid layers" -msgstr "Суцільні шари" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 +msgid "The selected object couldn't be split because it contains only one part." +msgstr "Вибраний об'єкт не можна розділити, оскільки він містить лише одну частину." -#: xs/src/slic3r/GUI/Tab.cpp:808 -msgid "Quality (slower slicing)" -msgstr "Якість (повільне нарізання)" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:815 xs/src/slic3r/GUI/Tab.cpp:829 -#: xs/src/slic3r/GUI/Tab.cpp:923 xs/src/slic3r/GUI/Tab.cpp:926 -#: xs/src/slic3r/GUI/Tab.cpp:1276 xs/src/slic3r/GUI/Tab.cpp:1625 -#: xs/src/libslic3r/PrintConfig.cpp:110 xs/src/libslic3r/PrintConfig.cpp:245 -#: xs/src/libslic3r/PrintConfig.cpp:833 xs/src/libslic3r/PrintConfig.cpp:2021 -msgid "Advanced" -msgstr "Розширений" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:819 xs/src/slic3r/GUI/Tab.cpp:820 -#: xs/src/slic3r/GUI/Tab.cpp:1127 xs/src/libslic3r/PrintConfig.cpp:90 -#: xs/src/libslic3r/PrintConfig.cpp:284 xs/src/libslic3r/PrintConfig.cpp:585 -#: xs/src/libslic3r/PrintConfig.cpp:599 xs/src/libslic3r/PrintConfig.cpp:637 -#: xs/src/libslic3r/PrintConfig.cpp:778 xs/src/libslic3r/PrintConfig.cpp:788 -#: xs/src/libslic3r/PrintConfig.cpp:806 xs/src/libslic3r/PrintConfig.cpp:824 -#: xs/src/libslic3r/PrintConfig.cpp:843 xs/src/libslic3r/PrintConfig.cpp:1511 -#: xs/src/libslic3r/PrintConfig.cpp:1528 -msgid "Infill" -msgstr "Заповнення" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:825 -msgid "Reducing printing time" -msgstr "Зниження часу друку" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:837 -msgid "Skirt and brim" -msgstr "Плінтус та край" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:838 xs/src/libslic3r/GCode/PreviewData.cpp:171 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:98 -msgid "Skirt" -msgstr "Плінтус" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:847 xs/src/slic3r/GUI/Tab.cpp:848 -#: xs/src/libslic3r/PrintConfig.cpp:228 xs/src/libslic3r/PrintConfig.cpp:1278 -#: xs/src/libslic3r/PrintConfig.cpp:1628 xs/src/libslic3r/PrintConfig.cpp:1635 -#: xs/src/libslic3r/PrintConfig.cpp:1647 xs/src/libslic3r/PrintConfig.cpp:1657 -#: xs/src/libslic3r/PrintConfig.cpp:1665 xs/src/libslic3r/PrintConfig.cpp:1680 -#: xs/src/libslic3r/PrintConfig.cpp:1701 xs/src/libslic3r/PrintConfig.cpp:1712 -#: xs/src/libslic3r/PrintConfig.cpp:1728 xs/src/libslic3r/PrintConfig.cpp:1737 -#: xs/src/libslic3r/PrintConfig.cpp:1746 xs/src/libslic3r/PrintConfig.cpp:1757 -#: xs/src/libslic3r/PrintConfig.cpp:1771 xs/src/libslic3r/PrintConfig.cpp:1779 -#: xs/src/libslic3r/PrintConfig.cpp:1780 xs/src/libslic3r/PrintConfig.cpp:1789 -#: xs/src/libslic3r/PrintConfig.cpp:1797 xs/src/libslic3r/PrintConfig.cpp:1811 -#: xs/src/libslic3r/GCode/PreviewData.cpp:172 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:99 -msgid "Support material" -msgstr "Підтримка" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:853 -msgid "Raft" -msgstr "Пліт" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:857 -msgid "Options for support material and raft" -msgstr "Варіанти для опорного матеріалу та плоту" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:871 xs/src/libslic3r/PrintConfig.cpp:122 -#: xs/src/libslic3r/PrintConfig.cpp:315 xs/src/libslic3r/PrintConfig.cpp:732 -#: xs/src/libslic3r/PrintConfig.cpp:844 xs/src/libslic3r/PrintConfig.cpp:1212 -#: xs/src/libslic3r/PrintConfig.cpp:1449 xs/src/libslic3r/PrintConfig.cpp:1499 -#: xs/src/libslic3r/PrintConfig.cpp:1550 xs/src/libslic3r/PrintConfig.cpp:1871 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:77 -msgid "Speed" -msgstr "Швидкість" +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:872 -msgid "Speed for print moves" -msgstr "Швидкість друкарських рухів" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:884 -msgid "Speed for non-print moves" -msgstr "Швидкість недрукарських рухів" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:887 -msgid "Modifiers" -msgstr "Модифікатори" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:890 -msgid "Acceleration control (advanced)" -msgstr "Контроль прискорення (розширений)" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:897 -msgid "Autospeed (advanced)" -msgstr "Автоматична швидкість (розширена)" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:903 -msgid "Multiple Extruders" -msgstr "Кілька екструдерів" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:904 xs/src/slic3r/GUI/Tab.cpp:1451 -#: xs/src/libslic3r/PrintConfig.cpp:345 xs/src/libslic3r/PrintConfig.cpp:799 -#: xs/src/libslic3r/PrintConfig.cpp:1191 xs/src/libslic3r/PrintConfig.cpp:1520 -#: xs/src/libslic3r/PrintConfig.cpp:1693 xs/src/libslic3r/PrintConfig.cpp:1719 -#: xs/src/libslic3r/PrintConfig.cpp:1995 xs/src/libslic3r/PrintConfig.cpp:2004 -msgid "Extruders" -msgstr "Екструдери" +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "Вид" -#: xs/src/slic3r/GUI/Tab.cpp:911 -msgid "Ooze prevention" -msgstr "Профілактика просочування" +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "Тип ознаки" + +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "Висота" + +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "Ширина" + +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "Інструмент" + +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "Показати" + +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "Типи ознак" + +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "Периметр" + +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "Зовнішній периметр" + +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "Нависаючий периметр" -#: xs/src/slic3r/GUI/Tab.cpp:915 xs/src/libslic3r/GCode/PreviewData.cpp:174 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:101 +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "Внутрішнє наповнення" + +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "Суцільне наповнення" + +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "Верхнє суцільне наповнення" + +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "Мостове наповнення" + +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "Заповнення розриву" + +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "Плінтус" + +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "Інтерфейс підтримуючого матеріалу" + +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 msgid "Wipe tower" msgstr "Вежа вичищування" -#: xs/src/slic3r/GUI/Tab.cpp:927 -msgid "Extrusion width" -msgstr "Ширина екструзії" +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "Пересування" -#: xs/src/slic3r/GUI/Tab.cpp:937 -msgid "Overlap" -msgstr "Перекриття" +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "Переривання" -#: xs/src/slic3r/GUI/Tab.cpp:940 -msgid "Flow" -msgstr "Потік" +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "Непереривання" -#: xs/src/slic3r/GUI/Tab.cpp:943 -msgid "Other" -msgstr "Інше" +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "Оболонки" -#: xs/src/slic3r/GUI/Tab.cpp:950 -msgid "Output options" -msgstr "Параметри виводу" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:951 -msgid "Sequential printing" -msgstr "Послідовне друкування" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:953 -msgid "Extruder clearance (mm)" -msgstr "Розмір екструдера (мм)" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:962 -msgid "Output file" -msgstr "Вихідний файл" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:968 xs/src/libslic3r/PrintConfig.cpp:1234 -msgid "Post-processing scripts" -msgstr "Скрипти пост-обробки" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:974 xs/src/slic3r/GUI/Tab.cpp:975 -#: xs/src/slic3r/GUI/Tab.cpp:1329 xs/src/slic3r/GUI/Tab.cpp:1330 -#: xs/src/slic3r/GUI/Tab.cpp:1668 xs/src/slic3r/GUI/Tab.cpp:1669 -msgid "Notes" -msgstr "Примітки" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:981 xs/src/slic3r/GUI/Tab.cpp:1337 -#: xs/src/slic3r/GUI/Tab.cpp:1675 -msgid "Dependencies" -msgstr "Залежності" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:982 xs/src/slic3r/GUI/Tab.cpp:1338 -#: xs/src/slic3r/GUI/Tab.cpp:1676 -msgid "Profile dependencies" -msgstr "Залежності профілю" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:983 xs/src/slic3r/GUI/Tab.cpp:1339 -#: xs/src/slic3r/GUI/Tab.cpp:2364 xs/src/libslic3r/PrintConfig.cpp:147 -msgid "Compatible printers" -msgstr "Сумісні принтери" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1016 -#, 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?" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" msgstr "" -"Режим спіральної вази вимагає:\n" -"- один периметр\n" -"- немає верхніх щільних шарів\n" -"- 0% щільність заповнення\n" -"- немає підтримуючого матеріалу\n" -"- не забезпечує товщини вертикальної оболонки\n" -"\n" -"Чи потрібно змінити ці налаштування, щоб увімкнути режим Спіральної вази?" -#: xs/src/slic3r/GUI/Tab.cpp:1023 -msgid "Spiral Vase" -msgstr "Спіральна ваза" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "Повторити останнє швидке нарізання" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "Вибрати вкладку Plater" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "Вибрати вкладку параметрів друку" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "Вибрати вкладку параметрів філаменту" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "Вибрати вкладку параметрів принтеру" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "Преференції" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "Організувати" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "Видалити все" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:53 +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:130 +msgid "Plater" +msgstr "Платер" + +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "&Відкрити" + +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "Завантажити експортований файл конфігурації" + +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "Завантажити налаштування з пакету" + +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "Експорт поточної пластини як G-код" + +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "Експорт поточної пластини як STL" + +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "Експорт поточної пластини як AMF" + +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "Експортувати поточну конфігурацію в файл" + +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "Експортувати всі налаштування у файл" + +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "Нарізати файл у G-код" + +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "Нарізати файл у G-код, зберегти як" + +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "Почати новий процес нарізання" + +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "Автоматично відновити як STL-файл" + +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "Вихід" + +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "Вийти зі Slic3r" + +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "Показати plater" + +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "Показати параметри друку" + +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "Показати параметри філаменту" + +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "Показати параметри принтеру" + +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "&Iso" + +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "Вид Iso" + +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "З&верху" + +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "Вид зверху" + +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "З&низу" + +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "Вид знизу" + +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "С&переду" + +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "Вид спереду" + +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "З&заду" + +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "Вид ззаду" + +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "З &лівого боку" + +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "Вид з лівого боку" + +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "З &правого боку" + +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "Вид з правого боку" + +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "Відкрити сторінку завантаження драйверів Prusa3D у своєму браузері" + +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "Відкрити сторінку релізів Prusa Edition у своєму браузері" + +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "Веб-сайт Slic3r" + +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "Відкрити сторінку Slic3r у своєму браузері" + +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "Посібник до Slic3r" + +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "Відкрити сторінку посібнику до Slic3r у своєму браузері" + +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "Показати інформацію про систему" + +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "Повідомити про проблему на Slic3r Prusa Edition" + +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "&Про Slic3r" + +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "Показати діалог Про Slic3r" + +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "Файл" + +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "Вікно" + +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "Вид" + +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "Доромога" + +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Вибрати файл для нарізання (STL/OBJ/AMF/3MF/PRUSA):" + +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "Немає попередньо нарізаного файлу." + +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "Помилка" + +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "Попередньо нарізаний файл (" + +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr ") не знайдено." + +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "Файл не знайдено" + +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "Зберегти " + +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "G-код" + +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" +msgstr " файл як:" + +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "Обробка " + +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr " був успішно нарізаний." + +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "Нарізання завершено!" + +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "Вибрати STL-файл для відновлення:" + +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "Зберегти OBJ-файл (менш схильний координувати помилки, ніж STL) як:" + +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "Ваш файл було відновлено." + +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "Відновити" + +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "Зберегти конфігурацію як:" + +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "Вибрати конфігурацію для завантаження:" + +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "Зберегти набір налаштувань як:" + +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "%d налаштувань успішно імпортовано." + +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "" + +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "" + +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "Інфо" + +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "Обсяг" + +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "Грані" + +#: src/slic3r/GUI/Plater.cpp:128 +msgid "Materials" +msgstr "Матеріали" + +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "Різноманіття" + +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "Інформація з нарізання" + +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "Використано філаметну (м)" + +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "Використано філаметну (мм³)" + +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "Використано філаметну (г)" + +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "Вартість" + +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "Приблизний час друку" + +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "Жодне" + +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "Підтримка тільки на збірній пластині" + +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "Край" + +#: src/slic3r/GUI/Plater.cpp:381 +msgid "This flag enables the brim that will be printed around each object on the first layer." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "Параметри друку" + +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "Філамент" + +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "Принтер" + +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "Надіслати на принтер" + +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "Нарізати зараз" + +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "%d (%d оболонок)" + +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "Автоматичне відновлення (%d помилок)" + +#: src/slic3r/GUI/Plater.cpp:795 +#, c-format +msgid "%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 країв" -#: xs/src/slic3r/GUI/Tab.cpp:1044 -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?" +#: src/slic3r/GUI/Plater.cpp:805 +msgid "Yes" +msgstr "Так" + +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" msgstr "" -"Вичіщуюча веж в даний час підтримує лише нерозчинну підтримку\n" -"якщо вони друкуються з поточним екструдером, не запускаючи зміну " -"інструменту.\n" -"(обидва значення support_material_extruder і " -"support_material_interface_extruder повинні бути встановлені на 0).\n" -"\n" -"Чи потрібно коригувати ці налаштування, щоб увімкнути вичіщуючу веж?" -#: xs/src/slic3r/GUI/Tab.cpp:1048 xs/src/slic3r/GUI/Tab.cpp:1065 -msgid "Wipe Tower" -msgstr "Вичіщуюча веж" +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1062 -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?" +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" msgstr "" -"Для того, щоб Вичіщуюча веж працювала з розчинними підтримками, шари " -"підтримки\n" -"повинні бути синхронізовані з шаром об'єкта.\n" -"\n" -"Чи потрібно синхронізувати шари підтримки, щоб увімкнути вичіщуючу веж?" -#: xs/src/slic3r/GUI/Tab.cpp:1080 -msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" msgstr "" -"Підтримка працює краще, якщо ввімкнено таку функцію:\n" -"- Виявлення висячих периметрів(перемичок)\n" -"\n" -"Чи потрібно змінити ці налаштування для підтримки?" -#: xs/src/slic3r/GUI/Tab.cpp:1083 -msgid "Support Generator" -msgstr "Створення підтримки" +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1125 -msgid "The " -msgstr "Шаблон наповнення " +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1125 -#, no-c-format +#: src/slic3r/GUI/Plater.cpp:1366 msgid "" -" infill pattern is not supposed to work at 100% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" +"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 "" -" не підтримується на 100% щільності.\n" -"\n" -"Чи потрібно змінити його на Rectilinear шаблон заповнення?" - -#: xs/src/slic3r/GUI/Tab.cpp:1231 xs/src/slic3r/GUI/Tab.cpp:1232 -#: lib/Slic3r/GUI/Plater.pm:454 -msgid "Filament" -msgstr "Філамент" +"Цей файл містить кілька об'єктів, розташованих на декількох висотах. Замість того, щоб розглядати їх як кілька об'єктів, чи потрібно розглянути\n" +"цей файл як єдиний об'єкт, що має декілька частин?\n" -#: xs/src/slic3r/GUI/Tab.cpp:1239 -msgid "Temperature " -msgstr "Температура " +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 +msgid "Multi-part object detected" +msgstr "Виявлено об'єкт, що складається з кількох частин" -#: xs/src/slic3r/GUI/Tab.cpp:1240 xs/src/libslic3r/PrintConfig.cpp:344 -msgid "Extruder" -msgstr "Екструдер" +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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 "" -#: xs/src/slic3r/GUI/Tab.cpp:1245 -msgid "Bed" -msgstr "Полотно" +#: src/slic3r/GUI/Plater.cpp:1408 +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" -#: xs/src/slic3r/GUI/Tab.cpp:1250 -msgid "Cooling" -msgstr "Охолодження" +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1251 xs/src/libslic3r/PrintConfig.cpp:1137 -#: xs/src/libslic3r/PrintConfig.cpp:1941 -msgid "Enable" -msgstr "Увімкнути" +#: src/slic3r/GUI/Plater.cpp:1492 +msgid "Your object appears to be too large, so it was automatically scaled down to fit your print bed." +msgstr "Ваш об'єкт видався занадто великим, тому він автоматично зменшився відповідно до вашої полотна друку." -#: xs/src/slic3r/GUI/Tab.cpp:1262 -msgid "Fan settings" -msgstr "Налаштування вентилятора" +#: src/slic3r/GUI/Plater.cpp:1493 +msgid "Object too large?" +msgstr "Об'єкт занадто великий?" -#: xs/src/slic3r/GUI/Tab.cpp:1263 -msgid "Fan speed" -msgstr "Швидкість вентилятора" +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1271 -msgid "Cooling thresholds" -msgstr "Пороги охолодження" +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1277 -msgid "Filament properties" -msgstr "Властивості філаменту" +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1281 -msgid "Print speed override" -msgstr "Перевизначення швидкості друку" +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1291 -msgid "Toolchange parameters with single extruder MM printers" +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1299 -msgid "Ramming" +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1301 -msgid "Ramming settings" +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1316 xs/src/slic3r/GUI/Tab.cpp:1631 -msgid "Custom G-code" -msgstr "Користувацький G-код" +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1317 xs/src/slic3r/GUI/Tab.cpp:1632 -#: xs/src/libslic3r/PrintConfig.cpp:1590 xs/src/libslic3r/PrintConfig.cpp:1605 -msgid "Start G-code" -msgstr "Початок G-коду" +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1323 xs/src/slic3r/GUI/Tab.cpp:1638 -#: xs/src/libslic3r/PrintConfig.cpp:254 xs/src/libslic3r/PrintConfig.cpp:264 -msgid "End G-code" -msgstr "Закінчення G-коду" +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "The selected object can't be split because it contains more than one volume/material." +msgstr "Вибраний об'єкт не можна розділити, оскільки містить більше одного об'єму/матеріалу." -#: xs/src/slic3r/GUI/Tab.cpp:1419 xs/src/slic3r/GUI/Preferences.cpp:17 -msgid "General" -msgstr "Загальне" +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1420 -msgid "Size and coordinates" -msgstr "Розмір і координати" +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "На даний час виконується інший експорт." -#: xs/src/slic3r/GUI/Tab.cpp:1422 xs/src/libslic3r/PrintConfig.cpp:37 -msgid "Bed shape" -msgstr "Форма полотна" +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "Експортувати не вдалося" -#: xs/src/slic3r/GUI/Tab.cpp:1424 xs/src/slic3r/GUI/Tab.cpp:2332 -msgid " Set " -msgstr " Встановити " +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1447 -msgid "Capabilities" -msgstr "Можливості" +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "Видалити" -#: xs/src/slic3r/GUI/Tab.cpp:1452 -msgid "Number of extruders of the printer." -msgstr "Кількість екструдерів у принтері." +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "Видалити вибраний об'єкт" -#: xs/src/slic3r/GUI/Tab.cpp:1477 -msgid "USB/Serial connection" -msgstr "USB/послідовне з'єднання" +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "Збільшити копії" -#: xs/src/slic3r/GUI/Tab.cpp:1478 xs/src/libslic3r/PrintConfig.cpp:1441 -msgid "Serial port" -msgstr "Послідовний порт" +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "Розташувати ще одну копію обраного об'єкта" -#: xs/src/slic3r/GUI/Tab.cpp:1483 -msgid "Rescan serial ports" -msgstr "Сканувати ще раз послідовні порти" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "Зменшити копії" -#: xs/src/slic3r/GUI/Tab.cpp:1492 xs/src/slic3r/GUI/Tab.cpp:1539 -msgid "Test" -msgstr "Перевірити" +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "Вилучіть одну копію обраного об'єкта" -#: xs/src/slic3r/GUI/Tab.cpp:1505 -msgid "Connection to printer works correctly." -msgstr "Підключення до принтера працює коректно." +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1505 xs/src/slic3r/GUI/Tab.cpp:1549 -msgid "Success!" -msgstr "Успіх!" +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "Змінити кількість копій обраного об'єкта" -#: xs/src/slic3r/GUI/Tab.cpp:1508 -msgid "Connection failed." -msgstr "Підключення не вдалося." +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "Перезавантажити з диска" -#: xs/src/slic3r/GUI/Tab.cpp:1520 xs/src/slic3r/Utils/OctoPrint.cpp:110 -msgid "OctoPrint upload" -msgstr "Завантаження OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "Перезавантажити вибраний файл із диска" -#: xs/src/slic3r/GUI/Tab.cpp:1523 xs/src/slic3r/GUI/Tab.cpp:1572 -msgid " Browse " -msgstr " Переглянути " +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1549 -msgid "Connection to OctoPrint works correctly." -msgstr "Підключення до OctoPrint працює правильно." +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "Експортувати цей окремий об'єкт як STL-файл" -#: xs/src/slic3r/GUI/Tab.cpp:1552 -msgid "Could not connect to OctoPrint" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1552 -msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "Віддзеркалити виділений об'єкт уздовж осі Х" -#: xs/src/slic3r/GUI/Tab.cpp:1578 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1579 -msgid "Open CA certificate file" -msgstr "" +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "Віддзеркалити виділений об'єкт уздовж осі Y" -#: xs/src/slic3r/GUI/Tab.cpp:1593 -msgid "" -"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" -"signed certificate." +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1644 xs/src/libslic3r/PrintConfig.cpp:51 -msgid "Before layer change G-code" -msgstr "G-код перед зміною шару" +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "Віддзеркалити виділений об'єкт уздовж осі Z" -#: xs/src/slic3r/GUI/Tab.cpp:1650 xs/src/libslic3r/PrintConfig.cpp:875 -msgid "After layer change G-code" -msgstr "G-код після зміни шару" +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "Віддзеркалити" -#: xs/src/slic3r/GUI/Tab.cpp:1656 xs/src/libslic3r/PrintConfig.cpp:1848 -msgid "Tool change G-code" -msgstr "G-код зміни інструменту" +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "Віддзеркалити виділений об'єкт" -#: xs/src/slic3r/GUI/Tab.cpp:1662 -msgid "Between objects G-code (for sequential printing)" -msgstr "G-код між об'єктами (для послідовного друку)" +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1717 xs/src/slic3r/GUI/Tab.cpp:1778 -#: xs/src/slic3r/GUI/Tab.cpp:2037 xs/src/libslic3r/PrintConfig.cpp:920 -#: xs/src/libslic3r/PrintConfig.cpp:929 xs/src/libslic3r/PrintConfig.cpp:938 -#: xs/src/libslic3r/PrintConfig.cpp:950 xs/src/libslic3r/PrintConfig.cpp:960 -#: xs/src/libslic3r/PrintConfig.cpp:970 xs/src/libslic3r/PrintConfig.cpp:980 -msgid "Machine limits" +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1730 -msgid "Values in this column are for Full Power mode" +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1731 -msgid "Full Power" +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1736 -msgid "Values in this column are for Silent mode" +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "Розділити" + +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1737 -msgid "Silent" +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1745 -msgid "Maximum feedrates" +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1750 -msgid "Maximum accelerations" +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1757 -msgid "Jerk limits" +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1762 -msgid "Minimum feedrates" +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1800 xs/src/slic3r/GUI/Tab.cpp:1808 -#: xs/src/slic3r/GUI/Tab.cpp:2037 -msgid "Single extruder MM setup" +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1809 -msgid "Single extruder multimaterial parameters" +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1822 xs/src/libslic3r/GCode/PreviewData.cpp:446 +#: src/slic3r/GUI/Plater.cpp:2891 #, c-format -msgid "Extruder %d" -msgstr "Екструдер %d" +msgid "3MF file exported to %s" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1829 -msgid "Layer height limits" -msgstr "Межі висоти шару" +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1834 -msgid "Position (for multi-extruder printers)" -msgstr "Позиція (для мульти-екструдерних принтерів)" +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "Загальне" -#: xs/src/slic3r/GUI/Tab.cpp:1837 -msgid "Retraction" -msgstr "Переривання" +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "Пам'ятати вихідний каталог" -#: xs/src/slic3r/GUI/Tab.cpp:1840 -msgid "Only lift Z" -msgstr "Межі підняття Z" +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "If this is enabled, Slic3r will prompt the last output directory instead of the one containing the input files." +msgstr "Якщо вибрано, Slic3r запропонує останню вихідну директорію замість тої, що вказана у вхідному файлі." -#: xs/src/slic3r/GUI/Tab.cpp:1853 -msgid "" -"Retraction when tool is disabled (advanced settings for multi-extruder " -"setups)" -msgstr "" -"Переривання при відключенні інструмента (додаткові налаштування для " -"налагодження мульти-екструдерів)" +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "Автоцентрувати частини" -#: xs/src/slic3r/GUI/Tab.cpp:1857 lib/Slic3r/GUI/Plater.pm:217 -#: lib/Slic3r/GUI/Plater.pm:2324 -msgid "Preview" -msgstr "Попередній перегляд" +#: src/slic3r/GUI/Preferences.cpp:44 +msgid "If this is enabled, Slic3r will auto-center objects around the print bed center." +msgstr "Якщо вибрано, Slic3r автоматично орієнтує об'єкти навколо центру друку." -#: xs/src/slic3r/GUI/Tab.cpp:1953 -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 "" -"Параметр «Очистити» недоступний при використанні режиму програмного " -"переривання.\n" -"\n" -"Відключити його для увімкнення програмного переривання?" +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "Фонова обробка" -#: xs/src/slic3r/GUI/Tab.cpp:1955 -msgid "Firmware Retraction" -msgstr "Програмне переривання" +#: src/slic3r/GUI/Preferences.cpp:52 +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." +msgstr "Якщо вибрано, Slic3r буде попередньо обробляти об'єкти, як тільки вони будуть завантажені, щоб заощадити час при експорті G-коду." -#: xs/src/slic3r/GUI/Tab.cpp:2130 -msgid "Default " -msgstr "За замовчуванням " +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "Заборонити налаштування \"- за замовчуванням -\"" + +#: src/slic3r/GUI/Preferences.cpp:76 +msgid "Suppress \" - default - \" presets in the Print / Filament / Printer selections once there are any other valid presets available." +msgstr "Заборонити налаштування \"- за замовчуванням -\" у параметрах Друк / Філамент / Принтер, якщо доступні інші діючі налаштування." + +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "Показувати несумісні налаштування друку та філаменту" + +#: src/slic3r/GUI/Preferences.cpp:84 +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:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "Використовувати застарілий OpenGL 1.1 рендеринг" + +#: src/slic3r/GUI/Preferences.cpp:92 +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, спробуйте вибрати цю опцію. Це призведе до вимкнення редагування висоти шару та згладжування, тому краще оновити графічний драйвер." + +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "З метою ефективності зміни, Вам потрібно буде перезапустити Slic3r." + +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "модифікований" -#: xs/src/slic3r/GUI/Tab.cpp:2130 -msgid " preset" -msgstr " налаштування" +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "Системні налаштування" -#: xs/src/slic3r/GUI/Tab.cpp:2131 -msgid " preset\n" -msgstr " налаштування\n" +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "Налаштування користувача" -#: xs/src/slic3r/GUI/Tab.cpp:2149 -msgid "" -"\n" -"\n" -"is not compatible with printer\n" +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" msgstr "" -"\n" -"\n" -"є не сумісним з принтером\n" -#: xs/src/slic3r/GUI/Tab.cpp:2149 -msgid "" -"\n" -"\n" -"and it has the following unsaved changes:" -msgstr "" -"\n" -"\n" -"і має такі незбережені зміни:" +#: 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) ." -#: xs/src/slic3r/GUI/Tab.cpp:2150 +#: src/slic3r/GUI/PresetHints.cpp:32 +#, c-format msgid "" "\n" -"\n" -"has the following unsaved changes:" +"If estimated layer time is greater, but still below ~%ds, fan will run at a proportionally decreasing speed between %d%% and %d%%." msgstr "" "\n" -"\n" -"має такі незбережені зміни:" +"Якщо запланований час друку шару більше, але все ще нижче ~%dс, вентилятор буде працювати з пропорційно зменшуваною швидкістю між %d%% та %d%%." -#: xs/src/slic3r/GUI/Tab.cpp:2152 +#: src/slic3r/GUI/PresetHints.cpp:36 msgid "" "\n" -"\n" -"Discard changes and continue anyway?" +"During the other layers, fan " msgstr "" "\n" -"\n" -"Відхилити зміни і продовжувати в будь-якому випадку?" +"Під час друку інших шарів вентилятор " -#: xs/src/slic3r/GUI/Tab.cpp:2153 -msgid "Unsaved Changes" -msgstr "Незбережені зміни" +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "Вентилятор " -#: xs/src/slic3r/GUI/Tab.cpp:2240 -msgid "The supplied name is empty. It can't be saved." -msgstr "Надане ім'я порожнє. Не вдається зберегти." +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "буде завжди працювати на %d%% " -#: xs/src/slic3r/GUI/Tab.cpp:2245 -msgid "Cannot overwrite a system profile." -msgstr "" +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "за винятком перших %d шарів" -#: xs/src/slic3r/GUI/Tab.cpp:2249 -msgid "Cannot overwrite an external profile." -msgstr "" +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "за винятком першого шару" -#: xs/src/slic3r/GUI/Tab.cpp:2275 -msgid "remove" -msgstr "перемістити" +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "буде вимкнено." -#: xs/src/slic3r/GUI/Tab.cpp:2275 -msgid "delete" -msgstr "видалити" +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "зовнішні периметри" -#: xs/src/slic3r/GUI/Tab.cpp:2276 -msgid "Are you sure you want to " -msgstr "Ви впевнені, що хочете " +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" +msgstr "периметри" -#: xs/src/slic3r/GUI/Tab.cpp:2276 -msgid " the selected preset?" -msgstr " вибране налаштування?" +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "наповнення" -#: xs/src/slic3r/GUI/Tab.cpp:2277 -msgid "Remove" -msgstr "Перемістити" +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "суцільне наповнення" -#: xs/src/slic3r/GUI/Tab.cpp:2277 lib/Slic3r/GUI/Plater.pm:251 -#: lib/Slic3r/GUI/Plater.pm:269 lib/Slic3r/GUI/Plater.pm:2215 -msgid "Delete" -msgstr "Видалити" +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "верхній суцільне наповнення" -#: xs/src/slic3r/GUI/Tab.cpp:2278 -msgid " Preset" -msgstr " Налаштування" +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "підтримка" -#: xs/src/slic3r/GUI/Tab.cpp:2331 -msgid "All" -msgstr "Всі" +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "інтерфейс підтримки" -#: xs/src/slic3r/GUI/Tab.cpp:2363 -msgid "Select the printers this profile is compatible with." -msgstr "Оберіть принтери, сумісні з цим профілем." +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "Об'єм першого шару" -#: xs/src/slic3r/GUI/Tab.cpp:2409 xs/src/slic3r/GUI/Tab.cpp:2495 -#: xs/src/slic3r/GUI/Preset.cpp:702 xs/src/slic3r/GUI/Preset.cpp:742 -#: xs/src/slic3r/GUI/Preset.cpp:770 xs/src/slic3r/GUI/Preset.cpp:802 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1193 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1246 lib/Slic3r/GUI/Plater.pm:603 -msgid "System presets" -msgstr "Системні налаштування" +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "Об'єм мостів" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "Об'ємний" -#: xs/src/slic3r/GUI/Tab.cpp:2410 xs/src/slic3r/GUI/Tab.cpp:2496 -msgid "Default presets" -msgstr "Налаштування за замовчанням" +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr " швидкість потоку максимізується " -#: xs/src/slic3r/GUI/Tab.cpp:2565 -msgid "" -"LOCKED LOCK;indicates that the settings are the same as the system values " -"for the current option group" +#: src/slic3r/GUI/PresetHints.cpp:220 +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:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr " при швидкості філаменту %3.2f мм/с." + +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "Recommended object thin wall thickness: Not available due to invalid layer height." +msgstr "Рекомендований об'єкт товщиною тонкої стінки: Недоступний через невірне значення висоти шару." + +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "Рекомендована товщина стінки для висоти шару %.2f та " + +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "%d рядків: %.2lf мм" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2568 -msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " -"the system values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group " -"to the system values." +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2574 -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." +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2578 -msgid "" -"BACK ARROW;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." +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2604 -msgid "" -"LOCKED LOCK icon indicates that the settings are the same as the system " -"values for the current option group" +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2606 -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." +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2609 -msgid "WHITE BULLET icon indicates a non system preset." +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2612 -msgid "" -"WHITE BULLET icon indicates that the settings are the same as in the last " -"saved preset for the current option group." +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2614 -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." +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2620 -msgid "" -"LOCKED LOCK icon indicates that the value is the same as the system value." +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2621 -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." +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2627 -msgid "" -"WHITE BULLET icon indicates that the value is the same as in the last saved " -"preset." +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2628 -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." +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2703 lib/Slic3r/GUI/MainFrame.pm:469 -#: lib/Slic3r/GUI/Plater.pm:1795 -msgid "Save " -msgstr "Зберегти " +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2703 -msgid " as:" -msgstr " як:" +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2742 xs/src/slic3r/GUI/Tab.cpp:2746 -msgid "The supplied name is not valid;" +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2743 -msgid "the following characters are not allowed:" +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "Сумісні принтери" + +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "Оберіть принтери, сумісні з цим профілем." + +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2747 -msgid "the following postfix are not allowed:" +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:2750 -msgid "The supplied name is not available." -msgstr "Надане ім'я недійсне." +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "Зберегти поточний " -#: xs/src/slic3r/GUI/Tab.hpp:286 -msgid "Print Settings" -msgstr "Параметри друку" +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "Видалити це налаштування" -#: xs/src/slic3r/GUI/Tab.hpp:306 -msgid "Filament Settings" -msgstr "Параметри філаменту" +#: src/slic3r/GUI/Tab.cpp:131 +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:332 -msgid "Printer Settings" -msgstr "Параметри принтеру" +#: src/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:348 -msgid "Save preset" -msgstr "Зберегти налаштування" +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "" -#: xs/src/slic3r/GUI/Field.cpp:98 -msgid "default" -msgstr "за замовчуванням" +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "" -#: xs/src/slic3r/GUI/Field.cpp:128 -#, c-format -msgid "%s doesn't support percentage" +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " msgstr "" -#: xs/src/slic3r/GUI/Field.cpp:137 -msgid "Input value is out of range" +#: src/slic3r/GUI/Tab.cpp:832 +msgid "Any modifications should be saved as a new preset inherited from this one. " msgstr "" -#: xs/src/slic3r/GUI/Preset.cpp:144 -msgid "modified" -msgstr "модифікований" +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "" -#: xs/src/slic3r/GUI/Preset.cpp:746 xs/src/slic3r/GUI/Preset.cpp:806 -#: xs/src/slic3r/GUI/PresetBundle.cpp:1251 lib/Slic3r/GUI/Plater.pm:604 -msgid "User presets" -msgstr "Налаштування користувача" +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:27 -#, 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)." +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" msgstr "" -"Якщо запланований час друку шару нижче ~%dс, вентилятор буде працювати на%d" -"%%, і швидкість друку буде зменшена, так що на цей шар витрачається не менше " -"%dс (однак швидкість ніколи не зменшиться нижче %d mm/s) ." -#: xs/src/slic3r/GUI/PresetHints.cpp:31 -#, 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%%." +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" msgstr "" -"\n" -"Якщо запланований час друку шару більше, але все ще нижче ~%dс, вентилятор " -"буде працювати з пропорційно зменшуваною швидкістю між %d%% та %d%%." -#: xs/src/slic3r/GUI/PresetHints.cpp:35 -msgid "" -"\n" -"During the other layers, fan " +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" msgstr "" -"\n" -"Під час друку інших шарів вентилятор " -#: xs/src/slic3r/GUI/PresetHints.cpp:37 -msgid "Fan " -msgstr "Вентилятор " +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:42 -#, c-format -msgid "will always run at %d%% " -msgstr "буде завжди працювати на %d%% " +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "" -#: xs/src/slic3r/GUI/PresetHints.cpp:45 -#, c-format -msgid "except for the first %d layers" -msgstr "за винятком перших %d шарів" +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "Шари та периметри" -#: xs/src/slic3r/GUI/PresetHints.cpp:49 -msgid "except for the first layer" -msgstr "за винятком першого шару" +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "Висота шару" -#: xs/src/slic3r/GUI/PresetHints.cpp:51 -msgid "will be turned off." -msgstr "буде вимкнено." +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "Вертикальні оболонки" -#: xs/src/slic3r/GUI/PresetHints.cpp:152 -msgid "external perimeters" -msgstr "зовнішні периметри" +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "Горизонтальні оболонки" -#: xs/src/slic3r/GUI/PresetHints.cpp:161 -msgid "perimeters" -msgstr "периметри" +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "Суцільні шари" -#: xs/src/slic3r/GUI/PresetHints.cpp:170 -msgid "infill" -msgstr "наповнення" +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "Якість (повільне нарізання)" -#: xs/src/slic3r/GUI/PresetHints.cpp:180 -msgid "solid infill" -msgstr "суцільне наповнення" +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "Зниження часу друку" + +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "Плінтус та край" + +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "Пліт" + +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "Варіанти для опорного матеріалу та плоту" + +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "Швидкість друкарських рухів" + +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "Швидкість недрукарських рухів" + +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "Модифікатори" -#: xs/src/slic3r/GUI/PresetHints.cpp:188 -msgid "top solid infill" -msgstr "верхній суцільне наповнення" +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "Контроль прискорення (розширений)" -#: xs/src/slic3r/GUI/PresetHints.cpp:199 -msgid "support" -msgstr "підтримка" +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "Автоматична швидкість (розширена)" -#: xs/src/slic3r/GUI/PresetHints.cpp:209 -msgid "support interface" -msgstr "інтерфейс підтримки" +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "Кілька екструдерів" -#: xs/src/slic3r/GUI/PresetHints.cpp:215 -msgid "First layer volumetric" -msgstr "Об'єм першого шару" +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "Профілактика просочування" -#: xs/src/slic3r/GUI/PresetHints.cpp:215 -msgid "Bridging volumetric" -msgstr "Об'єм мостів" +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "Ширина екструзії" -#: xs/src/slic3r/GUI/PresetHints.cpp:215 -msgid "Volumetric" -msgstr "Об'ємний" +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "Перекриття" -#: xs/src/slic3r/GUI/PresetHints.cpp:216 -msgid " flow rate is maximized " -msgstr " швидкість потоку максимізується " +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "Потік" -#: xs/src/slic3r/GUI/PresetHints.cpp:219 -msgid "by the print profile maximum" -msgstr "за профілем друку максимум" +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "Інше" -#: xs/src/slic3r/GUI/PresetHints.cpp:220 -msgid "when printing " -msgstr "коли друкуємо " +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "Параметри виводу" -#: xs/src/slic3r/GUI/PresetHints.cpp:221 -msgid " with a volumetric rate " -msgstr " з об'ємною швидкістю " +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "Послідовне друкування" -#: xs/src/slic3r/GUI/PresetHints.cpp:225 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f мм³/с" +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "Розмір екструдера (мм)" -#: xs/src/slic3r/GUI/PresetHints.cpp:227 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " при швидкості філаменту %3.2f мм/с." +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "Вихідний файл" -#: xs/src/slic3r/GUI/PresetHints.cpp:246 -msgid "" -"Recommended object thin wall thickness: Not available due to invalid layer " -"height." -msgstr "" -"Рекомендований об'єкт товщиною тонкої стінки: Недоступний через невірне " -"значення висоти шару." +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "Скрипти пост-обробки" -#: xs/src/slic3r/GUI/PresetHints.cpp:263 -#, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "Рекомендована товщина стінки для висоти шару %.2f та " +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "Примітки" -#: xs/src/slic3r/GUI/PresetHints.cpp:270 -#, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d рядків: %.2lf мм" +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "Залежності" -#: xs/src/slic3r/GUI/Preferences.cpp:34 -msgid "Remember output directory" -msgstr "Пам'ятати вихідний каталог" +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "Залежності профілю" -#: xs/src/slic3r/GUI/Preferences.cpp:36 +#: src/slic3r/GUI/Tab.cpp:1161 +#, no-c-format msgid "" -"If this is enabled, Slic3r will prompt the last output directory instead of " -"the one containing the input files." +"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 "" -"Якщо вибрано, Slic3r запропонує останню вихідну директорію замість тої, що " -"вказана у вхідному файлі." +"Режим спіральної вази вимагає:\n" +"- один периметр\n" +"- немає верхніх щільних шарів\n" +"- 0% щільність заповнення\n" +"- немає підтримуючого матеріалу\n" +"- не забезпечує товщини вертикальної оболонки\n" +"\n" +"Чи потрібно змінити ці налаштування, щоб увімкнути режим Спіральної вази?" -#: xs/src/slic3r/GUI/Preferences.cpp:42 -msgid "Auto-center parts" -msgstr "Автоцентрувати частини" +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "Спіральна ваза" -#: xs/src/slic3r/GUI/Preferences.cpp:44 +#: src/slic3r/GUI/Tab.cpp:1191 msgid "" -"If this is enabled, Slic3r will auto-center objects around the print bed " -"center." +"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 "" -"Якщо вибрано, Slic3r автоматично орієнтує об'єкти навколо центру друку." +"Вичіщуюча веж в даний час підтримує лише нерозчинну підтримку\n" +"якщо вони друкуються з поточним екструдером, не запускаючи зміну інструменту.\n" +"(обидва значення support_material_extruder і support_material_interface_extruder повинні бути встановлені на 0).\n" +"\n" +"Чи потрібно коригувати ці налаштування, щоб увімкнути вичіщуючу веж?" -#: xs/src/slic3r/GUI/Preferences.cpp:50 -msgid "Background processing" -msgstr "Фонова обробка" +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "Вичіщуюча веж" -#: xs/src/slic3r/GUI/Preferences.cpp:52 +#: src/slic3r/GUI/Tab.cpp:1209 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." +"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 "" -"Якщо вибрано, Slic3r буде попередньо обробляти об'єкти, як тільки вони " -"будуть завантажені, щоб заощадити час при експорті G-коду." - -#: xs/src/slic3r/GUI/Preferences.cpp:74 -msgid "Disable USB/serial connection" -msgstr "Вимкнути USB / послідовне з'єднання" +"Для того, щоб Вичіщуюча веж працювала з розчинними підтримками, шари підтримки\n" +"повинні бути синхронізовані з шаром об'єкта.\n" +"\n" +"Чи потрібно синхронізувати шари підтримки, щоб увімкнути вичіщуючу веж?" -#: xs/src/slic3r/GUI/Preferences.cpp:76 +#: src/slic3r/GUI/Tab.cpp:1227 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." +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" msgstr "" -"Відключіть зв'язок із принтером через послідовний / USB-кабель. " -"Користувальницький інтерфейс спрощує, якщо принтер ніколи не приєднується до " -"комп'ютера." +"Підтримка працює краще, якщо ввімкнено таку функцію:\n" +"- Виявлення висячих периметрів(перемичок)\n" +"\n" +"Чи потрібно змінити ці налаштування для підтримки?" -#: xs/src/slic3r/GUI/Preferences.cpp:82 -msgid "Suppress \" - default - \" presets" -msgstr "Заборонити налаштування \"- за замовчуванням -\"" +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "Створення підтримки" -#: xs/src/slic3r/GUI/Preferences.cpp:84 +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "Шаблон наповнення " + +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format msgid "" -"Suppress \" - default - \" presets in the Print / Filament / Printer " -"selections once there are any other valid presets available." +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" msgstr "" -"Заборонити налаштування \"- за замовчуванням -\" у параметрах Друк / " -"Філамент / Принтер, якщо доступні інші діючі налаштування." +" не підтримується на 100% щільності.\n" +"\n" +"Чи потрібно змінити його на Rectilinear шаблон заповнення?" -#: xs/src/slic3r/GUI/Preferences.cpp:90 -msgid "Show incompatible print and filament presets" -msgstr "Показувати несумісні налаштування друку та філаменту" +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "Температура " -#: xs/src/slic3r/GUI/Preferences.cpp:92 -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/Tab.cpp:1394 +msgid "Bed" +msgstr "Полотно" -#: xs/src/slic3r/GUI/Preferences.cpp:98 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "Використовувати застарілий OpenGL 1.1 рендеринг" +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "Охолодження" -#: xs/src/slic3r/GUI/Preferences.cpp:100 -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, спробуйте вибрати цю опцію. Це призведе до вимкнення " -"редагування висоти шару та згладжування, тому краще оновити графічний " -"драйвер." +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "Увімкнути" -#: xs/src/slic3r/GUI/Preferences.cpp:124 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "З метою ефективності зміни, Вам потрібно буде перезапустити Slic3r." +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "Налаштування вентилятора" -#: xs/src/slic3r/GUI/RammingChart.cpp:23 -msgid "NO RAMMING AT ALL" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "Швидкість вентилятора" -#: xs/src/slic3r/GUI/RammingChart.cpp:76 -msgid "Time" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "Пороги охолодження" -#: xs/src/slic3r/GUI/RammingChart.cpp:76 xs/src/slic3r/GUI/RammingChart.cpp:81 -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:77 -#: xs/src/libslic3r/PrintConfig.cpp:490 -msgid "s" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "Властивості філаменту" -#: xs/src/slic3r/GUI/RammingChart.cpp:81 -msgid "Volumetric speed" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "Перевизначення швидкості друку" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "Update available" +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 -msgid "New version of Slic3r PE is available" +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 -msgid "To download, follow the link below." -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "Користувацький G-код" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 -msgid "Current version:" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "Початок G-коду" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 -msgid "New version:" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "Закінчення G-коду" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 -msgid "Don't notify about new releases any more" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr " Переглянути " -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 -msgid "Configuration update" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "Перевірити" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 -msgid "Configuration update is available" +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 -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:" +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "Успіх!" + +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r incompatibility" +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 -msgid "Slic3r configuration is incompatible" +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" msgstr "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 +#: src/slic3r/GUI/Tab.cpp:1676 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" -"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" +"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 "" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 -#, c-format -msgid "This Slic3r PE version: %s" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "Розмір і координати" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 -msgid "Incompatible bundles:" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr " Встановити " -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 -msgid "Exit Slic3r" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "Можливості" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Re-configure" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "Кількість екструдерів у принтері." -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 -#, c-format -msgid "" -"Slic3r PE 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 "" +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "USB/послідовне з'єднання" -#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 -msgid "For more information please visit our wiki page:" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "Послідовний порт" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:9 -msgid "Ramming customization" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "Сканувати ще раз послідовні порти" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:35 -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." +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "Підключення до принтера працює коректно." + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "Підключення не вдалося." + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:77 -msgid "Total ramming time" +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "G-код перед зміною шару" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "G-код після зміни шару" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "G-код зміни інструменту" + +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "G-код між об'єктами (для послідовного друку)" + +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:79 -msgid "Total rammed volume" +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:83 -msgid "Ramming line width" +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:85 -msgid "Ramming line spacing" +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:137 -msgid "Wipe tower - Purging volume adjustment" +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218 -msgid "" -"Here you can adjust required purging volume (mm³) for any given pair of " -"tools." +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:219 -msgid "Extruder changed to" +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:227 -msgid "unloaded" +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:228 -msgid "loaded" +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 -msgid "Tool #" +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:240 -msgid "" -"Total purging volume is calculated by summing two values below, depending on " -"which tools are loaded/unloaded." +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241 -msgid "Volume to purge (mm³) when the filament is being" +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:255 -msgid "From" +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:320 +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "Екструдер %d" + +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "Межі висоти шару" + +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "Позиція (для мульти-екструдерних принтерів)" + +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "Переривання" + +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "Межі підняття Z" + +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" +msgstr "Переривання при відключенні інструмента (додаткові налаштування для налагодження мульти-екструдерів)" + +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "Попередній перегляд" + +#: src/slic3r/GUI/Tab.cpp:2284 msgid "" -"Switching to simple settings will discard changes done in the advanced " -"mode!\n" +"The Wipe option is not available when using the Firmware Retraction mode.\n" "\n" -"Do you want to proceed?" +"Shall I disable it in order to enable Firmware Retraction?" msgstr "" +"Параметр «Очистити» недоступний при використанні режиму програмного переривання.\n" +"\n" +"Відключити його для увімкнення програмного переривання?" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:332 -msgid "Show simplified settings" +#: src/slic3r/GUI/Tab.cpp:2286 +msgid "Firmware Retraction" +msgstr "Програмне переривання" + +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" msgstr "" -#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:332 -msgid "Show advanced settings" +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:33 -msgid "Send G-Code to printer" +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:33 -msgid "Upload to OctoPrint with the following filename:" +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:35 -msgid "Start printing after upload" +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:37 -msgid "Use forward slashes ( / ) as a directory separator if needed." +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:98 -msgid "Error while uploading to the OctoPrint server" +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:111 lib/Slic3r/GUI/Plater.pm:1558 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "Відправка файлу G-коду на сервер OctoPrint..." +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "Незбережені зміни" -#: xs/src/slic3r/Utils/PresetUpdater.cpp:544 -#, c-format -msgid "requires min. %s and max. %s" +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." msgstr "" -#: xs/src/libslic3r/Print.cpp:553 -msgid "All objects are outside of the print volume." +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." msgstr "" -#: xs/src/libslic3r/Print.cpp:579 -msgid "Some objects are too close; your extruder will collide with them." -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "Надане ім'я порожнє. Не вдається зберегти." -#: xs/src/libslic3r/Print.cpp:594 -msgid "" -"Some objects are too tall and cannot be printed without extruder collisions." +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." msgstr "" -#: xs/src/libslic3r/Print.cpp:604 -msgid "The Spiral Vase option can only be used when printing a single object." +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." msgstr "" -#: xs/src/libslic3r/Print.cpp:606 -msgid "" -"The Spiral Vase option can only be used when printing single material " -"objects." -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "перемістити" -#: xs/src/libslic3r/Print.cpp:612 -msgid "" -"All extruders must have the same diameter for single extruder multimaterial " -"printer." -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "видалити" -#: xs/src/libslic3r/Print.cpp:617 -msgid "" -"The Wipe Tower is currently only supported for the Marlin and RepRap/" -"Sprinter G-code flavors." -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "Ви впевнені, що хочете " -#: xs/src/libslic3r/Print.cpp:619 -msgid "" -"The Wipe Tower is currently only supported with the relative extruder " -"addressing (use_relative_e_distances=1)." -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr " вибране налаштування?" -#: xs/src/libslic3r/Print.cpp:631 -msgid "" -"The Wipe Tower is only supported for multiple objects if they have equal " -"layer heigths" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "Перемістити" -#: xs/src/libslic3r/Print.cpp:633 -msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"over an equal number of raft layers" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr " Налаштування" -#: xs/src/libslic3r/Print.cpp:635 -msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"with the same support_material_contact_distance" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "Всі" -#: xs/src/libslic3r/Print.cpp:637 -msgid "" -"The Wipe Tower is only supported for multiple objects if they are sliced " -"equally." +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "LOCKED LOCK;indicates that the settings are the same as the system values for the current option group" msgstr "" -#: xs/src/libslic3r/Print.cpp:661 +#: src/slic3r/GUI/Tab.cpp:2872 msgid "" -"The Wipe tower is only supported if all objects have the same layer height " -"profile" -msgstr "" - -#: xs/src/libslic3r/Print.cpp:670 -msgid "The supplied settings will cause an empty print." +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system values." msgstr "" -#: xs/src/libslic3r/Print.cpp:680 +#: src/slic3r/GUI/Tab.cpp:2878 msgid "" -"One or more object were assigned an extruder that the printer does not have." +"WHITE BULLET;for the left button: \tindicates a non-system preset,\n" +"for the right button: \tindicates that the settings hasn't been modified." msgstr "" -#: xs/src/libslic3r/Print.cpp:689 +#: src/slic3r/GUI/Tab.cpp:2882 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." +"BACK ARROW;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 "" -#: xs/src/libslic3r/Print.cpp:695 -msgid "first_layer_height" +#: src/slic3r/GUI/Tab.cpp:2908 +msgid "LOCKED LOCK icon indicates that the settings are the same as the system values for the current option group" msgstr "" -#: xs/src/libslic3r/Print.cpp:710 -msgid "First layer height can't be greater than nozzle diameter" +#: src/slic3r/GUI/Tab.cpp:2910 +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." msgstr "" -#: xs/src/libslic3r/Print.cpp:714 -msgid "Layer height can't be greater than nozzle diameter" +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." msgstr "" -#: xs/src/libslic3r/Print.cpp:1196 -msgid "Failed processing of the output_filename_format template." +#: src/slic3r/GUI/Tab.cpp:2916 +msgid "WHITE BULLET icon indicates that the settings are the same as in the last saved preset for the current option group." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:29 -msgid "Avoid crossing perimeters" -msgstr "Уникати перетинання периметрів" - -#: xs/src/libslic3r/PrintConfig.cpp:30 +#: src/slic3r/GUI/Tab.cpp:2918 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." +"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 "" -"Оптимізуйте рухи пересувань, щоб мінімізувати перетин периметрів. В " -"основному це корисно для екструдерів Bowden, які страждають від протікання. " -"Ця функція уповільнює як друк, так і генерацію G-коду." - -#: xs/src/libslic3r/PrintConfig.cpp:41 xs/src/libslic3r/PrintConfig.cpp:1818 -msgid "Other layers" -msgstr "Інші шари" -#: xs/src/libslic3r/PrintConfig.cpp:42 -msgid "" -"Bed temperature for layers after the first one. Set this to zero to disable " -"bed temperature control commands in the output." +#: src/slic3r/GUI/Tab.cpp:2924 +msgid "LOCKED LOCK icon indicates that the value is the same as the system value." msgstr "" -"Температура полотна для останніх шарів після першого. Установіть 0, щоб " -"відключити команди керування температурою полотна на виході." - -#: xs/src/libslic3r/PrintConfig.cpp:45 -msgid "Bed temperature" -msgstr "Температура полотна" -#: xs/src/libslic3r/PrintConfig.cpp:52 +#: src/slic3r/GUI/Tab.cpp:2925 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]." +"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." msgstr "" -"Цей користувацький код вставляється при кожній зміні шару перед початком " -"переміщення Z. Зауважте, що ви можете використовувати змінні-заповнювачі для " -"всіх параметрів Slic3r, а також [layer_num] і [layer_z]." -#: xs/src/libslic3r/PrintConfig.cpp:62 -msgid "Between objects G-code" -msgstr "G-код між об'єктами" +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "WHITE BULLET icon indicates that the value is the same as in the last saved preset." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:63 +#: src/slic3r/GUI/Tab.cpp:2932 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." -msgstr "" -"Цей код вставляється між об'єктами при використанні послідовного друку. За " -"замовчуванням екструдер і температура полотна скидаються за допомогою " -"команди non-wait; однак, якщо в цьому користувальному коді виявляються M104, " -"M109, M140 або M190, Slic3r не додаватиме команди температури. Зверніть " -"увагу, що ви можете використовувати змінні-заповнювачі для всіх параметрів " -"Slic3r, то ж ви можете вставити команду \"M109 S [first_layer_temperature]\" " -"де завгодно." - -#: xs/src/libslic3r/PrintConfig.cpp:71 lib/Slic3r/GUI/MainFrame.pm:328 -msgid "Bottom" -msgstr "Знизу" - -#: xs/src/libslic3r/PrintConfig.cpp:72 xs/src/libslic3r/PrintConfig.cpp:276 -#: xs/src/libslic3r/PrintConfig.cpp:327 xs/src/libslic3r/PrintConfig.cpp:335 -#: xs/src/libslic3r/PrintConfig.cpp:701 xs/src/libslic3r/PrintConfig.cpp:871 -#: xs/src/libslic3r/PrintConfig.cpp:887 xs/src/libslic3r/PrintConfig.cpp:1156 -#: xs/src/libslic3r/PrintConfig.cpp:1222 xs/src/libslic3r/PrintConfig.cpp:1400 -#: xs/src/libslic3r/PrintConfig.cpp:1829 xs/src/libslic3r/PrintConfig.cpp:1885 -msgid "Layers and Perimeters" -msgstr "Шари та периметри" - -#: xs/src/libslic3r/PrintConfig.cpp:73 -msgid "Number of solid layers to generate on bottom surfaces." -msgstr "Кількість суцільних шарів, генерованих на нижніх поверхнях." - -#: xs/src/libslic3r/PrintConfig.cpp:75 -msgid "Bottom solid layers" -msgstr "Нижні суцільні шари" +"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 "" -#: xs/src/libslic3r/PrintConfig.cpp:80 -msgid "Bridge" -msgstr "Міст" +#: src/slic3r/GUI/Tab.cpp:3031 +msgid " as:" +msgstr " як:" -#: xs/src/libslic3r/PrintConfig.cpp:81 -msgid "" -"This is the acceleration your printer will use for bridges. Set zero to " -"disable acceleration control for bridges." +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" msgstr "" -"Це прискорення, яке ваш принтер використовуватиме для мостів. Встановити 0, " -"щоб відключити управління прискоренням для мостів." - -#: xs/src/libslic3r/PrintConfig.cpp:83 xs/src/libslic3r/PrintConfig.cpp:199 -#: xs/src/libslic3r/PrintConfig.cpp:673 xs/src/libslic3r/PrintConfig.cpp:781 -#: xs/src/libslic3r/PrintConfig.cpp:931 xs/src/libslic3r/PrintConfig.cpp:972 -#: xs/src/libslic3r/PrintConfig.cpp:982 xs/src/libslic3r/PrintConfig.cpp:1185 -msgid "mm/s²" -msgstr "мм/с²" -#: xs/src/libslic3r/PrintConfig.cpp:89 -msgid "Bridging angle" -msgstr "Кут моста" +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "Надане ім'я недійсне." -#: xs/src/libslic3r/PrintConfig.cpp:91 -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." +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" msgstr "" -"Зміна кута мосту. Якщо встановити на 0, кут мостів буде розрахований " -"автоматично. Інакше передбачений кут буде використаний для всіх мостів. " -"Використовуйте 180° для нульового кута." - -#: xs/src/libslic3r/PrintConfig.cpp:94 xs/src/libslic3r/PrintConfig.cpp:589 -#: xs/src/libslic3r/PrintConfig.cpp:1418 xs/src/libslic3r/PrintConfig.cpp:1429 -#: xs/src/libslic3r/PrintConfig.cpp:1649 xs/src/libslic3r/PrintConfig.cpp:1803 -msgid "°" -msgstr "°" -#: xs/src/libslic3r/PrintConfig.cpp:100 -msgid "Bridges fan speed" -msgstr "Швидкість вентилятора для мостів" +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "Шари" -#: xs/src/libslic3r/PrintConfig.cpp:101 -msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "Ця швидкість вентилятора виконується для всіх мостів і виступів." +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:102 xs/src/libslic3r/PrintConfig.cpp:601 -#: xs/src/libslic3r/PrintConfig.cpp:990 xs/src/libslic3r/PrintConfig.cpp:1058 -#: xs/src/libslic3r/PrintConfig.cpp:1308 -msgid "%" -msgstr "%" +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:109 -msgid "Bridge flow ratio" -msgstr "Співвідношення мостового потоку" +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:111 -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." +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" msgstr "" -"Цей фактор впливає на кількість пластику для мостів. Ви можете трохи " -"зменшити його, щоб витягнути екструдати та не допустити провисання, хоча " -"стандартні налаштування зазвичай добрі, тому ви маете по-експериментувати з " -"охолодженням (використовуйте вентилятор), перш ніж їх налаштувати." -#: xs/src/libslic3r/PrintConfig.cpp:121 -msgid "Bridges" -msgstr "Мости" +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:123 -msgid "Speed for printing bridges." -msgstr "Швидкість друку мостів." +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "Параметри друку" -#: xs/src/libslic3r/PrintConfig.cpp:124 xs/src/libslic3r/PrintConfig.cpp:471 -#: xs/src/libslic3r/PrintConfig.cpp:480 xs/src/libslic3r/PrintConfig.cpp:508 -#: xs/src/libslic3r/PrintConfig.cpp:516 xs/src/libslic3r/PrintConfig.cpp:735 -#: xs/src/libslic3r/PrintConfig.cpp:846 xs/src/libslic3r/PrintConfig.cpp:922 -#: xs/src/libslic3r/PrintConfig.cpp:940 xs/src/libslic3r/PrintConfig.cpp:952 -#: xs/src/libslic3r/PrintConfig.cpp:962 xs/src/libslic3r/PrintConfig.cpp:1019 -#: xs/src/libslic3r/PrintConfig.cpp:1076 xs/src/libslic3r/PrintConfig.cpp:1214 -#: xs/src/libslic3r/PrintConfig.cpp:1385 xs/src/libslic3r/PrintConfig.cpp:1394 -#: xs/src/libslic3r/PrintConfig.cpp:1782 xs/src/libslic3r/PrintConfig.cpp:1895 -msgid "mm/s" -msgstr "мм/с" +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "Параметри філаменту" -#: xs/src/libslic3r/PrintConfig.cpp:131 -msgid "Brim width" -msgstr "Ширина краю" +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "Параметри принтеру" -#: xs/src/libslic3r/PrintConfig.cpp:132 -msgid "" -"Horizontal width of the brim that will be printed around each object on the " -"first layer." +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" msgstr "" -"Горизонтальна ширина краю, яка буде надрукована навколо кожного об'єкта на " -"першому шарі." -#: xs/src/libslic3r/PrintConfig.cpp:139 -msgid "Clip multi-part objects" -msgstr "Обрізати об'єкти, що складаються з кількох частин" +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "Зберегти налаштування" -#: xs/src/libslic3r/PrintConfig.cpp:140 -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)." +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" msgstr "" -"Під час друку багатоматеріальних об'єктів ці налаштування змушують slic3r " -"обрізати частини, що перекриваються один одною (друга частина буде обрізана " -"першою, третя - першою та другою, тощо)." -#: xs/src/libslic3r/PrintConfig.cpp:151 -msgid "Compatible printers condition" -msgstr "Стан сумісних принтерів" +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:152 -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." +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." msgstr "" -"Логічний вираз, що використовує значення конфігурації активного профілю " -"принтера. Якщо цей вираз оцінюється як Правда, цей профіль вважається " -"сумісним з активним профілем принтера." -#: xs/src/libslic3r/PrintConfig.cpp:163 -msgid "Complete individual objects" -msgstr "Закінчити окремі об'єкти" +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:164 -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." +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" msgstr "" -"Під час друку декількох об'єктів або копій ця функція забезпечить завершення " -"кожного об'єкту, перш ніж переходити до наступного (і почине його з нижнього " -"шару). Ця функція корисна для уникнення ризику зіпсованих відбитків. Slic3r " -"має попередити та запобігти зіткненню екструдера, але будьте обережні." -#: xs/src/libslic3r/PrintConfig.cpp:172 -msgid "Enable auto cooling" -msgstr "Увімкнути автоматичне охолодження" +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:173 -msgid "" -"This flag enables the automatic cooling logic that adjusts print speed and " -"fan speed according to layer printing time." +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" msgstr "" -"Цей прапорець дозволяє автоматичну логіку охолодження, яка регулює швидкість " -"друку та швидкість вентиляції відповідно до часу друку шару." -#: xs/src/libslic3r/PrintConfig.cpp:179 -msgid "Cooling tube position" +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:180 -msgid "Distance of the center-point of the cooling tube from the extruder tip " +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:187 -msgid "Cooling tube length" +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:188 -msgid "Length of the cooling tube to limit space for cooling moves inside it " +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:196 +#: src/slic3r/GUI/UpdateDialogs.cpp:112 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 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" +"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 "" -"Це прискорення, на яке переключиться ваш принтер після того, як будуть " -"використані конкретні визначені прискорення (периметру / заповнення). " -"Встановити 0, щоб запобігти скиданням прискорення взагалі." -#: xs/src/libslic3r/PrintConfig.cpp:205 -msgid "Default filament profile" +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:206 -msgid "" -"Default filament profile associated with the current printer profile. On " -"selection of the current printer profile, this filament profile will be " -"activated." +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:211 -msgid "Default print profile" +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:212 -msgid "" -"Default print profile associated with the current printer profile. On " -"selection of the current printer profile, this print profile will be " -"activated." +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:217 -msgid "Disable fan for the first" -msgstr "Вимкнути вентилятор для першого(их)" - -#: xs/src/libslic3r/PrintConfig.cpp:218 +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format 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." +"Slic3r PE 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 "" -"Ви можете встановити це позитивне значення, щоб взагалі вимкнути вентилятор " -"протягом друку декількох перших шарів, щоб це не призвело до гіршого " -"зчеплення." -#: xs/src/libslic3r/PrintConfig.cpp:220 xs/src/libslic3r/PrintConfig.cpp:791 -#: xs/src/libslic3r/PrintConfig.cpp:1281 xs/src/libslic3r/PrintConfig.cpp:1472 -#: xs/src/libslic3r/PrintConfig.cpp:1533 xs/src/libslic3r/PrintConfig.cpp:1685 -#: xs/src/libslic3r/PrintConfig.cpp:1730 -msgid "layers" -msgstr "шару(ів)" +#: src/slic3r/GUI/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:227 -msgid "Don't support bridges" -msgstr "Не підтримувати мости" +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:229 +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 msgid "" -"Experimental option for preventing support material from being generated " -"under bridged areas." +"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 "" -"Експериментальний варіант для запобігання утворенню допоміжного матеріалу в " -"областях під мостами." - -#: xs/src/libslic3r/PrintConfig.cpp:235 -msgid "Distance between copies" -msgstr "Відстань між копіями" -#: xs/src/libslic3r/PrintConfig.cpp:236 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "Відстань використовується для автоматичного розташування платеру." +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 +msgid "Total ramming time" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:244 -msgid "Elephant foot compensation" -msgstr "Зрівноваження Стопи слона" +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:246 -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." +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" msgstr "" -"Перший шар буде зменшено в площині XY завдяки налаштованому значенню, щоб " -"компенсувати ефект Ноги Слона для 1-го шару." -#: xs/src/libslic3r/PrintConfig.cpp:255 -msgid "" -"This end procedure is inserted at the end of the output file. Note that you " -"can use placeholder variables for all Slic3r settings." +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" msgstr "" -"Ця кінцева процедура вставляється в кінці вихідного файлу. Зауважте, що ви " -"можете використовувати заповнювачі змінних для всіх параметрів Slic3r." -#: xs/src/libslic3r/PrintConfig.cpp:265 -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." +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" msgstr "" -"Ця кінцева процедура вставляється в кінці вихідного файлу перед кінцевим " -"кодом принтера. Зауважте, що ви можете використовувати заповнювачі змінних " -"для всіх параметрів Slic3r. Якщо у вас є кілька екструдерів, G-code " -"обробляється в порядку екструдерів." -#: xs/src/libslic3r/PrintConfig.cpp:275 -msgid "Ensure vertical shell thickness" -msgstr "Перевірте товщину вертикальної оболонки" +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:277 -msgid "" -"Add solid infill near sloping surfaces to guarantee the vertical shell " -"thickness (top+bottom solid layers)." +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" msgstr "" -"Додайте суцільні наповнювачі біля нахилених поверхонь, щоб гарантувати " -"товщину вертикальної оболонки (верхній і нижній суцільні шари)." -#: xs/src/libslic3r/PrintConfig.cpp:283 -msgid "Top/bottom fill pattern" -msgstr "Верхній/нижній шаблон наповнення" +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:285 -msgid "" -"Fill pattern for top/bottom infill. This only affects the external visible " -"layer, and not its adjacent solid shells." +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" msgstr "" -"Шаблон для верхнього/нижнього наповнення. Це впливає лише на зовнішній " -"видимий шар, а не на сусідні суцільні оболонки." -#: xs/src/libslic3r/PrintConfig.cpp:294 xs/src/libslic3r/PrintConfig.cpp:654 -#: xs/src/libslic3r/PrintConfig.cpp:1764 -msgid "Rectilinear" +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:295 xs/src/libslic3r/PrintConfig.cpp:660 -msgid "Concentric" +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:296 xs/src/libslic3r/PrintConfig.cpp:664 -msgid "Hilbert Curve" +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:297 xs/src/libslic3r/PrintConfig.cpp:665 -msgid "Archimedean Chords" +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:298 xs/src/libslic3r/PrintConfig.cpp:666 -msgid "Octagram Spiral" +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +msgid "" +"Switching to simple settings will discard changes done in the advanced mode!\n" +"\n" +"Do you want to proceed?" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:304 xs/src/libslic3r/PrintConfig.cpp:314 -msgid "External perimeters" -msgstr "Зовнішні периметри" +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:305 xs/src/libslic3r/PrintConfig.cpp:415 -#: xs/src/libslic3r/PrintConfig.cpp:689 xs/src/libslic3r/PrintConfig.cpp:807 -#: xs/src/libslic3r/PrintConfig.cpp:1200 xs/src/libslic3r/PrintConfig.cpp:1540 -#: xs/src/libslic3r/PrintConfig.cpp:1702 xs/src/libslic3r/PrintConfig.cpp:1860 -msgid "Extrusion Width" -msgstr "Ширина екструзії" +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:306 -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." -msgstr "" -"Встановіть значення ненульовим, щоб встановити ручну ширину екструзії для " -"зовнішніх периметрів. Якщо залишити 0, ширина екструзії за замовчуванням " -"буде використана, якщо встановлено, інакше буде використано 1,125 x діаметр " -"сопла. Якщо він виражений у відсотках (наприклад, 200%), він буде " -"обчислюватися за висотою шару." - -#: xs/src/libslic3r/PrintConfig.cpp:309 xs/src/libslic3r/PrintConfig.cpp:694 -#: xs/src/libslic3r/PrintConfig.cpp:812 xs/src/libslic3r/PrintConfig.cpp:1205 -#: xs/src/libslic3r/PrintConfig.cpp:1544 xs/src/libslic3r/PrintConfig.cpp:1706 -#: xs/src/libslic3r/PrintConfig.cpp:1865 -msgid "mm or % (leave 0 for default)" -msgstr "мм або % (залиште 0 за замовчанням)" +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:316 -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." -msgstr "" -"Цей окремий параметр впливає на швидкість зовнішніх периметрів (видимих). " -"Якщо вона виражена у відсотках (наприклад: 80%), вона буде розрахована на " -"налаштування швидкості периметра вище. Встановити 0 для автоматичного " -"використання." - -#: xs/src/libslic3r/PrintConfig.cpp:319 xs/src/libslic3r/PrintConfig.cpp:716 -#: xs/src/libslic3r/PrintConfig.cpp:1503 xs/src/libslic3r/PrintConfig.cpp:1554 -#: xs/src/libslic3r/PrintConfig.cpp:1749 xs/src/libslic3r/PrintConfig.cpp:1877 -msgid "mm/s or %" -msgstr "мм/с або %" +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "Підключення до OctoPrint працює правильно." -#: xs/src/libslic3r/PrintConfig.cpp:326 -msgid "External perimeters first" -msgstr "Спочатку зовнішні периметри" +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:328 -msgid "" -"Print contour perimeters from the outermost one to the innermost one instead " -"of the default inverse order." +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." msgstr "" -"Друкувати контури периметра від найзовнішнього до найвнутрішнього, замість " -"інверсного порядку за замовчанням." -#: xs/src/libslic3r/PrintConfig.cpp:334 -msgid "Extra perimeters if needed" -msgstr "Додаткові периметри, якщо необхідно" +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:336 -#, no-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." +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" msgstr "" -"За необхідності додайте периметри, щоб уникнути прогалин у похилих стінах. " -"Slic3r продовжує додавати периметри, поки підтримується більше 70% петель " -"безпосередньо вище." -#: xs/src/libslic3r/PrintConfig.cpp:346 -msgid "" -"The extruder to use (unless more specific extruder settings are specified). " -"This value overrides perimeter and infill extruders, but not the support " -"extruders." +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" msgstr "" -"Використовуваний екструдер (якщо не вказано більш конкретні параметри " -"екструдера). Це значення перевизначає екструдери периметра та наповнювача, " -"але не екструдери підтримки." -#: xs/src/libslic3r/PrintConfig.cpp:358 lib/Slic3r/GUI/Plater/3DPreview.pm:75 -msgid "Height" -msgstr "Висота" +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:359 -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." +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" msgstr "" -"Установіть значення як вертикальну відстань між наконечником сопла та " -"(звичайно) шатунами X каретки. Іншими словами, це висота циліндра очищення " -"навколо вашого екструдера, і це являє собою максимальну глибину, яку " -"екструдер може розглядати до зіткнення з іншими друкованими предметами." -#: xs/src/libslic3r/PrintConfig.cpp:369 -msgid "Radius" -msgstr "Радіус" +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:370 -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." +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." msgstr "" -"Установіть значення як радіус зазорів навколо вашої екструдера. Якщо " -"екструдер не центрований, для безпеки виберіть найбільше значення . Цей " -"параметр використовується для перевірки зіткнень та відображення графічного " -"попереднього перегляду в панелі." -#: xs/src/libslic3r/PrintConfig.cpp:380 -msgid "Extruder Color" -msgstr "Колір екструдера" +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:381 xs/src/libslic3r/PrintConfig.cpp:444 -msgid "This is only used in the Slic3r interface as a visual help." +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." msgstr "" -"Ця опція використовується лише у інтерфейсі Slic3r як візуальна допомога." -#: xs/src/libslic3r/PrintConfig.cpp:388 -msgid "Extruder offset" -msgstr "Зміщення екструдеру" +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:389 -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)." +#: 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 "" -"Якщо ваша прошивка не справляється з витісненням екструдера, вам потрібен G-" -"код, щоб врахувати це. Ця опція дозволяє вказати зміщення кожного екструдера " -"відносно першого. Він очікує позитивних координат (вони будуть віднімані від " -"координати XY)." -#: xs/src/libslic3r/PrintConfig.cpp:398 -msgid "Extrusion axis" -msgstr "Ось екструзії" +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:399 -msgid "" -"Use this option to set the axis letter associated to your printer's extruder " -"(usually E but some printers use A)." +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." msgstr "" -"Використовуйте цю опцію, щоб встановити букву осей, пов'язану з екструдером " -"принтера (зазвичай E, але деякі принтери використовують A)." -#: xs/src/libslic3r/PrintConfig.cpp:405 -msgid "Extrusion multiplier" -msgstr "Коефіцієнт екструзії" +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:406 -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." -msgstr "" -"Цей фактор пропорційно змінює величину потоку. Вам може знадобитися " -"налаштувати цей параметр, щоб отримати хорошу обробку поверхні та правильно " -"визначити ширину однієї стіни. Звичайні значення - від 0,9 до 1,1. Якщо ви " -"вважаєте, що його потрібно більше змінити, перевірте діаметр нитки та E " -"кроки прошивки ." - -#: xs/src/libslic3r/PrintConfig.cpp:414 -msgid "Default extrusion width" -msgstr "Ширина екструзії за замовчанням" +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:416 -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." -msgstr "" -"Установіть ненульове значення, щоб дозволити ручне налаштування ширини " -"екструзії. Якщо залишити як 0, Slic3r отримує ширину екструзії від діаметра " -"сопла (див. Підказки для ширини екструзії периметру, ширини екструзії " -"наповнювача тощо). Якщо значення виражене у відсотках (наприклад: 230%), " -"воно буде обчислюватися за висотою шару." - -#: xs/src/libslic3r/PrintConfig.cpp:420 -msgid "mm or % (leave 0 for auto)" -msgstr "мм або % (залиште 0 для автообчислення)" +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:425 -msgid "Keep fan always on" -msgstr "Тримайте вентилятор завжди" +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:426 -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." +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" msgstr "" -"Якщо ця опція ввімкнена, вентилятор ніколи не буде відключений і буде " -"триматися, як мінімум, на мінімальній швидкості. Корисно для PLA, шкідливо " -"для ABS." -#: xs/src/libslic3r/PrintConfig.cpp:432 -msgid "Enable fan if layer print time is below" -msgstr "Увімкнути вентилятор, якщо час друку шару нижче" +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:433 -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." +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" msgstr "" -"Якщо час друку шару оцінюється нижче цієї кількості секунд, вентилятор буде " -"активований, а його швидкість буде розрахована шляхом інтерполяції " -"мінімальної та максимальної швидкості." -#: xs/src/libslic3r/PrintConfig.cpp:435 xs/src/libslic3r/PrintConfig.cpp:1490 -msgid "approximate seconds" -msgstr "приблизні секунди" +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:443 -msgid "Color" -msgstr "Колір" +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:450 -msgid "Filament notes" -msgstr "Примітки до філаменту" +#: src/libslic3r/Print.cpp:1216 +msgid "Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:451 -msgid "You can put your notes regarding the filament here." -msgstr "Тут ви можете помістити свої нотатки щодо філаменту." +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:459 xs/src/libslic3r/PrintConfig.cpp:1025 -msgid "Max volumetric speed" -msgstr "Максимальна об'ємна швидкість" +#: src/libslic3r/Print.cpp:1228 +msgid "The Spiral Vase option can only be used when printing single material objects." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:460 -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." +#: src/libslic3r/Print.cpp:1234 +msgid "All extruders must have the same diameter for single extruder multimaterial printer." msgstr "" -"Максимальна об'ємна швидкість, припустима для цього філаметну. Обмежує " -"максимальну об'ємну швидкість друку до мінімуму об'ємної швидкості друку та " -"філаметну. Встановити 0 для відсутності обмежень." -#: xs/src/libslic3r/PrintConfig.cpp:463 xs/src/libslic3r/PrintConfig.cpp:1028 -msgid "mm³/s" -msgstr "мм³/с" +#: src/libslic3r/Print.cpp:1239 +msgid "The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter and Repetier G-code flavors." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:469 -msgid "Loading speed" +#: src/libslic3r/Print.cpp:1241 +msgid "The Wipe Tower is currently only supported with the relative extruder addressing (use_relative_e_distances=1)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:470 -msgid "Speed used for loading the filament on the wipe tower. " +#: src/libslic3r/Print.cpp:1253 +msgid "The Wipe Tower is only supported for multiple objects if they have equal layer heigths" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:477 -msgid "Unloading speed" +#: src/libslic3r/Print.cpp:1255 +msgid "The Wipe Tower is only supported for multiple objects if they are printed over an equal number of raft layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:478 -msgid "" -"Speed used for unloading the filament on the wipe tower (does not affect " -"initial part of unloading just after ramming). " +#: src/libslic3r/Print.cpp:1257 +msgid "The Wipe Tower is only supported for multiple objects if they are printed with the same support_material_contact_distance" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:486 -msgid "Delay after unloading" +#: src/libslic3r/Print.cpp:1259 +msgid "The Wipe Tower is only supported for multiple objects if they are sliced equally." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:487 -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. " +#: src/libslic3r/Print.cpp:1281 +msgid "The Wipe tower is only supported if all objects have the same layer height profile" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:496 -msgid "Number of cooling moves" +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:497 -msgid "" -"Filament is cooled by being moved back and forth in the cooling tubes. " -"Specify desired number of these moves " +#: src/libslic3r/Print.cpp:1307 +msgid "One or more object were assigned an extruder that the printer does not have." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:505 -msgid "Speed of the first cooling move" +#: src/libslic3r/Print.cpp:1316 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:506 -msgid "Cooling moves are gradually accelerating beginning at this speed. " +#: src/libslic3r/Print.cpp:1324 +msgid "For the Wipe Tower to work with the soluble supports, the support layers need to be synchronized with the object layers." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:513 -msgid "Speed of the last cooling move" +#: src/libslic3r/Print.cpp:1328 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:514 -msgid "Cooling moves are gradually accelerating towards this speed. " +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:521 -msgid "Ramming parameters" +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:522 -msgid "" -"This string is edited by RammingDialog and contains ramming specific " -"parameters " +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:529 -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." +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" msgstr "" -"Введіть тут діаметр свого філаменту. Необхідна висока точність, тому " -"використовуйте суматор і виконайте декілька вимірювань вздовж нитки, потім " -"обчисліть середнє значення." -#: xs/src/libslic3r/PrintConfig.cpp:537 -msgid "Density" -msgstr "Щільність" +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "Форма полотна" -#: xs/src/libslic3r/PrintConfig.cpp:538 -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." +#: src/libslic3r/PrintConfig.cpp:48 +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:56 +msgid "Max print height" msgstr "" -"Введіть тут щільність свого філаменту. Це тільки для статистичної " -"інформації. Пристойним способом є зважування відомої довжини нитки та " -"обчислення співвідношення довжини до обсягу. Краще обчислити об'єм " -"безпосередньо через зміщення." -#: xs/src/libslic3r/PrintConfig.cpp:541 -msgid "g/cm³" -msgstr "г/см³" +#: src/libslic3r/PrintConfig.cpp:57 +msgid "Set this to the maximum height that can be reached by your extruder while printing." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:547 -msgid "Filament type" -msgstr "Тип філаменту" +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "Уникати перетинання периметрів" -#: xs/src/libslic3r/PrintConfig.cpp:548 xs/src/libslic3r/PrintConfig.cpp:1235 -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." -msgstr "" -"Якщо ви хочете обробляти вихідний G-код через власні сценарії, просто " -"перелічіть тут їх абсолютні шляхи. Кілька скриптів відокремте крапкою з " -"комою. Сценарії буде передано абсолютним шляхам до файлу G-коду як перший " -"аргумент, і вони можуть отримати доступ до параметрів конфігурації Slic3r, " -"прочитавши змінні середовища." - -#: xs/src/libslic3r/PrintConfig.cpp:567 -msgid "Soluble material" -msgstr "Розчинний матеріал" +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "Оптимізуйте рухи пересувань, щоб мінімізувати перетин периметрів. В основному це корисно для екструдерів Bowden, які страждають від протікання. Ця функція уповільнює як друк, так і генерацію G-коду." -#: xs/src/libslic3r/PrintConfig.cpp:568 -msgid "Soluble material is most likely used for a soluble support." -msgstr "Розчинний матеріал переважно використовується для розчинної підтримки." +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "Інші шари" -#: xs/src/libslic3r/PrintConfig.cpp:573 lib/Slic3r/GUI/Plater.pm:1616 -msgid "Cost" -msgstr "Вартість" +#: src/libslic3r/PrintConfig.cpp:83 +msgid "Bed temperature for layers after the first one. Set this to zero to disable bed temperature control commands in the output." +msgstr "Температура полотна для останніх шарів після першого. Установіть 0, щоб відключити команди керування температурою полотна на виході." -#: xs/src/libslic3r/PrintConfig.cpp:574 -msgid "" -"Enter your filament cost per kg here. This is only for statistical " -"information." -msgstr "" -"Введіть тут свою вартість філаменту на кг. Це тільки для статистичної " -"інформації." +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "Температура полотна" -#: xs/src/libslic3r/PrintConfig.cpp:575 -msgid "money/kg" -msgstr "грошових одиниць/кг" +#: src/libslic3r/PrintConfig.cpp:93 +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. Зауважте, що ви можете використовувати змінні-заповнювачі для всіх параметрів Slic3r, а також [layer_num] і [layer_z]." -#: xs/src/libslic3r/PrintConfig.cpp:584 -msgid "Fill angle" -msgstr "Кут наповнення" +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "G-код між об'єктами" -#: xs/src/libslic3r/PrintConfig.cpp:586 -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." -msgstr "" -"Основний кут орієнтації наповнення за замовчуванням. Для цього буде " -"застосовуватися крос-штрих. Мости будуть заповнені, використовуючи найкращий " -"напрям, який може виявити Slic3r, тому цей параметр на них не впливає." +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "Цей код вставляється між об'єктами при використанні послідовного друку. За замовчуванням екструдер і температура полотна скидаються за допомогою команди non-wait; однак, якщо в цьому користувальному коді виявляються M104, M109, M140 або M190, Slic3r не додаватиме команди температури. Зверніть увагу, що ви можете використовувати змінні-заповнювачі для всіх параметрів Slic3r, то ж ви можете вставити команду \"M109 S [first_layer_temperature]\" де завгодно." -#: xs/src/libslic3r/PrintConfig.cpp:598 -msgid "Fill density" -msgstr "Щільність заповнення" +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "Нижні" -#: xs/src/libslic3r/PrintConfig.cpp:600 -#, no-c-format -msgid "Density of internal infill, expressed in the range 0% - 100%." -msgstr "Щільність внутрішнього заповнення, виражена в діапазоні 0% - 100%." +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "Кількість суцільних шарів, генерованих на нижніх поверхнях." -#: xs/src/libslic3r/PrintConfig.cpp:636 -msgid "Fill pattern" -msgstr "Шаблон заповнення" +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "Нижні суцільні шари" -#: xs/src/libslic3r/PrintConfig.cpp:638 -msgid "Fill pattern for general low-density infill." -msgstr "Шаблон заповнення для загального низько-швидкісного наповнення." +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "Міст" -#: xs/src/libslic3r/PrintConfig.cpp:655 -msgid "Grid" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:124 +msgid "This is the acceleration your printer will use for bridges. Set zero to disable acceleration control for bridges." +msgstr "Це прискорення, яке ваш принтер використовуватиме для мостів. Встановити 0, щоб відключити управління прискоренням для мостів." -#: xs/src/libslic3r/PrintConfig.cpp:656 -msgid "Triangles" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "мм/с²" -#: xs/src/libslic3r/PrintConfig.cpp:657 -msgid "Stars" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "Кут моста" -#: xs/src/libslic3r/PrintConfig.cpp:658 -msgid "Cubic" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "Зміна кута мосту. Якщо встановити на 0, кут мостів буде розрахований автоматично. Інакше передбачений кут буде використаний для всіх мостів. Використовуйте 180° для нульового кута." -#: xs/src/libslic3r/PrintConfig.cpp:659 -msgid "Line" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "°" -#: xs/src/libslic3r/PrintConfig.cpp:661 xs/src/libslic3r/PrintConfig.cpp:1766 -msgid "Honeycomb" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "Швидкість вентилятора для мостів" -#: xs/src/libslic3r/PrintConfig.cpp:662 -msgid "3D Honeycomb" +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "Ця швидкість вентилятора виконується для всіх мостів і виступів." + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "%" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "Співвідношення мостового потоку" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "Цей фактор впливає на кількість пластику для мостів. Ви можете трохи зменшити його, щоб витягнути екструдати та не допустити провисання, хоча стандартні налаштування зазвичай добрі, тому ви маете по-експериментувати з охолодженням (використовуйте вентилятор), перш ніж їх налаштувати." + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "Мости" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "Швидкість друку мостів." + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "мм/с" + +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "Ширина краю" + +#: src/libslic3r/PrintConfig.cpp:179 +msgid "Horizontal width of the brim that will be printed around each object on the first layer." +msgstr "Горизонтальна ширина краю, яка буде надрукована навколо кожного об'єкта на першому шарі." + +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "Обрізати об'єкти, що складаються з кількох частин" + +#: src/libslic3r/PrintConfig.cpp:188 +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:196 +msgid "Colorprint height" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:663 -msgid "Gyroid" +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:670 xs/src/libslic3r/PrintConfig.cpp:679 -#: xs/src/libslic3r/PrintConfig.cpp:688 xs/src/libslic3r/PrintConfig.cpp:722 -msgid "First layer" -msgstr "Перший шар" +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "Стан сумісних принтерів" -#: xs/src/libslic3r/PrintConfig.cpp:671 -msgid "" -"This is the acceleration your printer will use for first layer. Set zero to " -"disable acceleration control for first layer." +#: src/libslic3r/PrintConfig.cpp:208 +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 "Логічний вираз, що використовує значення конфігурації активного профілю принтера. Якщо цей вираз оцінюється як Правда, цей профіль вважається сумісним з активним профілем принтера." + +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" msgstr "" -"Це прискорення, яке ваш принтер використовуватиме для першого шару. " -"Встановити 0, щоб вимкнути керування прискоренням для першого шару." -#: xs/src/libslic3r/PrintConfig.cpp:680 -msgid "" -"Heated build plate temperature for the first layer. Set this to zero to " -"disable bed temperature control commands in the output." +#: src/libslic3r/PrintConfig.cpp:221 +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 "" -"Температура підігрітої збірної пластини для першого шару. Установіть 0, щоб " -"відключити команди керування температурою полотна на виході." -#: xs/src/libslic3r/PrintConfig.cpp:690 -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." -msgstr "" -"Встановіть ненульове значення, щоб встановити ручну ширину екструзії для " -"першого шару. Ви можете використовувати цю опцію з метою навмисного " -"пом'якшення екструдату для кращої адгезії. Якщо вона виражена у відсотках " -"(наприклад, 120%), вона буде обчислена за висотою першого шару. Якщо " -"встановлено на 0 - використовуватиме стандартну ширину екструзії." - -#: xs/src/libslic3r/PrintConfig.cpp:700 -msgid "First layer height" -msgstr "Висота першого шару" +#: src/libslic3r/PrintConfig.cpp:235 +msgid "Complete individual objects" +msgstr "Закінчити окремі об'єкти" + +#: src/libslic3r/PrintConfig.cpp:236 +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 "Під час друку декількох об'єктів або копій ця функція забезпечить завершення кожного об'єкту, перш ніж переходити до наступного (і почине його з нижнього шару). Ця функція корисна для уникнення ризику зіпсованих відбитків. Slic3r має попередити та запобігти зіткненню екструдера, але будьте обережні." -#: xs/src/libslic3r/PrintConfig.cpp:702 -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." -msgstr "" -"Під час друку з дуже низькими висотами шару ви, можливо, все-таки захочете " -"надрукувати більш товстий нижній шар, щоб поліпшити адгезію та толерантність " -"до невідповідних збірних пластин. Можна виразити як абсолютне значення або " -"як відсоток (наприклад: 150%) по висоті шару за замовчуванням." - -#: xs/src/libslic3r/PrintConfig.cpp:706 xs/src/libslic3r/PrintConfig.cpp:837 -#: xs/src/libslic3r/PrintConfig.cpp:1638 -msgid "mm or %" -msgstr "мм або %" +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "Увімкнути автоматичне охолодження" -#: xs/src/libslic3r/PrintConfig.cpp:712 -msgid "First layer speed" -msgstr "Швидкість першого шару" +#: src/libslic3r/PrintConfig.cpp:246 +msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." +msgstr "Цей прапорець дозволяє автоматичну логіку охолодження, яка регулює швидкість друку та швидкість вентиляції відповідно до часу друку шару." -#: xs/src/libslic3r/PrintConfig.cpp:713 -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." +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" msgstr "" -"Якщо вона виражена в абсолютному значенні в мм/с, ця швидкість буде " -"застосована до всіх рухів друку першого шару незалежно від їх типу. Якщо " -"вона виражена у відсотках (наприклад: 40%), вона буде масштабувати швидкість " -"за замовчуванням." -#: xs/src/libslic3r/PrintConfig.cpp:723 -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." +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " msgstr "" -"Температура екструдеру для першого шару. Якщо ви хочете контролювати " -"температуру вручну під час друку, встановіть 0, щоб вимкнути команди " -"керування температурою у вихідному файлі." -#: xs/src/libslic3r/PrintConfig.cpp:731 -#: xs/src/libslic3r/GCode/PreviewData.cpp:170 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:97 -msgid "Gap fill" -msgstr "Заповнення розриву" +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:733 -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." +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " msgstr "" -"Швидкість для заповнення невеликих розривів за допомогою коротких " -"зигзагоподібних рухів. Дотримуйтесь достатньо низьких значень, щоб уникнути " -"надмірних потрясінь та резонансних проблем. Встановити 0, щоб вимкнути " -"заповнення розривів." -#: xs/src/libslic3r/PrintConfig.cpp:741 -msgid "Verbose G-code" -msgstr "Докладний G-код" +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "Це прискорення, на яке переключиться ваш принтер після того, як будуть використані конкретні визначені прискорення (периметру / заповнення). Встановити 0, щоб запобігти скиданням прискорення взагалі." -#: xs/src/libslic3r/PrintConfig.cpp:742 -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." +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" msgstr "" -"Увімкніть для отримання коментованого файлу G-коду, причому кожен рядок " -"пояснюється описовим текстом. Якщо ви друкуєте з SD-карти, додаткова вага " -"файлу може призвести до уповільнення прошивки." - -#: xs/src/libslic3r/PrintConfig.cpp:749 -msgid "G-code flavor" -msgstr "Особливість G-коду" -#: xs/src/libslic3r/PrintConfig.cpp:750 -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." +#: src/libslic3r/PrintConfig.cpp:282 +msgid "Default filament profile associated with the current printer profile. On selection of the current printer profile, this filament profile will be activated." msgstr "" -"Деякі команди G/M-коду, включаючи контроль температури тощо, не є " -"універсальними. Установіть цей параметр на прошивку принтера, щоб отримати " -"сумісний вихід. \"Відсутність екструзії\" не дозволяє Slic3r експортувати " -"будь-яке значення екструзії." -#: xs/src/libslic3r/PrintConfig.cpp:774 -msgid "No extrusion" +#: src/libslic3r/PrintConfig.cpp:287 +msgid "Default print profile" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:779 -msgid "" -"This is the acceleration your printer will use for infill. Set zero to " -"disable acceleration control for infill." +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +msgid "Default print profile associated with the current printer profile. On selection of the current printer profile, this print profile will be activated." msgstr "" -"Це прискорення, яке ваш принтер використовуватиме для наповнення. Встановити " -"0, щоб вимкнути регулятор прискорення для заповнення." -#: xs/src/libslic3r/PrintConfig.cpp:787 -msgid "Combine infill every" -msgstr "Об'єднати наповнення кожні" +#: src/libslic3r/PrintConfig.cpp:293 +msgid "Disable fan for the first" +msgstr "Вимкнути вентилятор для першого(их)" -#: xs/src/libslic3r/PrintConfig.cpp:789 -msgid "" -"This feature allows to combine infill and speed up your print by extruding " -"thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "" -"Ця функція дозволяє поєднувати наповнення та прискорити друк, екструдуючи " -"більш товсті шари наповнення, зберігаючи тонкі периметри, а отже, і точністю." +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "Ви можете встановити це позитивне значення, щоб взагалі вимкнути вентилятор протягом друку декількох перших шарів, щоб це не призвело до гіршого зчеплення." -#: xs/src/libslic3r/PrintConfig.cpp:793 -msgid "Combine infill every n layers" -msgstr "Об'єднати наповнення кожні n шарів" +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "шару(ів)" -#: xs/src/libslic3r/PrintConfig.cpp:798 -msgid "Infill extruder" -msgstr "Наповнювач екструдера" +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "Не підтримувати мости" -#: xs/src/libslic3r/PrintConfig.cpp:800 -msgid "The extruder to use when printing infill." -msgstr "Екструдер, використовуваний під час друку наповнення." +#: src/libslic3r/PrintConfig.cpp:306 +msgid "Experimental option for preventing support material from being generated under bridged areas." +msgstr "Експериментальний варіант для запобігання утворенню допоміжного матеріалу в областях під мостами." -#: xs/src/libslic3r/PrintConfig.cpp:808 -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." -msgstr "" -"Встановіть значення як ненульове, щоб встановити ручну ширину екструзії для " -"наповнення. Якщо залишити 0, ширина екструзії за замовчуванням буде " -"використана, якщо встановлено, інакше буде використано 1,125 x діаметр " -"сопла. Можливо, ви захочете використовувати більш товсті екструди, щоб " -"прискорити наповнення та зміцнити свої деталі. Якщо він виражений у " -"відсотках (наприклад, 90%), він буде обчислюватися за висотою шару." - -#: xs/src/libslic3r/PrintConfig.cpp:817 -msgid "Infill before perimeters" -msgstr "Заповнення перед периметрами" +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "Відстань між копіями" -#: xs/src/libslic3r/PrintConfig.cpp:818 -msgid "" -"This option will switch the print order of perimeters and infill, making the " -"latter first." -msgstr "" -"За допомогою цього параметра можна буде змінити порядок друку периметрів та " -"наповнювачів, зробивши останнє першим." +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "Відстань використовується для автоматичного розташування платеру." -#: xs/src/libslic3r/PrintConfig.cpp:823 -msgid "Only infill where needed" -msgstr "Заповнити тільки там, де потрібно" +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "Зрівноваження Стопи слона" -#: xs/src/libslic3r/PrintConfig.cpp:825 -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." -msgstr "" -"Ця опція обмежить заповнення областей, фактично необхідних для підтримки " -"стель (це буде діяти як внутрішній матеріал підтримки). Якщо це ввімкнено, " -"сповільнюється генерація G-коду через декілька перевірок." +#: src/libslic3r/PrintConfig.cpp:324 +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-го шару." -#: xs/src/libslic3r/PrintConfig.cpp:832 -msgid "Infill/perimeters overlap" -msgstr "Перекриття наповнення/периметрів" +#: src/libslic3r/PrintConfig.cpp:334 +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." -#: xs/src/libslic3r/PrintConfig.cpp:834 -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." -msgstr "" -"Цей параметр застосовує додаткове перекриття між заповненням та периметрами " -"для кращого зчеплення. Теоретично це не повинно бути необхідним, але люфт " -"може спричинити розриви. Якщо він виражений у відсотках (приклад: 15%), його " -"розраховують за шириною екструзії по периметру." +#: src/libslic3r/PrintConfig.cpp:345 +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 обробляється в порядку екструдерів." -#: xs/src/libslic3r/PrintConfig.cpp:845 -msgid "Speed for printing the internal fill. Set to zero for auto." -msgstr "" -"Швидкість друку внутрішнього заповнення. Встановити 0 для автоматичного " -"обчислення." +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "Перевірте товщину вертикальної оболонки" -#: xs/src/libslic3r/PrintConfig.cpp:854 -msgid "Inherits profile" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:358 +msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)." +msgstr "Додайте суцільні наповнювачі біля нахилених поверхонь, щоб гарантувати товщину вертикальної оболонки (верхній і нижній суцільні шари)." -#: xs/src/libslic3r/PrintConfig.cpp:855 -msgid "Name of the profile, from which this profile inherits." -msgstr "" +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "Верхній/нижній шаблон наповнення" -#: xs/src/libslic3r/PrintConfig.cpp:866 -msgid "Interface shells" -msgstr "Інтерфейсні оболонки" +#: src/libslic3r/PrintConfig.cpp:367 +msgid "Fill pattern for top/bottom infill. This only affects the external visible layer, and not its adjacent solid shells." +msgstr "Шаблон для верхнього/нижнього наповнення. Це впливає лише на зовнішній видимий шар, а не на сусідні суцільні оболонки." -#: xs/src/libslic3r/PrintConfig.cpp:867 -msgid "" -"Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual " -"soluble support material." +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" msgstr "" -"Примусове створення суцільної оболонки між суміжними матеріалами/обсягами. " -"Корисно для друку з багатьма екструдерами з напівпрозорими матеріалами або " -"ручним розчинним матеріалом для підтримки." -#: xs/src/libslic3r/PrintConfig.cpp:876 -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]." +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" msgstr "" -"Цей користувацький код вставляється при кожній зміні шару відразу після " -"переміщення Z і перед тим, як екструдер переміститься до точки першого шару. " -"Зауважте, що ви можете використовувати змінні-заповнювачі для всіх " -"параметрів Slic3r, а також [layer_num] і [layer_z]." -#: xs/src/libslic3r/PrintConfig.cpp:888 -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." +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" msgstr "" -"Цей параметр визначає висоту (і, таким чином, загальну кількість) шарів. " -"Тонкі шари забезпечують більшу точність, але для друку потрібно більше часу." -#: xs/src/libslic3r/PrintConfig.cpp:896 -msgid "Support silent mode" +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:897 -msgid "Set silent mode for the G-code flavor" +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:919 -#, c-format -msgid "Maximum feedrate %1%" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "Зовнішні периметри" -#: xs/src/libslic3r/PrintConfig.cpp:921 -#, c-format -msgid "Maximum feedrate of the %1% axis" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "Встановіть значення ненульовим, щоб встановити ручну ширину екструзії для зовнішніх периметрів. Якщо залишити 0, ширина екструзії за замовчуванням буде використана, якщо встановлено, інакше буде використано 1,125 x діаметр сопла. Якщо він виражений у відсотках (наприклад, 200%), він буде обчислюватися за висотою шару." -#: xs/src/libslic3r/PrintConfig.cpp:928 -#, c-format -msgid "Maximum acceleration %1%" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "мм або % (залиште 0 за замовчанням)" -#: xs/src/libslic3r/PrintConfig.cpp:930 -#, c-format -msgid "Maximum acceleration of the %1% axis" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "Цей окремий параметр впливає на швидкість зовнішніх периметрів (видимих). Якщо вона виражена у відсотках (наприклад: 80%), вона буде розрахована на налаштування швидкості периметра вище. Встановити 0 для автоматичного використання." -#: xs/src/libslic3r/PrintConfig.cpp:937 -#, c-format -msgid "Maximum jerk %1%" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "мм/с або %" -#: xs/src/libslic3r/PrintConfig.cpp:939 -#, c-format -msgid "Maximum jerk of the %1% axis" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "Спочатку зовнішні периметри" -#: xs/src/libslic3r/PrintConfig.cpp:949 xs/src/libslic3r/PrintConfig.cpp:951 -msgid "Minimum feedrate when extruding" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:411 +msgid "Print contour perimeters from the outermost one to the innermost one instead of the default inverse order." +msgstr "Друкувати контури периметра від найзовнішнього до найвнутрішнього, замість інверсного порядку за замовчанням." -#: xs/src/libslic3r/PrintConfig.cpp:959 xs/src/libslic3r/PrintConfig.cpp:961 -msgid "Minimum travel feedrate" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "Додаткові периметри, якщо необхідно" -#: xs/src/libslic3r/PrintConfig.cpp:969 xs/src/libslic3r/PrintConfig.cpp:971 -msgid "Maximum acceleration when extruding" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "За необхідності додайте периметри, щоб уникнути прогалин у похилих стінах. Slic3r продовжує додавати периметри, поки підтримується більше 70% петель безпосередньо вище." -#: xs/src/libslic3r/PrintConfig.cpp:979 xs/src/libslic3r/PrintConfig.cpp:981 -msgid "Maximum acceleration when retracting" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:431 +msgid "The extruder to use (unless more specific extruder settings are specified). This value overrides perimeter and infill extruders, but not the support extruders." +msgstr "Використовуваний екструдер (якщо не вказано більш конкретні параметри екструдера). Це значення перевизначає екструдери периметра та наповнювача, але не екструдери підтримки." -#: xs/src/libslic3r/PrintConfig.cpp:988 xs/src/libslic3r/PrintConfig.cpp:997 -msgid "Max" -msgstr "Максимально" +#: src/libslic3r/PrintConfig.cpp:444 +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." +msgstr "Установіть значення як вертикальну відстань між наконечником сопла та (звичайно) шатунами X каретки. Іншими словами, це висота циліндра очищення навколо вашого екструдера, і це являє собою максимальну глибину, яку екструдер може розглядати до зіткнення з іншими друкованими предметами." -#: xs/src/libslic3r/PrintConfig.cpp:989 -msgid "This setting represents the maximum speed of your fan." -msgstr "Цей параметр відображає максимальну швидкість вашого вентилятора." +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "Радіус" -#: xs/src/libslic3r/PrintConfig.cpp:998 -#, no-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." -msgstr "" -"Це найбільша висота друкованого шару для цього екструдера, що " -"використовується для обмеження висоти змінного шару та висоти підтримуючого " -"шару. Максимальна рекомендована висота шару становить 75% ширини екструзії " -"для досягнення розумної міжшарової адгезії. Якщо встановлено 0, висота шару " -"обмежена 75% діаметра сопла." - -#: xs/src/libslic3r/PrintConfig.cpp:1008 -msgid "Max print height" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "Установіть значення як радіус зазорів навколо вашої екструдера. Якщо екструдер не центрований, для безпеки виберіть найбільше значення . Цей параметр використовується для перевірки зіткнень та відображення графічного попереднього перегляду в панелі." -#: xs/src/libslic3r/PrintConfig.cpp:1009 -msgid "" -"Set this to the maximum height that can be reached by your extruder while " -"printing." -msgstr "" +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "Колір екструдера" -#: xs/src/libslic3r/PrintConfig.cpp:1015 -msgid "Max print speed" -msgstr "Максимальна швидкість друку" +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "Ця опція використовується лише у інтерфейсі Slic3r як візуальна допомога." -#: xs/src/libslic3r/PrintConfig.cpp:1016 -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." -msgstr "" -"При встановленні інших параметрів швидкості до 0, Slic3r буде автоматично " -"обчислювати оптимальну швидкість, щоб підтримувати постійний тиск " -"екструдера. Цей експериментальний параметр використовується для встановлення " -"максимальної швидкості друку, яку ви хочете дозволити." +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "Зміщення екструдеру" -#: xs/src/libslic3r/PrintConfig.cpp:1026 -msgid "" -"This experimental setting is used to set the maximum volumetric speed your " -"extruder supports." -msgstr "" -"Цей експериментальний параметр використовується для встановлення " -"максимальної об'ємної швидкості, яку підтримує екструдер." +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "Якщо ваша прошивка не справляється з витісненням екструдера, вам потрібен G-код, щоб врахувати це. Ця опція дозволяє вказати зміщення кожного екструдера відносно першого. Він очікує позитивних координат (вони будуть віднімані від координати XY)." -#: xs/src/libslic3r/PrintConfig.cpp:1034 -msgid "Max volumetric slope positive" -msgstr "Максимальний об'ємний нахил позитивний" +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "Ось екструзії" -#: xs/src/libslic3r/PrintConfig.cpp:1035 xs/src/libslic3r/PrintConfig.cpp:1046 -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." -msgstr "" -"Цей експериментальний параметр використовується для обмеження швидкості " -"зміни швидкості екструзії. Значення 1,8 мм³/с² гарантує, що зміна швидкості " -"екструзії 1,8 мм³/с (ширина екструзії 0,45 мм, висота екструзії 0,2 мм, " -"швидкість подачі 20 мм/с) до 5,4 мм³/с (подача 60 мм/с) займе принаймні 2 " -"секунди." - -#: xs/src/libslic3r/PrintConfig.cpp:1039 xs/src/libslic3r/PrintConfig.cpp:1050 -msgid "mm³/s²" -msgstr "мм³/с²" +#: src/libslic3r/PrintConfig.cpp:487 +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)." -#: xs/src/libslic3r/PrintConfig.cpp:1045 -msgid "Max volumetric slope negative" -msgstr "Максимальний об'ємний схил негативний" +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "Коефіцієнт екструзії" -#: xs/src/libslic3r/PrintConfig.cpp:1056 xs/src/libslic3r/PrintConfig.cpp:1065 -msgid "Min" -msgstr "Мінімально" +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "Цей фактор пропорційно змінює величину потоку. Вам може знадобитися налаштувати цей параметр, щоб отримати хорошу обробку поверхні та правильно визначити ширину однієї стіни. Звичайні значення - від 0,9 до 1,1. Якщо ви вважаєте, що його потрібно більше змінити, перевірте діаметр нитки та E кроки прошивки ." -#: xs/src/libslic3r/PrintConfig.cpp:1057 -msgid "This setting represents the minimum PWM your fan needs to work." -msgstr "" -"Цей параметр відповідає мінімальній ШІМ, на якій повинен працювати ваш " -"вентилятор." +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "Ширина екструзії за замовчанням" -#: xs/src/libslic3r/PrintConfig.cpp:1066 -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." -msgstr "" -"Це найменша висота друкованого шару для цього екструдера та обмежує " -"роздільну здатність для висоти змінного шару. Типові значення - від 0,05 мм " -"до 0,1 мм." +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "Установіть ненульове значення, щоб дозволити ручне налаштування ширини екструзії. Якщо залишити як 0, Slic3r отримує ширину екструзії від діаметра сопла (див. Підказки для ширини екструзії периметру, ширини екструзії наповнювача тощо). Якщо значення виражене у відсотках (наприклад: 230%), воно буде обчислюватися за висотою шару." -#: xs/src/libslic3r/PrintConfig.cpp:1074 -msgid "Min print speed" -msgstr "Мінімальна швидкість друку" +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "мм або % (залиште 0 для автообчислення)" -#: xs/src/libslic3r/PrintConfig.cpp:1075 -msgid "Slic3r will not scale speed down below this speed." -msgstr "Slic3r не буде масштабувати швидкість нижче цієї швидкості." +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "Тримайте вентилятор завжди" -#: xs/src/libslic3r/PrintConfig.cpp:1082 -msgid "Minimal filament extrusion length" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "Якщо ця опція ввімкнена, вентилятор ніколи не буде відключений і буде триматися, як мінімум, на мінімальній швидкості. Корисно для PLA, шкідливо для ABS." -#: xs/src/libslic3r/PrintConfig.cpp:1083 -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." -msgstr "" -"Створити не менше кількості петель плінтусу, необхідних для споживання " -"зазначеної кількості філаменту на нижньому шарі. Для машин із декількома " -"екструдерами цей мінімум застосовується до кожного екструдера." +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "Увімкнути вентилятор, якщо час друку шару нижче" -#: xs/src/libslic3r/PrintConfig.cpp:1092 -msgid "Configuration notes" -msgstr "Примітки до конфігурації" +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "Якщо час друку шару оцінюється нижче цієї кількості секунд, вентилятор буде активований, а його швидкість буде розрахована шляхом інтерполяції мінімальної та максимальної швидкості." -#: xs/src/libslic3r/PrintConfig.cpp:1093 -msgid "" -"You can put here your personal notes. This text will be added to the G-code " -"header comments." -msgstr "" -"Ви можете додати тут свої особисті примітки. Цей текст буде додано до " -"коментарів заголовка G-коду." +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "приблизні секунди" -#: xs/src/libslic3r/PrintConfig.cpp:1102 -msgid "Nozzle diameter" -msgstr "Діаметр сопла" +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "Колір" -#: xs/src/libslic3r/PrintConfig.cpp:1103 -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:541 +msgid "Filament notes" +msgstr "Примітки до філаменту" + +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "Тут ви можете помістити свої нотатки щодо філаменту." + +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "Максимальна об'ємна швидкість" -#: xs/src/libslic3r/PrintConfig.cpp:1109 -msgid "API Key" -msgstr "Ключ API" +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "Максимальна об'ємна швидкість, припустима для цього філаметну. Обмежує максимальну об'ємну швидкість друку до мінімуму об'ємної швидкості друку та філаметну. Встановити 0 для відсутності обмежень." -#: xs/src/libslic3r/PrintConfig.cpp:1110 -msgid "" -"Slic3r can upload G-code files to OctoPrint. This field should contain the " -"API Key required for authentication." +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "мм³/с" + +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" msgstr "" -"Slic3r може завантажувати файли G-коду в OctoPrint. Це поле має містити ключ " -"API, необхідний для аутентифікації." -#: xs/src/libslic3r/PrintConfig.cpp:1123 -msgid "Hostname, IP or URL" +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1124 -msgid "" -"Slic3r can upload G-code files to OctoPrint. This field should contain the " -"hostname, IP address or URL of the OctoPrint instance." +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1130 -msgid "Only retract when crossing perimeters" -msgstr "Перервати тільки у разі перетину периметрів" +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1131 -msgid "" -"Disables retraction when the travel path does not exceed the upper layer's " -"perimeters (and thus any ooze will be probably invisible)." +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" msgstr "" -"Вимикає переривання, коли шлях не перевищує периметри верхніх шарів (і, " -"таким чином, будь-який розрядник буде, мабуть, невидимим)." -#: xs/src/libslic3r/PrintConfig.cpp:1138 -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." +#: src/libslic3r/PrintConfig.cpp:581 +msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming). " msgstr "" -"Цей параметр знизить температуру неактивних екструдерів, щоб запобігти " -"протіканню. Це дозволить автоматично ввімкнути високий плінтус та " -"перемістить екструдери за межі такого плінтуса у разі зміни температури." -#: xs/src/libslic3r/PrintConfig.cpp:1145 -msgid "Output filename format" -msgstr "Формат вихідного файлу" +#: src/libslic3r/PrintConfig.cpp:590 +msgid "Unloading speed at the start" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1146 -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]." +#: src/libslic3r/PrintConfig.cpp:591 +msgid "Speed used for unloading the tip of the filament immediately after ramming. " msgstr "" -"Ви можете використовувати всі параметри конфігурації як змінні всередині " -"цього шаблону. Наприклад: [layer_height], [fill_density] тощо. Ви також " -"можете використовувати [timestamp], [year], [month], [day], [hour], " -"[minute], [second], [version], [input_filename] ], [input_filename_base]." -#: xs/src/libslic3r/PrintConfig.cpp:1155 -msgid "Detect bridging perimeters" -msgstr "Виявлення висячих периметрів" +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1157 -msgid "" -"Experimental option to adjust flow for overhangs (bridge flow will be used), " -"to apply bridge speed to them and enable fan." +#: src/libslic3r/PrintConfig.cpp:600 +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. " msgstr "" -"Експериментальний параметр для регулювання потоку для виступів (буде " -"використано мостовий потік), щоб застосувати до них швидкість мосту та " -"увімкнути вентилятор." -#: xs/src/libslic3r/PrintConfig.cpp:1163 -msgid "Filament parking position" +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1164 -msgid "" -"Distance of the extruder tip from the position where the filament is parked " -"when unloaded. This should match the value in printer firmware. " +#: src/libslic3r/PrintConfig.cpp:611 +msgid "Filament is cooled by being moved back and forth in the cooling tubes. Specify desired number of these moves " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1172 -msgid "Extra loading distance" +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1173 -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. " +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1181 xs/src/libslic3r/PrintConfig.cpp:1199 -#: xs/src/libslic3r/PrintConfig.cpp:1211 xs/src/libslic3r/PrintConfig.cpp:1221 -msgid "Perimeters" -msgstr "Периметри" +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1182 -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." +#: src/libslic3r/PrintConfig.cpp:630 +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." msgstr "" -"Це прискорення, яке ваш принтер використовуватиме для периметрів. Висока " -"значення, таке як 9000, зазвичай дає хороші результати, якщо ваше апаратне " -"забезпечення відповідає завданню. Встановити 0, щоб вимкнути регулятор " -"прискорення для периметрів." -#: xs/src/libslic3r/PrintConfig.cpp:1190 -msgid "Perimeter extruder" -msgstr "Екструдер периметру" +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1192 -msgid "" -"The extruder to use when printing perimeters and brim. First extruder is 1." +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" msgstr "" -"Екструдер, що використовується при друці периметрів і краю. Перший екструдер " -"- 1." -#: xs/src/libslic3r/PrintConfig.cpp:1201 -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." -msgstr "" -"Установіть значення ненульовим, щоб встановити ручну ширину екструзії для " -"периметрів. Ви можете використовувати більш тонкі екструди, щоб отримати " -"більш точні поверхні. Якщо залишити 0, буде використана ширина екструзії за " -"замовчуванням, в іншому випадку використовуватиметься значення 1,125 х " -"діаметр сопла. Якщо він виражений у відсотках (наприклад, 200%), він буде " -"обчислюватися за висотою шару." - -#: xs/src/libslic3r/PrintConfig.cpp:1213 -msgid "" -"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " msgstr "" -"Швидкість для периметрів (контури, вертикальні оболонки). Встановити 0 для " -"автоматичного використання." -#: xs/src/libslic3r/PrintConfig.cpp:1223 -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." +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" msgstr "" -"Ця опція визначає кількість периметрів для кожного шару. Зверніть увагу, що " -"Slic3r може автоматично збільшувати це число, коли виявляє похилі поверхні, " -"які отримують вигоду від більшої кількості периметрів, якщо опція «Додаткові " -"периметри» увімкнена." -#: xs/src/libslic3r/PrintConfig.cpp:1227 -msgid "(minimum)" -msgstr "(мінімум)" +#: src/libslic3r/PrintConfig.cpp:651 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1247 -msgid "Printer type" +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1248 -msgid "Type of the printer." +#: src/libslic3r/PrintConfig.cpp:660 +msgid "This string is edited by RammingDialog and contains ramming specific parameters " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1252 -msgid "Printer notes" -msgstr "Примітки принтера" +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:668 +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 "" + +#: src/libslic3r/PrintConfig.cpp:677 +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:685 +msgid "Density" +msgstr "Щільність" + +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "Введіть тут щільність свого філаменту. Це тільки для статистичної інформації. Пристойним способом є зважування відомої довжини нитки та обчислення співвідношення довжини до обсягу. Краще обчислити об'єм безпосередньо через зміщення." -#: xs/src/libslic3r/PrintConfig.cpp:1253 -msgid "You can put your notes regarding the printer here." -msgstr "Тут ви можете помістити свої нотатки щодо принтера." +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "г/см³" -#: xs/src/libslic3r/PrintConfig.cpp:1261 -msgid "Printer vendor" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "Тип філаменту" -#: xs/src/libslic3r/PrintConfig.cpp:1262 -msgid "Name of the printer vendor." +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1266 -msgid "Printer variant" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "Розчинний матеріал" -#: xs/src/libslic3r/PrintConfig.cpp:1267 -msgid "" -"Name of the printer variant. For example, the printer variants may be " -"differentiated by a nozzle diameter." -msgstr "" +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "Розчинний матеріал переважно використовується для розчинної підтримки." -#: xs/src/libslic3r/PrintConfig.cpp:1277 -msgid "Raft layers" -msgstr "Плоскі шари" +#: src/libslic3r/PrintConfig.cpp:719 +msgid "Enter your filament cost per kg here. This is only for statistical information." +msgstr "Введіть тут свою вартість філаменту на кг. Це тільки для статистичної інформації." -#: xs/src/libslic3r/PrintConfig.cpp:1279 -msgid "" -"The object will be raised by this number of layers, and support material " -"will be generated under it." -msgstr "" -"Об'єкт буде піднятий цією кількістю шарів, і під ним буде згенерований " -"матеріал підтримки." +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "грошових одиниць/кг" -#: xs/src/libslic3r/PrintConfig.cpp:1287 -msgid "Resolution" -msgstr "Роздільна здатність" +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "Кут наповнення" -#: xs/src/libslic3r/PrintConfig.cpp:1288 -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." -msgstr "" -"Мінімальна роздільна здатність деталі, що використовується для спрощення " -"вхідного файлу для прискорення роботи над розрізанням та зменшення " -"використання пам'яті. Моделі з високою роздільною здатністю часто несуть " -"більш детальну інформацію, ніж можуть зробити принтери. Встановіть 0, щоб " -"вимкнути будь-яке спрощення та використовувати повну роздільну здатність від " -"введення." - -#: xs/src/libslic3r/PrintConfig.cpp:1298 -msgid "Minimum travel after retraction" -msgstr "Мінімальне переміщення після переривання" +#: src/libslic3r/PrintConfig.cpp:731 +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." +msgstr "Основний кут орієнтації наповнення за замовчуванням. Для цього буде застосовуватися крос-штрих. Мости будуть заповнені, використовуючи найкращий напрям, який може виявити Slic3r, тому цей параметр на них не впливає." -#: xs/src/libslic3r/PrintConfig.cpp:1299 -msgid "" -"Retraction is not triggered when travel moves are shorter than this length." -msgstr "Переривання не спрацьовує, коли переміщення коротше за цю довжину." +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "Щільність заповнення" -#: xs/src/libslic3r/PrintConfig.cpp:1305 -msgid "Retract amount before wipe" -msgstr "Кількість переривань перед чищенням" +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "Щільність внутрішнього заповнення, виражена в діапазоні 0% - 100%." -#: xs/src/libslic3r/PrintConfig.cpp:1306 -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:782 +msgid "Fill pattern" +msgstr "Шаблон заповнення" -#: xs/src/libslic3r/PrintConfig.cpp:1313 -msgid "Retract on layer change" -msgstr "Переривання на зміну шарів" +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "Шаблон заповнення для загального низько-швидкісного наповнення." -#: xs/src/libslic3r/PrintConfig.cpp:1314 -msgid "This flag enforces a retraction whenever a Z move is done." +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" msgstr "" -"Цей прапор забезпечує переривання кожного разу, коли виконується переміщення " -"Z." -#: xs/src/libslic3r/PrintConfig.cpp:1319 xs/src/libslic3r/PrintConfig.cpp:1328 -msgid "Length" -msgstr "Довжина" - -#: xs/src/libslic3r/PrintConfig.cpp:1320 -msgid "Retraction Length" -msgstr "Довжина переривання" +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1321 -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)." +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" msgstr "" -"Коли спрацьовує переривання, філамент відтягується назад до вказаної " -"кількості (довжина вимірюється на сирого філаменту перед тим, як вона " -"надходить у екструдер)." -#: xs/src/libslic3r/PrintConfig.cpp:1323 xs/src/libslic3r/PrintConfig.cpp:1333 -msgid "mm (zero to disable)" -msgstr "мм (0, щоб вимкнути)" +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1329 -msgid "Retraction Length (Toolchange)" -msgstr "Довжина переривання (зміна інструмента)" +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1330 -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)." +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" msgstr "" -"Коли спрацьовує переривання на зміну інструмента, філамент відтягується " -"назад до вказаної кількості (довжина вимірюється на сирого філаменту перед " -"тим, як вона надходить у екструдер)." -#: xs/src/libslic3r/PrintConfig.cpp:1338 -msgid "Lift Z" -msgstr "Підняти Z" +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1339 -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." +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" msgstr "" -"Якщо ви встановите це значення позитивним, Z швидко піднімається щоразу, " -"коли спрацьовує переривання. При використанні декількох екструдерів буде " -"розглянуто налаштування лише першого екструдера." -#: xs/src/libslic3r/PrintConfig.cpp:1347 -msgid "Above Z" -msgstr "Вище Z" +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "Перший шар" -#: xs/src/libslic3r/PrintConfig.cpp:1348 -msgid "Only lift Z above" -msgstr "Тільки піднімати Z" +#: src/libslic3r/PrintConfig.cpp:817 +msgid "This is the acceleration your printer will use for first layer. Set zero to disable acceleration control for first layer." +msgstr "Це прискорення, яке ваш принтер використовуватиме для першого шару. Встановити 0, щоб вимкнути керування прискоренням для першого шару." -#: xs/src/libslic3r/PrintConfig.cpp:1349 -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 "" -"Якщо ви встановите це значення позитивним, Z буде лише підніматися нал " -"вказаним абсолютним Z. Ви можете налаштувати цей параметр так, що підняття " -"буде пропускатися на перших шарах." +#: src/libslic3r/PrintConfig.cpp:827 +msgid "Heated build plate temperature for the first layer. Set this to zero to disable bed temperature control commands in the output." +msgstr "Температура підігрітої збірної пластини для першого шару. Установіть 0, щоб відключити команди керування температурою полотна на виході." -#: xs/src/libslic3r/PrintConfig.cpp:1356 -msgid "Below Z" -msgstr "Нижче Z" +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "Встановіть ненульове значення, щоб встановити ручну ширину екструзії для першого шару. Ви можете використовувати цю опцію з метою навмисного пом'якшення екструдату для кращої адгезії. Якщо вона виражена у відсотках (наприклад, 120%), вона буде обчислена за висотою першого шару. Якщо встановлено на 0 - використовуватиме стандартну ширину екструзії." -#: xs/src/libslic3r/PrintConfig.cpp:1357 -msgid "Only lift Z below" -msgstr "Тільки опускати Z" +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "Висота першого шару" -#: xs/src/libslic3r/PrintConfig.cpp:1358 -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 "" -"Якщо ви встановите це значення позитивним, Z буде лише опускатися нижче " -"вказаного абсолютного Z. Ви можете налаштувати цей параметр так, що підняття " -"буде обмежене на перших шарах." +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "Під час друку з дуже низькими висотами шару ви, можливо, все-таки захочете надрукувати більш товстий нижній шар, щоб поліпшити адгезію та толерантність до невідповідних збірних пластин. Можна виразити як абсолютне значення або як відсоток (наприклад: 150%) по висоті шару за замовчуванням." -#: xs/src/libslic3r/PrintConfig.cpp:1366 xs/src/libslic3r/PrintConfig.cpp:1374 -msgid "Extra length on restart" -msgstr "Додаткова довжина при перезапуску" +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "мм або %" -#: xs/src/libslic3r/PrintConfig.cpp:1367 -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:860 +msgid "First layer speed" +msgstr "Швидкість першого шару" -#: xs/src/libslic3r/PrintConfig.cpp:1375 -msgid "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." -msgstr "" -"Коли переривання компенсується після зміни інструмента, екструдер буде " -"проштовхувати цю додаткову кількість філамента." +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "Якщо вона виражена в абсолютному значенні в мм/с, ця швидкість буде застосована до всіх рухів друку першого шару незалежно від їх типу. Якщо вона виражена у відсотках (наприклад: 40%), вона буде масштабувати швидкість за замовчуванням." -#: xs/src/libslic3r/PrintConfig.cpp:1382 xs/src/libslic3r/PrintConfig.cpp:1383 -msgid "Retraction Speed" -msgstr "Швидкість переривання" +#: src/libslic3r/PrintConfig.cpp:872 +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, щоб вимкнути команди керування температурою у вихідному файлі." -#: xs/src/libslic3r/PrintConfig.cpp:1384 -msgid "The speed for retractions (it only applies to the extruder motor)." -msgstr "Швидкість переривання (це стосується лише двигуна екструдера)." +#: src/libslic3r/PrintConfig.cpp:882 +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, щоб вимкнути заповнення розривів." -#: xs/src/libslic3r/PrintConfig.cpp:1390 xs/src/libslic3r/PrintConfig.cpp:1391 -msgid "Deretraction Speed" -msgstr "Швидкість після-переривання" +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "Докладний G-код" -#: xs/src/libslic3r/PrintConfig.cpp:1392 -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 "" -"Швидкість заведення філамента в екструдер після переривання (це стосується " -"лише двигуна екструдера ). Якщо залишити 0, використовується швидкість " -"переривання ." +#: src/libslic3r/PrintConfig.cpp:891 +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." +msgstr "Увімкніть для отримання коментованого файлу G-коду, причому кожен рядок пояснюється описовим текстом. Якщо ви друкуєте з SD-карти, додаткова вага файлу може призвести до уповільнення прошивки." -#: xs/src/libslic3r/PrintConfig.cpp:1399 -msgid "Seam position" -msgstr "Позиція шва" +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "Особливість G-коду" -#: xs/src/libslic3r/PrintConfig.cpp:1401 -msgid "Position of perimeters starting points." -msgstr "Позиція стартових точок периметра." +#: src/libslic3r/PrintConfig.cpp:900 +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 експортувати будь-яке значення екструзії." -#: xs/src/libslic3r/PrintConfig.cpp:1408 -msgid "Random" +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1409 -msgid "Nearest" +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1410 -msgid "Aligned" +#: src/libslic3r/PrintConfig.cpp:930 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1411 lib/Slic3r/GUI/MainFrame.pm:330 -msgid "Rear" -msgstr "Ззаду" - -#: xs/src/libslic3r/PrintConfig.cpp:1417 -msgid "Direction" -msgstr "Напрямок" - -#: xs/src/libslic3r/PrintConfig.cpp:1419 -msgid "Preferred direction of the seam" -msgstr "Бажаний напрямок шва" +#: src/libslic3r/PrintConfig.cpp:939 +msgid "This is the acceleration your printer will use for infill. Set zero to disable acceleration control for infill." +msgstr "Це прискорення, яке ваш принтер використовуватиме для наповнення. Встановити 0, щоб вимкнути регулятор прискорення для заповнення." -#: xs/src/libslic3r/PrintConfig.cpp:1420 -msgid "Seam preferred direction" -msgstr "Бажаний напрямок шва" +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "Об'єднати наповнення кожні" -#: xs/src/libslic3r/PrintConfig.cpp:1428 -msgid "Jitter" -msgstr "Джиттер" +#: src/libslic3r/PrintConfig.cpp:950 +msgid "This feature allows to combine infill and speed up your print by extruding thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "Ця функція дозволяє поєднувати наповнення та прискорити друк, екструдуючи більш товсті шари наповнення, зберігаючи тонкі периметри, а отже, і точністю." -#: xs/src/libslic3r/PrintConfig.cpp:1430 -msgid "Seam preferred direction jitter" -msgstr "Бажаний напрямок шва джитера" +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "Об'єднати наповнення кожні n шарів" -#: xs/src/libslic3r/PrintConfig.cpp:1431 -msgid "Preferred direction of the seam - jitter" -msgstr "Бажаний напрямок шва - джитера" +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "Наповнювач екструдера" -#: xs/src/libslic3r/PrintConfig.cpp:1442 -msgid "USB/serial port for printer connection." -msgstr "USB / послідовний порт для підключення принтера." +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "Екструдер, використовуваний під час друку наповнення." -#: xs/src/libslic3r/PrintConfig.cpp:1450 -msgid "Serial port speed" -msgstr "Швидкість послідовного порту" +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "Встановіть значення як ненульове, щоб встановити ручну ширину екструзії для наповнення. Якщо залишити 0, ширина екструзії за замовчуванням буде використана, якщо встановлено, інакше буде використано 1,125 x діаметр сопла. Можливо, ви захочете використовувати більш товсті екструди, щоб прискорити наповнення та зміцнити свої деталі. Якщо він виражений у відсотках (наприклад, 90%), він буде обчислюватися за висотою шару." -#: xs/src/libslic3r/PrintConfig.cpp:1451 -msgid "Speed (baud) of USB/serial port for printer connection." -msgstr "Швидкість (бод) USB / послідовного порту для підключення принтера." +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "Заповнення перед периметрами" -#: xs/src/libslic3r/PrintConfig.cpp:1460 -msgid "Distance from object" -msgstr "Відстань від об'єкту" +#: src/libslic3r/PrintConfig.cpp:982 +msgid "This option will switch the print order of perimeters and infill, making the latter first." +msgstr "За допомогою цього параметра можна буде змінити порядок друку периметрів та наповнювачів, зробивши останнє першим." -#: xs/src/libslic3r/PrintConfig.cpp:1461 -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 "" -"Відстань між плінтусом та об'єктом (-ами). Установіть 0, щоб прикріпити " -"плінтус до об'єкта (-ів) і отримати край для кращої адгезії." +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "Заповнити тільки там, де потрібно" -#: xs/src/libslic3r/PrintConfig.cpp:1469 -msgid "Skirt height" -msgstr "Висота плінтусу" +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "Ця опція обмежить заповнення областей, фактично необхідних для підтримки стель (це буде діяти як внутрішній матеріал підтримки). Якщо це ввімкнено, сповільнюється генерація G-коду через декілька перевірок." -#: xs/src/libslic3r/PrintConfig.cpp:1470 -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:998 +msgid "Infill/perimeters overlap" +msgstr "Перекриття наповнення/периметрів" -#: xs/src/libslic3r/PrintConfig.cpp:1477 -msgid "Loops (minimum)" -msgstr "Петлі (мінімум)" +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "Цей параметр застосовує додаткове перекриття між заповненням та периметрами для кращого зчеплення. Теоретично це не повинно бути необхідним, але люфт може спричинити розриви. Якщо він виражений у відсотках (приклад: 15%), його розраховують за шириною екструзії по периметру." -#: xs/src/libslic3r/PrintConfig.cpp:1478 -msgid "Skirt Loops" -msgstr "Петлі плінтусу" +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "Швидкість друку внутрішнього заповнення. Встановити 0 для автоматичного обчислення." -#: xs/src/libslic3r/PrintConfig.cpp:1479 -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." +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" msgstr "" -"Кількість петель для плінтусу. Якщо встановлено параметр \"Мінімальна " -"довжина екструзії\", кількість петель може бути більшою, ніж налаштована " -"тут. Установіть 0, щоб повністю вимкнути плінтус." - -#: xs/src/libslic3r/PrintConfig.cpp:1487 -msgid "Slow down if layer print time is below" -msgstr "Уповільнення, якщо час друку шару нижче" -#: xs/src/libslic3r/PrintConfig.cpp:1488 -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." +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." msgstr "" -"Якщо час друку шару оцінюється нижче цієї кількості секунд, швидкість друку " -"рухів зменшуватиметься, щоб збільшити тривалість до цього значення." -#: xs/src/libslic3r/PrintConfig.cpp:1498 -msgid "Small perimeters" -msgstr "Маленькі периметри" +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "Інтерфейсні оболонки" -#: xs/src/libslic3r/PrintConfig.cpp:1500 -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 "" -"Цей окремий параметр впливає на швидкість периметрів, що мають радіус <= 6,5 " -"мм (як правило, дірки). Якщо вона виражена у відсотках (наприклад: 80%), " -"вона буде розрахована за наведеним вище параметром швидкості. Встановити 0 " -"для автоматичного використання." +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "Force the generation of solid shells between adjacent materials/volumes. Useful for multi-extruder prints with translucent materials or manual soluble support material." +msgstr "Примусове створення суцільної оболонки між суміжними матеріалами/обсягами. Корисно для друку з багатьма екструдерами з напівпрозорими матеріалами або ручним розчинним матеріалом для підтримки." -#: xs/src/libslic3r/PrintConfig.cpp:1510 -msgid "Solid infill threshold area" -msgstr "Порогова площа суцільного наповнення" +#: src/libslic3r/PrintConfig.cpp:1043 +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]." -#: xs/src/libslic3r/PrintConfig.cpp:1512 -msgid "" -"Force solid infill for regions having a smaller area than the specified " -"threshold." +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" msgstr "" -"Встановити суцільне заповнення для регіонів, що мають площу, меншу " -"зазначеного порогу." -#: xs/src/libslic3r/PrintConfig.cpp:1513 -msgid "mm²" -msgstr "мм²" +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1519 -msgid "Solid infill extruder" -msgstr "Екструдер суцільних наповнень" +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1521 -msgid "The extruder to use when printing solid infill." -msgstr "Екструдер для друку суцільних наповнень." +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1527 -msgid "Solid infill every" -msgstr "Суцільне наповнення кожні" +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1529 -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." -msgstr "" -"Ця функція дозволяє закріпити суцільні шари на задану кількість шарів. 0 - " -"щоб відключити. Ви можете встановити будь-яке значення (наприклад, 9999); " -"Slic3r автоматично вибере максимально можливу кількість шарів для " -"комбінування відповідно до діаметра сопла та висоти шару." - -#: xs/src/libslic3r/PrintConfig.cpp:1539 xs/src/libslic3r/PrintConfig.cpp:1549 -#: xs/src/libslic3r/GCode/PreviewData.cpp:167 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:94 -msgid "Solid infill" -msgstr "Суцільне наповнення" +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1541 -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." -msgstr "" -"Встановіть значення ненульовим, щоб встановити ручну ширину екструзії для " -"наповнення для твердих поверхонь. Якщо залишити 0, буде використана ширина " -"екструзії за замовчуванням, в іншому випадку використовуватиметься 1,125 х " -"діаметр сопла. Якщо він виражений у відсотках (наприклад, 90%), він буде " -"обчислюватися за висотою шару." - -#: xs/src/libslic3r/PrintConfig.cpp:1551 -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." +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" msgstr "" -"Швидкість друку твердих областей (верхня / нижня / внутрішня горизонтальна " -"оболонка). Може бути виражено у відсотках (наприклад: 80%) від вказаної вище " -"швидкості заповнення за замовчуванням. Встановити 0 для автоматичного " -"використання." -#: xs/src/libslic3r/PrintConfig.cpp:1563 -msgid "Number of solid layers to generate on top and bottom surfaces." +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" msgstr "" -"Кількість суцільних шарів для генерування на верхній і нижній поверхні." -#: xs/src/libslic3r/PrintConfig.cpp:1570 -msgid "Spiral vase" -msgstr "Спіральна ваза" +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1571 -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 протягом друку одного-стінного " -"об'єкта для уникнення будь-якого видимого шву. Цей параметр вимагає " -"одношарового периметру, відсутнє наповнення, відсутність верхніх суцільних " -"шарів і відсутність матеріалу підтримки. Ви все ще можете встановити будь-" -"яку кількість нижніх суцільних шарів, а також петель плінтусу/краю. Це не " -"спрацює при друку більше, ніж одного об'єкта." - -#: xs/src/libslic3r/PrintConfig.cpp:1580 -msgid "Temperature variation" -msgstr "Варіація температури" +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1581 -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." +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" msgstr "" -"Відмітка температури, яка застосовується, коли екструдер не активний. Вмикає " -"\"жертовний\" плінтус на повній висоті, на які періодично очищуються сопла." -#: xs/src/libslic3r/PrintConfig.cpp:1591 -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]\" де завгодно." - -#: xs/src/libslic3r/PrintConfig.cpp:1606 -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 обробляється в порядку " -"екструдерів." - -#: xs/src/libslic3r/PrintConfig.cpp:1621 -msgid "Single Extruder Multi Material" -msgstr "Одиночний екструдер кількох матеріалів" +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1622 -msgid "The printer multiplexes filaments into a single hot end." -msgstr "Принтер мультиплексує нитки в єдиний гарячий кінець." +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1627 -msgid "Generate support material" -msgstr "Створити підтримуючий матеріал" +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1629 -msgid "Enable support material generation." -msgstr "Увімкнути генерацію матеріалів підтримки." +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "Максимально" -#: xs/src/libslic3r/PrintConfig.cpp:1634 -msgid "XY separation between an object and its support" -msgstr "Розподіл XY між об'єктом та його підтримкою" +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "Цей параметр відображає максимальну швидкість вашого вентилятора." -#: xs/src/libslic3r/PrintConfig.cpp:1636 -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 "" -"Розподіл XY між об'єктом та його підтримкою. Якщо вона виражена у відсотках " -"(наприклад, 50%), вона буде розрахована за зовнішньою шириною периметру." +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "Це найбільша висота друкованого шару для цього екструдера, що використовується для обмеження висоти змінного шару та висоти підтримуючого шару. Максимальна рекомендована висота шару становить 75% ширини екструзії для досягнення розумної міжшарової адгезії. Якщо встановлено 0, висота шару обмежена 75% діаметра сопла." -#: xs/src/libslic3r/PrintConfig.cpp:1646 -msgid "Pattern angle" -msgstr "Кут шаблону" +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "Максимальна швидкість друку" -#: xs/src/libslic3r/PrintConfig.cpp:1648 -msgid "" -"Use this setting to rotate the support material pattern on the horizontal " -"plane." -msgstr "" -"Використовуйте цей параметр, щоб повернути шаблон підтримуючого матеріалу на " -"горизонтальній площині." +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "При встановленні інших параметрів швидкості до 0, Slic3r буде автоматично обчислювати оптимальну швидкість, щоб підтримувати постійний тиск екструдера. Цей експериментальний параметр використовується для встановлення максимальної швидкості друку, яку ви хочете дозволити." -#: xs/src/libslic3r/PrintConfig.cpp:1658 -msgid "" -"Only create support if it lies on a build plate. Don't create support on a " -"print." -msgstr "" -"Створити підтримку лише, для того, що лежить на збірній пластині. Не " -"створювати підтримку на друк." +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "This experimental setting is used to set the maximum volumetric speed your extruder supports." +msgstr "Цей експериментальний параметр використовується для встановлення максимальної об'ємної швидкості, яку підтримує екструдер." -#: xs/src/libslic3r/PrintConfig.cpp:1664 -msgid "Contact Z distance" -msgstr "Контактна відстань по осі Z" +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "Максимальний об'ємний нахил позитивний" -#: xs/src/libslic3r/PrintConfig.cpp:1666 -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 "" -"Вертикальна відстань між об'єктом та інтерфейсом матеріалу підтримки. " -"Встановлення значення 0 також захистить Slic3r від використання потоку " -"мостів та швидкості для першого шару об'єктну." +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "Цей експериментальний параметр використовується для обмеження швидкості зміни швидкості екструзії. Значення 1,8 мм³/с² гарантує, що зміна швидкості екструзії 1,8 мм³/с (ширина екструзії 0,45 мм, висота екструзії 0,2 мм, швидкість подачі 20 мм/с) до 5,4 мм³/с (подача 60 мм/с) займе принаймні 2 секунди." -#: xs/src/libslic3r/PrintConfig.cpp:1674 -msgid "soluble" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "мм³/с²" -#: xs/src/libslic3r/PrintConfig.cpp:1675 -msgid "detachable" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" +msgstr "Максимальний об'ємний схил негативний" -#: xs/src/libslic3r/PrintConfig.cpp:1679 -msgid "Enforce support for the first" -msgstr "Забезпечити підтримку першого(их)" +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "Мінімально" -#: xs/src/libslic3r/PrintConfig.cpp:1681 -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." -msgstr "" -"Генерувати допоміжний матеріал для зазначеної кількості шарів, що " -"підраховують знизу, незалежно від того, включено чи ні нормальний матеріал " -"підтримки, і незалежно від будь-якого порогу кута. Це корисно для отримання " -"більшої адгезії об'єктів, що мають дуже тонкий або поганий слід на збірній " -"пластині." - -#: xs/src/libslic3r/PrintConfig.cpp:1687 -msgid "Enforce support for the first n layers" -msgstr "Забезпечити підтримку перших n шарів" +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "Цей параметр відповідає мінімальній ШІМ, на якій повинен працювати ваш вентилятор." -#: xs/src/libslic3r/PrintConfig.cpp:1692 -msgid "Support material/raft/skirt extruder" -msgstr "Підтримуючий матеріал / пліт / плінтус екструдеру" +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "Це найменша висота друкованого шару для цього екструдера та обмежує роздільну здатність для висоти змінного шару. Типові значення - від 0,05 мм до 0,1 мм." -#: xs/src/libslic3r/PrintConfig.cpp:1694 -msgid "" -"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:1250 +msgid "Min print speed" +msgstr "Мінімальна швидкість друку" -#: xs/src/libslic3r/PrintConfig.cpp:1703 -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." -msgstr "" -"Встановіть значення ненульовим, щоб встановити ручну ширину екструзії " -"матеріалу для підтримки. Якщо залишити 0, буде використана ширина екструзії, " -"встановлена за замовчуванням, інакше використовуватиметься діаметр сопла. " -"Якщо він виражений у відсотках (наприклад, 90%), він буде обчислюватися за " -"висотою шару." - -#: xs/src/libslic3r/PrintConfig.cpp:1711 -msgid "Interface loops" -msgstr "Інтерфейсні петлі" +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "Slic3r не буде масштабувати швидкість нижче цієї швидкості." -#: xs/src/libslic3r/PrintConfig.cpp:1713 -msgid "" -"Cover the top contact layer of the supports with loops. Disabled by default." +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" msgstr "" -"Закрити петлями верхній контактний шар підтримки. За замовчанням вимкнено." -#: xs/src/libslic3r/PrintConfig.cpp:1718 -msgid "Support material/raft interface extruder" -msgstr "Екструдер інтерфейсу підтримуючого матеріалу / плоту" +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "Створити не менше кількості петель плінтусу, необхідних для споживання зазначеної кількості філаменту на нижньому шарі. Для машин із декількома екструдерами цей мінімум застосовується до кожного екструдера." -#: xs/src/libslic3r/PrintConfig.cpp:1720 -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 "" -"Екструдер, що використовується під час друку інтерфейсу матеріалу підтримки " -"(1+, 0 для використання поточного екструдера, щоб звести до мінімуму зміни " -"інструменту). Це також впливає на плот." +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "Примітки до конфігурації" -#: xs/src/libslic3r/PrintConfig.cpp:1727 -msgid "Interface layers" -msgstr "Інтерфейсні шари" +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "You can put here your personal notes. This text will be added to the G-code header comments." +msgstr "Ви можете додати тут свої особисті примітки. Цей текст буде додано до коментарів заголовка G-коду." -#: xs/src/libslic3r/PrintConfig.cpp:1729 -msgid "" -"Number of interface layers to insert between the object(s) and support " -"material." -msgstr "" -"Кількість шарів інтерфейсу для вставки між об'єктом(ами) та підтримуючим " -"матеріалом." +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "Діаметр сопла" -#: xs/src/libslic3r/PrintConfig.cpp:1736 -msgid "Interface pattern spacing" -msgstr "Відстань між шаблонами інтерфейсу" +#: src/libslic3r/PrintConfig.cpp:1282 +msgid "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgstr "Це діаметр сопла вашого екструдера (наприклад: 0.5, 0.35 тощо)" -#: xs/src/libslic3r/PrintConfig.cpp:1738 -msgid "Spacing between interface lines. Set zero to get a solid interface." +#: src/libslic3r/PrintConfig.cpp:1288 +msgid "Host Type" msgstr "" -"Відстань між інтерфейсними лініями. Встановити 0, щоб отримати надійний " -"інтерфейс." -#: xs/src/libslic3r/PrintConfig.cpp:1745 -#: xs/src/libslic3r/GCode/PreviewData.cpp:173 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:100 -msgid "Support material interface" -msgstr "Інтерфейс підтримуючого матеріалу" +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "Slic3r can upload G-code files to a printer host. This field must contain the kind of the host." +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1747 -msgid "" -"Speed for printing support material interface layers. If expressed as " -"percentage (for example 50%) it will be calculated over support material " -"speed." +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" msgstr "" -"Швидкість друку інтерфейсних шарів підтримуючого матеріалу. Якщо вона " -"виражена у відсотках (наприклад, 50%), вона буде розрахована за швидкістю " -"матеріалу підтримки." -#: xs/src/libslic3r/PrintConfig.cpp:1756 -msgid "Pattern" -msgstr "Шаблон" +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" -#: xs/src/libslic3r/PrintConfig.cpp:1758 -msgid "Pattern used to generate support material." -msgstr "Шаблон, що використовується для створення матеріалу підтримки." +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1765 -msgid "Rectilinear grid" +#: src/libslic3r/PrintConfig.cpp:1318 +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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1770 -msgid "Pattern spacing" -msgstr "Відстань між шаблонами" +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "Перервати тільки у разі перетину периметрів" -#: xs/src/libslic3r/PrintConfig.cpp:1772 -msgid "Spacing between support material lines." -msgstr "Відстань між лініями підтримуючого матеріалу." +#: src/libslic3r/PrintConfig.cpp:1326 +msgid "Disables retraction when the travel path does not exceed the upper layer's perimeters (and thus any ooze will be probably invisible)." +msgstr "Вимикає переривання, коли шлях не перевищує периметри верхніх шарів (і, таким чином, будь-який розрядник буде, мабуть, невидимим)." -#: xs/src/libslic3r/PrintConfig.cpp:1781 -msgid "Speed for printing support material." -msgstr "Швидкість друку підтримуючого матеріалу." +#: src/libslic3r/PrintConfig.cpp:1334 +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 "Цей параметр знизить температуру неактивних екструдерів, щоб запобігти протіканню. Це дозволить автоматично ввімкнути високий плінтус та перемістить екструдери за межі такого плінтуса у разі зміни температури." -#: xs/src/libslic3r/PrintConfig.cpp:1788 -msgid "Synchronize with object layers" -msgstr "Синхронізувати з шарами об'єкту" +#: src/libslic3r/PrintConfig.cpp:1342 +msgid "Output filename format" +msgstr "Формат вихідного файлу" -#: xs/src/libslic3r/PrintConfig.cpp:1790 -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:1343 +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] ], [input_filename_base]." -#: xs/src/libslic3r/PrintConfig.cpp:1796 -msgid "Overhang threshold" -msgstr "Порог нависання" +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "Виявлення висячих периметрів" -#: xs/src/libslic3r/PrintConfig.cpp:1798 -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)." -msgstr "" -"Матеріал підтримки не буде сформований для виступів, кут нахилу (90° = " -"вертикальний) яких перевищує заданий порог. Іншими словами, це значення " -"представляє найбільш горизонтальний схил (вимірюваний з горизонтальної " -"площини), який ви можете надрукувати без підтримуючого матеріалу. Встановити " -"0 для автоматичного визначення (рекомендовано)." - -#: xs/src/libslic3r/PrintConfig.cpp:1810 -msgid "With sheath around the support" -msgstr "З оболонкою навколо підтримки" +#: src/libslic3r/PrintConfig.cpp:1355 +msgid "Experimental option to adjust flow for overhangs (bridge flow will be used), to apply bridge speed to them and enable fan." +msgstr "Експериментальний параметр для регулювання потоку для виступів (буде використано мостовий потік), щоб застосувати до них швидкість мосту та увімкнути вентилятор." -#: xs/src/libslic3r/PrintConfig.cpp:1812 -msgid "" -"Add a sheath (a single perimeter line) around the base support. This makes " -"the support more reliable, but also more difficult to remove." +#: src/libslic3r/PrintConfig.cpp:1362 +msgid "Filament parking position" msgstr "" -"Додати оболонку (одну лінію периметра) навколо базової підтримки. Це робить " -"підтримку більш надійною, але її важче видалити." -#: xs/src/libslic3r/PrintConfig.cpp:1819 -msgid "" -"Extruder temperature for layers after the first one. Set this to zero to " -"disable temperature control commands in the output." +#: src/libslic3r/PrintConfig.cpp:1363 +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 "" -"Температура екструдеру для шарів після першого. Установіть 0, щоб вимкнути " -"команди керування температурою на виході." - -#: xs/src/libslic3r/PrintConfig.cpp:1822 -msgid "Temperature" -msgstr "Температура" - -#: xs/src/libslic3r/PrintConfig.cpp:1828 -msgid "Detect thin walls" -msgstr "Виявлення тонких стін" -#: xs/src/libslic3r/PrintConfig.cpp:1830 -msgid "" -"Detect single-width walls (parts where two extrusions don't fit and we need " -"to collapse them into a single trace)." +#: src/libslic3r/PrintConfig.cpp:1372 +msgid "Extra loading distance" msgstr "" -"Визначення одношарової стінки (частини, де два екструзії не підходять, і нам " -"потрібно згорнути їх у єдиний слід)." - -#: xs/src/libslic3r/PrintConfig.cpp:1836 -msgid "Threads" -msgstr "Нитки" -#: xs/src/libslic3r/PrintConfig.cpp:1837 -msgid "" -"Threads are used to parallelize long-running tasks. Optimal threads number " -"is slightly above the number of available cores/processors." +#: src/libslic3r/PrintConfig.cpp:1373 +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. " msgstr "" -"Нитки використовуються для паралелізації довготривалих завдань. Оптимальна " -"кількість ниток трохи перевищує кількість доступних ядер / процесорів." -#: xs/src/libslic3r/PrintConfig.cpp:1849 -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]." +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "Периметри" -#: xs/src/libslic3r/PrintConfig.cpp:1859 xs/src/libslic3r/PrintConfig.cpp:1870 -#: xs/src/libslic3r/GCode/PreviewData.cpp:168 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:95 -msgid "Top solid infill" -msgstr "Верхнє суцільне наповнення" +#: src/libslic3r/PrintConfig.cpp:1383 +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, щоб вимкнути регулятор прискорення для периметрів." -#: xs/src/libslic3r/PrintConfig.cpp:1861 -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." -msgstr "" -"Установіть ненульове значення, щоб встановити ручну ширину екструзії для " -"наповнення верхньої поверхні. Ви можете використовувати більш тонкі " -"екструдати, щоб заповнити всі вузькі області і отримати більш гладкий " -"результат. Якщо залишити 0, буде використана ширина екструзії, встановлена " -"за замовчуванням, інакше використовуватиметься діаметр сопла. Якщо вона " -"виражена у відсотках (наприклад, 90%), вона буде обчислюватися за висотою " -"шару." - -#: xs/src/libslic3r/PrintConfig.cpp:1872 -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." -msgstr "" -"Швидкість друку верхніх суцільних шарів (це стосується тільки найвищих " -"зовнішніх шарів, а не їхніх внутрішніх суцільних шарів). Ви можете захотіти " -"сповільнення, щоб отримати більш гарну обробку поверхні. Це можна виразити " -"відсотком (наприклад, 80%) звищення швидкості щільного наповнення . " -"Встановити 0 для автоматичного обчислення." - -#: xs/src/libslic3r/PrintConfig.cpp:1884 lib/Slic3r/GUI/MainFrame.pm:327 -msgid "Top" -msgstr "Зверху" +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "Екструдер периметру" -#: xs/src/libslic3r/PrintConfig.cpp:1886 -msgid "Number of solid layers to generate on top surfaces." -msgstr "Кількість суцільних шарів, генерованих на верхніх поверхнях." +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "Екструдер, що використовується при друці периметрів і краю. Перший екструдер - 1." -#: xs/src/libslic3r/PrintConfig.cpp:1888 -msgid "Top solid layers" -msgstr "Верхні суцільні шари" +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "Установіть значення ненульовим, щоб встановити ручну ширину екструзії для периметрів. Ви можете використовувати більш тонкі екструди, щоб отримати більш точні поверхні. Якщо залишити 0, буде використана ширина екструзії за замовчуванням, в іншому випадку використовуватиметься значення 1,125 х діаметр сопла. Якщо він виражений у відсотках (наприклад, 200%), він буде обчислюватися за висотою шару." -#: xs/src/libslic3r/PrintConfig.cpp:1893 lib/Slic3r/GUI/Plater/3DPreview.pm:105 -msgid "Travel" -msgstr "Пересування" +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "Швидкість для периметрів (контури, вертикальні оболонки). Встановити 0 для автоматичного використання." -#: xs/src/libslic3r/PrintConfig.cpp:1894 -msgid "Speed for travel moves (jumps between distant extrusion points)." -msgstr "Швидкість рухів пересування (стрибки між далекими точками екструзії)." +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "Ця опція визначає кількість периметрів для кожного шару. Зверніть увагу, що Slic3r може автоматично збільшувати це число, коли виявляє похилі поверхні, які отримують вигоду від більшої кількості периметрів, якщо опція «Додаткові периметри» увімкнена." -#: xs/src/libslic3r/PrintConfig.cpp:1902 -msgid "Use firmware retraction" -msgstr "Використовувати відмову прошивки" +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "(мінімум)" -#: xs/src/libslic3r/PrintConfig.cpp:1903 -msgid "" -"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-ом." +#: src/libslic3r/PrintConfig.cpp:1439 +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." +msgstr "Якщо ви хочете обробляти вихідний G-код через власні сценарії, просто перелічіть тут їх абсолютні шляхи. Кілька скриптів відокремте крапкою з комою. Сценарії буде передано абсолютним шляхам до файлу G-коду як перший аргумент, і вони можуть отримати доступ до параметрів конфігурації Slic3r, прочитавши змінні середовища." -#: xs/src/libslic3r/PrintConfig.cpp:1909 -msgid "Use relative E distances" -msgstr "Використовувати відносні E відстані" +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1910 -msgid "" -"If your firmware requires relative E values, check this, otherwise leave it " -"unchecked. Most firmwares use absolute values." +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." msgstr "" -"Якщо ваша прошивка потребує відносне значення E, зазначте це, інакше залиште " -"його незазначеним. Більшість прошивок використовують абсолютні значення." -#: xs/src/libslic3r/PrintConfig.cpp:1916 -msgid "Use volumetric E" -msgstr "Використовувати об'ємний Е" +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "Примітки принтера" -#: xs/src/libslic3r/PrintConfig.cpp:1917 -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 "" -"Цей експериментальний параметр використовує виводи значення E в кубічних " -"міліметрах замість лінійних міліметрів. Якщо ваша прошивку ще не знає " -"діаметр ниток, ви можете встановити такі команди, як \"M200 D " -"[filament_diameter_0] T0\" у вашому старті G-коду, щоб включити об'ємний " -"режим і використовувати діаметр нитки, пов'язаний з вибраною ниткою в " -"Slic3r. Останнім часом це підтримується лише Marlin-ом." - -#: xs/src/libslic3r/PrintConfig.cpp:1927 -msgid "Enable variable layer height feature" -msgstr "Увімкнути функцію шарів змінної висоти" +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "Тут ви можете помістити свої нотатки щодо принтера." -#: xs/src/libslic3r/PrintConfig.cpp:1928 -msgid "" -"Some printers or printer setups may have difficulties printing with a " -"variable layer height. Enabled by default." +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" msgstr "" -"Деякі принтери або налаштування принтера можуть мати труднощі з друкуванням " -"шарів змінної висоти. Увімкнено за умовчанням." - -#: xs/src/libslic3r/PrintConfig.cpp:1934 -msgid "Wipe while retracting" -msgstr "Вичіщувати при відмові" -#: xs/src/libslic3r/PrintConfig.cpp:1935 -msgid "" -"This flag will move the nozzle while retracting to minimize the possible " -"blob on leaky extruders." +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." msgstr "" -"Цей прапорець перемістить сопло під час відмови, щоб мінімізувати можливість " -"утворення краплі на витікаючих екструдерах." -#: xs/src/libslic3r/PrintConfig.cpp:1942 -msgid "" -"Multi material printers may need to prime or purge extruders on tool " -"changes. Extrude the excess material into the wipe tower." +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" msgstr "" -"Мульти-матеріальні принтери можуть потребувати заправки або вичищення " -"екструдерів при зміні інструмента. Екструдуйте надлишок матеріалу до " -"вичищуючої вежі." -#: xs/src/libslic3r/PrintConfig.cpp:1948 -msgid "Purging volumes - load/unload volumes" +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "Name of the printer variant. For example, the printer variants may be differentiated by a nozzle diameter." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1949 -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:1483 +msgid "Raft layers" +msgstr "Плоскі шари" -#: xs/src/libslic3r/PrintConfig.cpp:1956 -msgid "Purging volumes - matrix" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "The object will be raised by this number of layers, and support material will be generated under it." +msgstr "Об'єкт буде піднятий цією кількістю шарів, і під ним буде згенерований матеріал підтримки." -#: xs/src/libslic3r/PrintConfig.cpp:1957 -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:1494 +msgid "Resolution" +msgstr "Роздільна здатність" -#: xs/src/libslic3r/PrintConfig.cpp:1967 -msgid "Position X" -msgstr "Позиція X" +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "Мінімальна роздільна здатність деталі, що використовується для спрощення вхідного файлу для прискорення роботи над розрізанням та зменшення використання пам'яті. Моделі з високою роздільною здатністю часто несуть більш детальну інформацію, ніж можуть зробити принтери. Встановіть 0, щоб вимкнути будь-яке спрощення та використовувати повну роздільну здатність від введення." -#: xs/src/libslic3r/PrintConfig.cpp:1968 -msgid "X coordinate of the left front corner of a wipe tower" -msgstr "X координата лівого переднього кута вичищуючої вежі" +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" +msgstr "Мінімальне переміщення після переривання" -#: xs/src/libslic3r/PrintConfig.cpp:1974 -msgid "Position Y" -msgstr "Позиція Y" +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "Retraction is not triggered when travel moves are shorter than this length." +msgstr "Переривання не спрацьовує, коли переміщення коротше за цю довжину." -#: xs/src/libslic3r/PrintConfig.cpp:1975 -msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "Y координата лівого переднього кута вичищуючої вежі" +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" +msgstr "Кількість переривань перед чищенням" -#: xs/src/libslic3r/PrintConfig.cpp:1981 lib/Slic3r/GUI/Plater/3DPreview.pm:76 -msgid "Width" -msgstr "Ширина" +#: src/libslic3r/PrintConfig.cpp:1515 +msgid "With bowden extruders, it may be wise to do some amount of quick retract before doing the wipe movement." +msgstr "Завдяки екструдерам з бандами, має зміст зробити певну кількість переривань перед рухами очищення." -#: xs/src/libslic3r/PrintConfig.cpp:1982 -msgid "Width of a wipe tower" -msgstr "Ширина вичищуючої вежі" +#: src/libslic3r/PrintConfig.cpp:1523 +msgid "Retract on layer change" +msgstr "Переривання на зміну шарів" -#: xs/src/libslic3r/PrintConfig.cpp:1988 -msgid "Wipe tower rotation angle" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "Цей прапор забезпечує переривання кожного разу, коли виконується переміщення Z." -#: xs/src/libslic3r/PrintConfig.cpp:1989 -msgid "Wipe tower rotation angle with respect to x-axis " -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "Довжина" -#: xs/src/libslic3r/PrintConfig.cpp:1990 -msgid "degrees" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "Довжина переривання" -#: xs/src/libslic3r/PrintConfig.cpp:1996 -msgid "Purging into infill" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1532 +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 "Коли спрацьовує переривання, філамент відтягується назад до вказаної кількості (довжина вимірюється на сирого філаменту перед тим, як вона надходить у екструдер)." -#: xs/src/libslic3r/PrintConfig.cpp:1997 -msgid "" -"Wiping after toolchange will be preferentially done inside infills. This " -"lowers the amount of waste but may result in longer print time due to " -"additional travel moves." -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "мм (0, щоб вимкнути)" -#: xs/src/libslic3r/PrintConfig.cpp:2005 -msgid "Purging into objects" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "Довжина переривання (зміна інструмента)" -#: xs/src/libslic3r/PrintConfig.cpp:2006 -msgid "" -"Objects will be used to wipe 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:1541 +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 "Коли спрацьовує переривання на зміну інструмента, філамент відтягується назад до вказаної кількості (довжина вимірюється на сирого філаменту перед тим, як вона надходить у екструдер)." -#: xs/src/libslic3r/PrintConfig.cpp:2013 -msgid "Maximal bridging distance" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1550 +msgid "Lift Z" +msgstr "Підняти Z" -#: xs/src/libslic3r/PrintConfig.cpp:2014 -msgid "Maximal distance between supports on sparse infill sections. " -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1551 +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 "Якщо ви встановите це значення позитивним, Z швидко піднімається щоразу, коли спрацьовує переривання. При використанні декількох екструдерів буде розглянуто налаштування лише першого екструдера." -#: xs/src/libslic3r/PrintConfig.cpp:2020 -msgid "XY Size Compensation" -msgstr "Зрівноваження розміру за XY" +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "Вище Z" -#: xs/src/libslic3r/PrintConfig.cpp:2022 -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:1560 +msgid "Only lift Z above" +msgstr "Тільки піднімати Z" -#: xs/src/libslic3r/PrintConfig.cpp:2030 -msgid "Z offset" -msgstr "Зміщення Z" +#: src/libslic3r/PrintConfig.cpp:1561 +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 "Якщо ви встановите це значення позитивним, Z буде лише підніматися нал вказаним абсолютним Z. Ви можете налаштувати цей параметр так, що підняття буде пропускатися на перших шарах." -#: xs/src/libslic3r/PrintConfig.cpp:2031 -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 у вихідному G-коді. " -"Воно використовується для зрівноваження поганої кінцевої позиції Z: " -"наприклад, якщо ваш кінцевий нуль фактично залишає сопло на 0,3 мм від " -"полотна друку, встановіть його на значення -0,3 (або виправте ваш endstop)." - -#: xs/src/libslic3r/GCode/PreviewData.cpp:163 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:90 -msgid "Perimeter" -msgstr "Периметр" +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" +msgstr "Нижче Z" -#: xs/src/libslic3r/GCode/PreviewData.cpp:164 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:91 -msgid "External perimeter" -msgstr "Зовнішній периметр" +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "Тільки опускати Z" -#: xs/src/libslic3r/GCode/PreviewData.cpp:165 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:92 -msgid "Overhang perimeter" -msgstr "Нависаючий периметр" +#: src/libslic3r/PrintConfig.cpp:1571 +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 "Якщо ви встановите це значення позитивним, Z буде лише опускатися нижче вказаного абсолютного Z. Ви можете налаштувати цей параметр так, що підняття буде обмежене на перших шарах." -#: xs/src/libslic3r/GCode/PreviewData.cpp:166 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:93 -msgid "Internal infill" -msgstr "Внутрішнє наповнення" +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "Додаткова довжина при перезапуску" -#: xs/src/libslic3r/GCode/PreviewData.cpp:169 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:96 -msgid "Bridge infill" -msgstr "Мостове наповнення" +#: src/libslic3r/PrintConfig.cpp:1581 +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 "Коли переривання компенсується після руху переміщення, екструдер буде проштовхувати цю додаткову кількість філамента. Цей параметр рідко потрібний." -#: xs/src/libslic3r/GCode/PreviewData.cpp:176 -msgid "Mixed" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1590 +msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." +msgstr "Коли переривання компенсується після зміни інструмента, екструдер буде проштовхувати цю додаткову кількість філамента." -#: xs/src/libslic3r/GCode/PreviewData.cpp:367 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:74 -msgid "Feature type" -msgstr "Тип ознаки" +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "Швидкість переривання" -#: xs/src/libslic3r/GCode/PreviewData.cpp:369 -msgid "Height (mm)" -msgstr "Висота (мм)" +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "Швидкість переривання (це стосується лише двигуна екструдера)." -#: xs/src/libslic3r/GCode/PreviewData.cpp:371 -msgid "Width (mm)" -msgstr "Ширина (мм)" +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "Швидкість після-переривання" -#: xs/src/libslic3r/GCode/PreviewData.cpp:373 -msgid "Speed (mm/s)" -msgstr "Швидкість (мм/с)" +#: src/libslic3r/PrintConfig.cpp:1609 +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 "Швидкість заведення філамента в екструдер після переривання (це стосується лише двигуна екструдера ). Якщо залишити 0, використовується швидкість переривання ." + +#: src/libslic3r/PrintConfig.cpp:1617 +msgid "Seam position" +msgstr "Позиція шва" + +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "Позиція стартових точок периметра." + +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:375 -msgid "Volumetric flow rate (mm3/s)" +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:377 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:79 -msgid "Tool" -msgstr "Інструмент" +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "Ззаду" -#: lib/Slic3r/GUI.pm:308 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Виберіть один чи кілька файлів (STL/OBJ/AMF/PRUSA):" +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "Напрямок" -#: lib/Slic3r/GUI/MainFrame.pm:66 -msgid "Version " -msgstr "Версія " +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "Бажаний напрямок шва" -#: lib/Slic3r/GUI/MainFrame.pm:66 -msgid "" -" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr " - Пам'ятайте оновлювати з http://github.com/prusa3d/slic3r/releases" +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "Бажаний напрямок шва" -#: lib/Slic3r/GUI/MainFrame.pm:135 -msgid "Plater" -msgstr "Платер" +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "Джиттер" -#: lib/Slic3r/GUI/MainFrame.pm:137 -msgid "Controller" -msgstr "Контролер" +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "Бажаний напрямок шва джитера" -#: lib/Slic3r/GUI/MainFrame.pm:215 -msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "Бажаний напрямок шва - джитера" -#: lib/Slic3r/GUI/MainFrame.pm:215 -msgid "Open a model" -msgstr "Відкрити модель" +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "USB / послідовний порт для підключення принтера." -#: lib/Slic3r/GUI/MainFrame.pm:218 -msgid "&Load Config…\tCtrl+L" -msgstr "Завантажити конфігурацію... \tCtrl+L" +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "Швидкість послідовного порту" -#: lib/Slic3r/GUI/MainFrame.pm:218 -msgid "Load exported configuration file" -msgstr "Завантажити експортований файл конфігурації" +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." +msgstr "Швидкість (бод) USB / послідовного порту для підключення принтера." -#: lib/Slic3r/GUI/MainFrame.pm:221 -msgid "&Export Config…\tCtrl+E" -msgstr "Експортувати конфігурацію...\tCtrl+E" +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "Відстань від об'єкту" -#: lib/Slic3r/GUI/MainFrame.pm:221 -msgid "Export current configuration to file" -msgstr "Експортувати поточну конфігурацію в файл" +#: src/libslic3r/PrintConfig.cpp:1680 +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 "Відстань між плінтусом та об'єктом (-ами). Установіть 0, щоб прикріпити плінтус до об'єкта (-ів) і отримати край для кращої адгезії." -#: lib/Slic3r/GUI/MainFrame.pm:224 -msgid "&Load Config Bundle…" -msgstr "Завантажити пакет конфігурації…" +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "Висота плінтусу" -#: lib/Slic3r/GUI/MainFrame.pm:224 -msgid "Load presets from a bundle" -msgstr "Завантажити налаштування з пакету" +#: src/libslic3r/PrintConfig.cpp:1689 +msgid "Height of skirt expressed in layers. Set this to a tall value to use skirt as a shield against drafts." +msgstr "Висота плінтусу виражена в шарах. Встановіть це значення на високе, щоб використовувати плінтус як щит проти протягів." -#: lib/Slic3r/GUI/MainFrame.pm:227 -msgid "&Export Config Bundle…" -msgstr "Експортувати пакет налаштування…" +#: src/libslic3r/PrintConfig.cpp:1697 +msgid "Loops (minimum)" +msgstr "Петлі (мінімум)" -#: lib/Slic3r/GUI/MainFrame.pm:227 -msgid "Export all presets to file" -msgstr "Експортувати всі налаштування у файл" +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "Петлі плінтусу" -#: lib/Slic3r/GUI/MainFrame.pm:232 -msgid "Q&uick Slice…\tCtrl+U" -msgstr "Швидке нарізання…\tCtrl+U" +#: src/libslic3r/PrintConfig.cpp:1699 +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, щоб повністю вимкнути плінтус." -#: lib/Slic3r/GUI/MainFrame.pm:232 -msgid "Slice a file into a G-code" -msgstr "Нарізати файл у G-код" +#: src/libslic3r/PrintConfig.cpp:1708 +msgid "Slow down if layer print time is below" +msgstr "Уповільнення, якщо час друку шару нижче" -#: lib/Slic3r/GUI/MainFrame.pm:238 -msgid "Quick Slice and Save &As…\tCtrl+Alt+U" -msgstr "Швидко нарізати та зберегти як…\tCtrl+Alt+U" +#: src/libslic3r/PrintConfig.cpp:1709 +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 "Якщо час друку шару оцінюється нижче цієї кількості секунд, швидкість друку рухів зменшуватиметься, щоб збільшити тривалість до цього значення." -#: lib/Slic3r/GUI/MainFrame.pm:238 -msgid "Slice a file into a G-code, save as" -msgstr "Нарізати файл у G-код, зберегти як" +#: src/libslic3r/PrintConfig.cpp:1720 +msgid "Small perimeters" +msgstr "Маленькі периметри" -#: lib/Slic3r/GUI/MainFrame.pm:244 -msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" -msgstr "Повторити останнє швидке нарізання\tCtrl+Shift+U" +#: src/libslic3r/PrintConfig.cpp:1722 +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 "Цей окремий параметр впливає на швидкість периметрів, що мають радіус <= 6,5 мм (як правило, дірки). Якщо вона виражена у відсотках (наприклад: 80%), вона буде розрахована за наведеним вище параметром швидкості. Встановити 0 для автоматичного використання." -#: lib/Slic3r/GUI/MainFrame.pm:244 -msgid "Repeat last quick slice" -msgstr "Повторити останнє швидке нарізання" +#: src/libslic3r/PrintConfig.cpp:1732 +msgid "Solid infill threshold area" +msgstr "Порогова площа суцільного наповнення" -#: lib/Slic3r/GUI/MainFrame.pm:251 -msgid "Slice to SV&G…\tCtrl+G" -msgstr "Нарізати в SV&G…\tCtrl+G" +#: src/libslic3r/PrintConfig.cpp:1734 +msgid "Force solid infill for regions having a smaller area than the specified threshold." +msgstr "Встановити суцільне заповнення для регіонів, що мають площу, меншу зазначеного порогу." -#: lib/Slic3r/GUI/MainFrame.pm:251 -msgid "Slice file to a multi-layer SVG" -msgstr "Нарізати файл в багатошаровий SVG" +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" +msgstr "мм²" -#: lib/Slic3r/GUI/MainFrame.pm:255 -msgid "(&Re)Slice Now\tCtrl+S" -msgstr "(Пере)Нарізати зараз\tCtrl+S" +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "Екструдер суцільних наповнень" -#: lib/Slic3r/GUI/MainFrame.pm:255 -msgid "Start new slicing process" -msgstr "Почати новий процес нарізання" +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "Екструдер для друку суцільних наповнень." -#: lib/Slic3r/GUI/MainFrame.pm:258 -msgid "Repair STL file…" -msgstr "Відновити STL-файл…" +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "Суцільне наповнення кожні" -#: lib/Slic3r/GUI/MainFrame.pm:258 -msgid "Automatically repair an STL file" -msgstr "Автоматично відновити як STL-файл" +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "Ця функція дозволяє закріпити суцільні шари на задану кількість шарів. 0 - щоб відключити. Ви можете встановити будь-яке значення (наприклад, 9999); Slic3r автоматично вибере максимально можливу кількість шарів для комбінування відповідно до діаметра сопла та висоти шару." -#: lib/Slic3r/GUI/MainFrame.pm:262 -msgid "&Quit" -msgstr "Вихід" +#: src/libslic3r/PrintConfig.cpp:1766 +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." +msgstr "Встановіть значення ненульовим, щоб встановити ручну ширину екструзії для наповнення для твердих поверхонь. Якщо залишити 0, буде використана ширина екструзії за замовчуванням, в іншому випадку використовуватиметься 1,125 х діаметр сопла. Якщо він виражений у відсотках (наприклад, 90%), він буде обчислюватися за висотою шару." -#: lib/Slic3r/GUI/MainFrame.pm:262 -msgid "Quit Slic3r" -msgstr "Вийти зі Slic3r" +#: src/libslic3r/PrintConfig.cpp:1777 +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 "Швидкість друку твердих областей (верхня / нижня / внутрішня горизонтальна оболонка). Може бути виражено у відсотках (наприклад: 80%) від вказаної вище швидкості заповнення за замовчуванням. Встановити 0 для автоматичного використання." -#: lib/Slic3r/GUI/MainFrame.pm:272 -msgid "Export G-code..." -msgstr "Експорт G-code..." +#: src/libslic3r/PrintConfig.cpp:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "Кількість суцільних шарів для генерування на верхній і нижній поверхні." -#: lib/Slic3r/GUI/MainFrame.pm:272 -msgid "Export current plate as G-code" -msgstr "Експорт поточної пластини як G-код" +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "Спіральна ваза" -#: lib/Slic3r/GUI/MainFrame.pm:275 -msgid "Export plate as STL..." -msgstr "Експорт пластини як STL..." +#: src/libslic3r/PrintConfig.cpp:1797 +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 протягом друку одного-стінного об'єкта для уникнення будь-якого видимого шву. Цей параметр вимагає одношарового периметру, відсутнє наповнення, відсутність верхніх суцільних шарів і відсутність матеріалу підтримки. Ви все ще можете встановити будь-яку кількість нижніх суцільних шарів, а також петель плінтусу/краю. Це не спрацює при друку більше, ніж одного об'єкта." -#: lib/Slic3r/GUI/MainFrame.pm:275 -msgid "Export current plate as STL" -msgstr "Експорт поточної пластини як STL" +#: src/libslic3r/PrintConfig.cpp:1806 +msgid "Temperature variation" +msgstr "Варіація температури" -#: lib/Slic3r/GUI/MainFrame.pm:278 -msgid "Export plate as AMF..." -msgstr "Експорт пластини як AMF..." +#: src/libslic3r/PrintConfig.cpp:1807 +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 "Відмітка температури, яка застосовується, коли екструдер не активний. Вмикає \"жертовний\" плінтус на повній висоті, на які періодично очищуються сопла." -#: lib/Slic3r/GUI/MainFrame.pm:278 -msgid "Export current plate as AMF" -msgstr "Експорт поточної пластини як AMF" +#: src/libslic3r/PrintConfig.cpp:1818 +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]\" де завгодно." -#: lib/Slic3r/GUI/MainFrame.pm:281 -msgid "Export plate as 3MF..." -msgstr "Експорт пластини як 3MF..." +#: src/libslic3r/PrintConfig.cpp:1834 +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 обробляється в порядку екструдерів." -#: lib/Slic3r/GUI/MainFrame.pm:281 -msgid "Export current plate as 3MF" -msgstr "Експорт поточної пластини як 3MF" +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "Одиночний екструдер кількох матеріалів" -#: lib/Slic3r/GUI/MainFrame.pm:294 -msgid "Select &Plater Tab\tCtrl+1" -msgstr "Вибрати вкладку Plater\tCtrl+1" +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "Принтер мультиплексує нитки в єдиний гарячий кінець." -#: lib/Slic3r/GUI/MainFrame.pm:294 -msgid "Show the plater" -msgstr "Показати plater" +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:300 -msgid "Select &Controller Tab\tCtrl+T" -msgstr "Вибрати вкладку Контроллер" +#: src/libslic3r/PrintConfig.cpp:1858 +msgid "If enabled, all printing extruders will be primed at the front edge of the print bed at the start of the print." +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:300 -msgid "Show the printer controller" -msgstr "Показати контролер принтера" +#: src/libslic3r/PrintConfig.cpp:1864 +msgid "Generate support material" +msgstr "Створити підтримуючий матеріал" -#: lib/Slic3r/GUI/MainFrame.pm:308 -msgid "Select P&rint Settings Tab\tCtrl+2" -msgstr "Вибрати вкладку параметрів друку\tCtrl+2" +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "Увімкнути генерацію матеріалів підтримки." -#: lib/Slic3r/GUI/MainFrame.pm:308 -msgid "Show the print settings" -msgstr "Показати параметри друку" +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:311 -msgid "Select &Filament Settings Tab\tCtrl+3" -msgstr "Вибрати вкладку параметрів філаменту\tCtrl+3" +#: src/libslic3r/PrintConfig.cpp:1873 +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 "" -#: lib/Slic3r/GUI/MainFrame.pm:311 -msgid "Show the filament settings" -msgstr "Показати параметри філаменту" +#: src/libslic3r/PrintConfig.cpp:1880 +msgid "XY separation between an object and its support" +msgstr "Розподіл XY між об'єктом та його підтримкою" -#: lib/Slic3r/GUI/MainFrame.pm:314 -msgid "Select Print&er Settings Tab\tCtrl+4" -msgstr "Вибрати вкладку параметрів принтеру\tCtrl+4" +#: src/libslic3r/PrintConfig.cpp:1882 +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 "Розподіл XY між об'єктом та його підтримкою. Якщо вона виражена у відсотках (наприклад, 50%), вона буде розрахована за зовнішньою шириною периметру." -#: lib/Slic3r/GUI/MainFrame.pm:314 -msgid "Show the printer settings" -msgstr "Показати параметри принтеру" +#: src/libslic3r/PrintConfig.cpp:1893 +msgid "Pattern angle" +msgstr "Кут шаблону" -#: lib/Slic3r/GUI/MainFrame.pm:326 -msgid "Iso" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "Use this setting to rotate the support material pattern on the horizontal plane." +msgstr "Використовуйте цей параметр, щоб повернути шаблон підтримуючого матеріалу на горизонтальній площині." -#: lib/Slic3r/GUI/MainFrame.pm:326 -msgid "Iso View" -msgstr "Вид Iso" +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "Only create support if it lies on a build plate. Don't create support on a print." +msgstr "Створити підтримку лише, для того, що лежить на збірній пластині. Не створювати підтримку на друк." -#: lib/Slic3r/GUI/MainFrame.pm:327 -msgid "Top View" -msgstr "Вид зверху" +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "Контактна відстань по осі Z" -#: lib/Slic3r/GUI/MainFrame.pm:328 -msgid "Bottom View" -msgstr "Вид знизу" +#: src/libslic3r/PrintConfig.cpp:1915 +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 "Вертикальна відстань між об'єктом та інтерфейсом матеріалу підтримки. Встановлення значення 0 також захистить Slic3r від використання потоку мостів та швидкості для першого шару об'єктну." -#: lib/Slic3r/GUI/MainFrame.pm:329 -msgid "Front" -msgstr "Спереду" +#: src/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:329 -msgid "Front View" -msgstr "Вид спереду" +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:330 -msgid "Rear View" -msgstr "Вид ззаду" +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "Забезпечити підтримку першого(их)" -#: lib/Slic3r/GUI/MainFrame.pm:331 -msgid "Left" -msgstr "З лівого боку" +#: src/libslic3r/PrintConfig.cpp:1931 +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." +msgstr "Генерувати допоміжний матеріал для зазначеної кількості шарів, що підраховують знизу, незалежно від того, включено чи ні нормальний матеріал підтримки, і незалежно від будь-якого порогу кута. Це корисно для отримання більшої адгезії об'єктів, що мають дуже тонкий або поганий слід на збірній пластині." -#: lib/Slic3r/GUI/MainFrame.pm:331 -msgid "Left View" -msgstr "Вид з лівого боку" +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "Забезпечити підтримку перших n шарів" -#: lib/Slic3r/GUI/MainFrame.pm:332 -msgid "Right" -msgstr "З правого боку" +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "Підтримуючий матеріал / пліт / плінтус екструдеру" -#: lib/Slic3r/GUI/MainFrame.pm:332 -msgid "Right View" -msgstr "Вид з правого боку" +#: src/libslic3r/PrintConfig.cpp:1945 +msgid "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 для використання поточного екструдера, щоб мінімізувати зміни інструменту)." -#: lib/Slic3r/GUI/MainFrame.pm:338 -msgid "Prusa 3D Drivers" -msgstr "Драйвери Prusa3D" +#: src/libslic3r/PrintConfig.cpp:1955 +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." +msgstr "Встановіть значення ненульовим, щоб встановити ручну ширину екструзії матеріалу для підтримки. Якщо залишити 0, буде використана ширина екструзії, встановлена за замовчуванням, інакше використовуватиметься діаметр сопла. Якщо він виражений у відсотках (наприклад, 90%), він буде обчислюватися за висотою шару." -#: lib/Slic3r/GUI/MainFrame.pm:338 -msgid "Open the Prusa3D drivers download page in your browser" -msgstr "Відкрити сторінку завантаження драйверів Prusa3D у своєму браузері" +#: src/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "Інтерфейсні петлі" -#: lib/Slic3r/GUI/MainFrame.pm:341 -msgid "Prusa Edition Releases" -msgstr "Випуски(релізи) Prusa Edition" +#: src/libslic3r/PrintConfig.cpp:1966 +msgid "Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "Закрити петлями верхній контактний шар підтримки. За замовчанням вимкнено." -#: lib/Slic3r/GUI/MainFrame.pm:341 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "Відкрити сторінку релізів Prusa Edition у своєму браузері" +#: src/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "Екструдер інтерфейсу підтримуючого матеріалу / плоту" -#: lib/Slic3r/GUI/MainFrame.pm:348 -msgid "Slic3r &Website" -msgstr "Веб-сайт Slic3r" +#: src/libslic3r/PrintConfig.cpp:1974 +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 "Екструдер, що використовується під час друку інтерфейсу матеріалу підтримки (1+, 0 для використання поточного екструдера, щоб звести до мінімуму зміни інструменту). Це також впливає на плот." -#: lib/Slic3r/GUI/MainFrame.pm:348 -msgid "Open the Slic3r website in your browser" -msgstr "Відкрити сторінку Slic3r у своєму браузері" +#: src/libslic3r/PrintConfig.cpp:1982 +msgid "Interface layers" +msgstr "Інтерфейсні шари" -#: lib/Slic3r/GUI/MainFrame.pm:351 -msgid "Slic3r &Manual" -msgstr "Посібник до Slic3r" +#: src/libslic3r/PrintConfig.cpp:1984 +msgid "Number of interface layers to insert between the object(s) and support material." +msgstr "Кількість шарів інтерфейсу для вставки між об'єктом(ами) та підтримуючим матеріалом." -#: lib/Slic3r/GUI/MainFrame.pm:351 -msgid "Open the Slic3r manual in your browser" -msgstr "Відкрити сторінку посібнику до Slic3r у своєму браузері" +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "Відстань між шаблонами інтерфейсу" -#: lib/Slic3r/GUI/MainFrame.pm:355 -msgid "System Info" -msgstr "Інформація про систему" +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." +msgstr "Відстань між інтерфейсними лініями. Встановити 0, щоб отримати надійний інтерфейс." -#: lib/Slic3r/GUI/MainFrame.pm:355 -msgid "Show system information" -msgstr "Показати інформацію про систему" +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." +msgstr "Швидкість друку інтерфейсних шарів підтримуючого матеріалу. Якщо вона виражена у відсотках (наприклад, 50%), вона буде розрахована за швидкістю матеріалу підтримки." -#: lib/Slic3r/GUI/MainFrame.pm:358 -msgid "Show &Configuration Folder" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "Шаблон" -#: lib/Slic3r/GUI/MainFrame.pm:358 -msgid "Show user configuration folder (datadir)" +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "Шаблон, що використовується для створення матеріалу підтримки." + +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:361 -msgid "Report an Issue" -msgstr "Повідомити про проблему" +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "Відстань між шаблонами" -#: lib/Slic3r/GUI/MainFrame.pm:361 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Повідомити про проблему на Slic3r Prusa Edition" +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "Відстань між лініями підтримуючого матеріалу." -#: lib/Slic3r/GUI/MainFrame.pm:364 -msgid "&About Slic3r" -msgstr "Про Slic3r" +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "Швидкість друку підтримуючого матеріалу." -#: lib/Slic3r/GUI/MainFrame.pm:364 -msgid "Show about dialog" -msgstr "Показати діалог Про Slic3r" +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "Синхронізувати з шарами об'єкту" -#: lib/Slic3r/GUI/MainFrame.pm:374 -msgid "&File" -msgstr "Файл" +#: src/libslic3r/PrintConfig.cpp:2049 +msgid "Synchronize support layers with the object print layers. This is useful with multi-material printers, where the extruder switch is expensive." +msgstr "Синхронізувати шари підтримки з шарами друку об'єкта. Це корисно використовувати з багато-матеріальними принтерами, де перемикання екструдерів -затратна процедура." -#: lib/Slic3r/GUI/MainFrame.pm:375 -msgid "&Plater" -msgstr "&Платер" +#: src/libslic3r/PrintConfig.cpp:2056 +msgid "Overhang threshold" +msgstr "Порог нависання" -#: lib/Slic3r/GUI/MainFrame.pm:376 -msgid "&Object" -msgstr "&Об'єкт" +#: src/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "Матеріал підтримки не буде сформований для виступів, кут нахилу (90° = вертикальний) яких перевищує заданий порог. Іншими словами, це значення представляє найбільш горизонтальний схил (вимірюваний з горизонтальної площини), який ви можете надрукувати без підтримуючого матеріалу. Встановити 0 для автоматичного визначення (рекомендовано)." -#: lib/Slic3r/GUI/MainFrame.pm:377 -msgid "&Window" -msgstr "Вікно" +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "З оболонкою навколо підтримки" -#: lib/Slic3r/GUI/MainFrame.pm:378 -msgid "&View" -msgstr "Вид" +#: src/libslic3r/PrintConfig.cpp:2073 +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 "Додати оболонку (одну лінію периметра) навколо базової підтримки. Це робить підтримку більш надійною, але її важче видалити." -#: lib/Slic3r/GUI/MainFrame.pm:381 -msgid "&Help" -msgstr "Доромога" +#: src/libslic3r/PrintConfig.cpp:2081 +msgid "Extruder temperature for layers after the first one. Set this to zero to disable temperature control commands in the output." +msgstr "Температура екструдеру для шарів після першого. Установіть 0, щоб вимкнути команди керування температурою на виході." -#: lib/Slic3r/GUI/MainFrame.pm:412 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Вибрати файл для нарізання (STL/OBJ/AMF/3MF/PRUSA):" +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "Температура" -#: lib/Slic3r/GUI/MainFrame.pm:424 -msgid "No previously sliced file." -msgstr "Немає попередньо нарізаного файлу." +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "Виявлення тонких стін" -#: lib/Slic3r/GUI/MainFrame.pm:425 lib/Slic3r/GUI/Plater.pm:1405 -msgid "Error" -msgstr "Помилка" +#: src/libslic3r/PrintConfig.cpp:2092 +msgid "Detect single-width walls (parts where two extrusions don't fit and we need to collapse them into a single trace)." +msgstr "Визначення одношарової стінки (частини, де два екструзії не підходять, і нам потрібно згорнути їх у єдиний слід)." -#: lib/Slic3r/GUI/MainFrame.pm:429 -msgid "Previously sliced file (" -msgstr "Попередньо нарізаний файл (" +#: src/libslic3r/PrintConfig.cpp:2099 +msgid "Threads" +msgstr "Нитки" -#: lib/Slic3r/GUI/MainFrame.pm:429 -msgid ") not found." -msgstr ") не знайдено." +#: src/libslic3r/PrintConfig.cpp:2100 +msgid "Threads are used to parallelize long-running tasks. Optimal threads number is slightly above the number of available cores/processors." +msgstr "Нитки використовуються для паралелізації довготривалих завдань. Оптимальна кількість ниток трохи перевищує кількість доступних ядер / процесорів." -#: lib/Slic3r/GUI/MainFrame.pm:430 -msgid "File Not Found" -msgstr "Файл не знайдено" +#: src/libslic3r/PrintConfig.cpp:2112 +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]." -#: lib/Slic3r/GUI/MainFrame.pm:469 -msgid "SVG" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "Установіть ненульове значення, щоб встановити ручну ширину екструзії для наповнення верхньої поверхні. Ви можете використовувати більш тонкі екструдати, щоб заповнити всі вузькі області і отримати більш гладкий результат. Якщо залишити 0, буде використана ширина екструзії, встановлена за замовчуванням, інакше використовуватиметься діаметр сопла. Якщо вона виражена у відсотках (наприклад, 90%), вона буде обчислюватися за висотою шару." -#: lib/Slic3r/GUI/MainFrame.pm:469 -msgid "G-code" -msgstr "G-код" +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "Швидкість друку верхніх суцільних шарів (це стосується тільки найвищих зовнішніх шарів, а не їхніх внутрішніх суцільних шарів). Ви можете захотіти сповільнення, щоб отримати більш гарну обробку поверхні. Це можна виразити відсотком (наприклад, 80%) звищення швидкості щільного наповнення . Встановити 0 для автоматичного обчислення." -#: lib/Slic3r/GUI/MainFrame.pm:469 lib/Slic3r/GUI/Plater.pm:1795 -msgid " file as:" -msgstr " файл як:" +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "Верхні" -#: lib/Slic3r/GUI/MainFrame.pm:483 -msgid "Slicing…" -msgstr "Нарізання…" +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "Кількість суцільних шарів, генерованих на верхніх поверхнях." -#: lib/Slic3r/GUI/MainFrame.pm:483 -msgid "Processing " -msgstr "Обробка " +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "Верхні суцільні шари" -#: lib/Slic3r/GUI/MainFrame.pm:503 -msgid " was successfully sliced." -msgstr " був успішно нарізаний." +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "Швидкість рухів пересування (стрибки між далекими точками екструзії)." -#: lib/Slic3r/GUI/MainFrame.pm:505 -msgid "Slicing Done!" -msgstr "Нарізання завершено!" +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "Використовувати відмову прошивки" -#: lib/Slic3r/GUI/MainFrame.pm:521 -msgid "Select the STL file to repair:" -msgstr "Вибрати STL-файл для відновлення:" +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "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-ом." -#: lib/Slic3r/GUI/MainFrame.pm:535 -msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "Зберегти OBJ-файл (менш схильний координувати помилки, ніж STL) як:" +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "Використовувати відносні E відстані" -#: lib/Slic3r/GUI/MainFrame.pm:549 -msgid "Your file was repaired." -msgstr "Ваш файл було відновлено." +#: src/libslic3r/PrintConfig.cpp:2177 +msgid "If your firmware requires relative E values, check this, otherwise leave it unchecked. Most firmwares use absolute values." +msgstr "Якщо ваша прошивка потребує відносне значення E, зазначте це, інакше залиште його незазначеним. Більшість прошивок використовують абсолютні значення." -#: lib/Slic3r/GUI/MainFrame.pm:549 -msgid "Repair" -msgstr "Відновити" +#: src/libslic3r/PrintConfig.cpp:2184 +msgid "Use volumetric E" +msgstr "Використовувати об'ємний Е" -#: lib/Slic3r/GUI/MainFrame.pm:560 -msgid "Save configuration as:" -msgstr "Зберегти конфігурацію як:" +#: src/libslic3r/PrintConfig.cpp:2185 +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 "Цей експериментальний параметр використовує виводи значення E в кубічних міліметрах замість лінійних міліметрів. Якщо ваша прошивку ще не знає діаметр ниток, ви можете встановити такі команди, як \"M200 D [filament_diameter_0] T0\" у вашому старті G-коду, щоб включити об'ємний режим і використовувати діаметр нитки, пов'язаний з вибраною ниткою в Slic3r. Останнім часом це підтримується лише Marlin-ом." -#: lib/Slic3r/GUI/MainFrame.pm:578 lib/Slic3r/GUI/MainFrame.pm:622 -msgid "Select configuration to load:" -msgstr "Вибрати конфігурацію для завантаження:" +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "Увімкнути функцію шарів змінної висоти" + +#: src/libslic3r/PrintConfig.cpp:2197 +msgid "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default." +msgstr "Деякі принтери або налаштування принтера можуть мати труднощі з друкуванням шарів змінної висоти. Увімкнено за умовчанням." + +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "Вичіщувати при відмові" -#: lib/Slic3r/GUI/MainFrame.pm:601 -msgid "Save presets bundle as:" -msgstr "Зберегти набір налаштувань як:" +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "This flag will move the nozzle while retracting to minimize the possible blob on leaky extruders." +msgstr "Цей прапорець перемістить сопло під час відмови, щоб мінімізувати можливість утворення краплі на витікаючих екструдерах." -#: lib/Slic3r/GUI/MainFrame.pm:642 -#, perl-format -msgid "%d presets successfully imported." -msgstr "%d налаштувань успішно імпортовано." +#: src/libslic3r/PrintConfig.cpp:2213 +msgid "Multi material printers may need to prime or purge extruders on tool changes. Extrude the excess material into the wipe tower." +msgstr "Мульти-матеріальні принтери можуть потребувати заправки або вичищення екструдерів при зміні інструмента. Екструдуйте надлишок матеріалу до вичищуючої вежі." -#: lib/Slic3r/GUI/Plater.pm:164 lib/Slic3r/GUI/Plater.pm:2323 -msgid "3D" +#: src/libslic3r/PrintConfig.cpp:2220 +msgid "Purging volumes - load/unload volumes" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:206 -msgid "2D" +#: src/libslic3r/PrintConfig.cpp:2221 +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 "" -#: lib/Slic3r/GUI/Plater.pm:224 -msgid "Layers" -msgstr "Шари" - -#: lib/Slic3r/GUI/Plater.pm:250 lib/Slic3r/GUI/Plater.pm:268 -msgid "Add…" -msgstr "Додати…" +#: src/libslic3r/PrintConfig.cpp:2228 +msgid "Purging volumes - matrix" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:252 lib/Slic3r/GUI/Plater.pm:270 -msgid "Delete All" -msgstr "Видалити все" +#: src/libslic3r/PrintConfig.cpp:2229 +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 "" -#: lib/Slic3r/GUI/Plater.pm:253 lib/Slic3r/GUI/Plater.pm:271 -msgid "Arrange" -msgstr "Організувати" +#: src/libslic3r/PrintConfig.cpp:2239 +msgid "Position X" +msgstr "Позиція X" -#: lib/Slic3r/GUI/Plater.pm:255 -msgid "More" -msgstr "Більше" +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "X координата лівого переднього кута вичищуючої вежі" -#: lib/Slic3r/GUI/Plater.pm:256 -msgid "Fewer" -msgstr "Менше" +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "Позиція Y" -#: lib/Slic3r/GUI/Plater.pm:258 -msgid "45° ccw" -msgstr "45° пгс" +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "Y координата лівого переднього кута вичищуючої вежі" -#: lib/Slic3r/GUI/Plater.pm:259 -msgid "45° cw" -msgstr "45° згс" +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "Ширина вичищуючої вежі" -#: lib/Slic3r/GUI/Plater.pm:260 lib/Slic3r/GUI/Plater.pm:276 -msgid "Scale…" -msgstr "Масштаб…" +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:261 lib/Slic3r/GUI/Plater.pm:277 -#: lib/Slic3r/GUI/Plater.pm:2293 -msgid "Split" -msgstr "Розділити" +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:262 lib/Slic3r/GUI/Plater.pm:278 -#: lib/Slic3r/GUI/Plater.pm:2296 -msgid "Cut…" -msgstr "Вирізати…" +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:264 lib/Slic3r/GUI/Plater.pm:279 -#: lib/Slic3r/GUI/Plater.pm:2300 -msgid "Settings…" -msgstr "Параметри…" +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:265 -msgid "Layer Editing" -msgstr "Редагування шарів" +#: src/libslic3r/PrintConfig.cpp:2273 +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 "" -#: lib/Slic3r/GUI/Plater.pm:280 -msgid "Layer editing" -msgstr "Редагування шарів" +#: src/libslic3r/PrintConfig.cpp:2281 +msgid "Wipe into this object" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:303 -msgid "Name" -msgstr "Ім'я" +#: src/libslic3r/PrintConfig.cpp:2282 +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 "" -#: lib/Slic3r/GUI/Plater.pm:304 lib/Slic3r/GUI/Plater.pm:992 -msgid "Copies" -msgstr "Копії" +#: src/libslic3r/PrintConfig.cpp:2289 +msgid "Maximal bridging distance" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:305 lib/Slic3r/GUI/Plater.pm:1158 -#: lib/Slic3r/GUI/Plater.pm:1163 lib/Slic3r/GUI/Plater.pm:2262 -msgid "Scale" -msgstr "Масштаб" +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:322 -msgid "Export G-code…" -msgstr "Експортувати G-код…" +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "Зрівноваження розміру за XY" -#: lib/Slic3r/GUI/Plater.pm:323 -msgid "Slice now" -msgstr "Нарізати зараз" +#: src/libslic3r/PrintConfig.cpp:2299 +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 за заданим значенням (негативний - внутрішній, позитивний - ззовнішній). Це може бути корисним для точного налаштування розмірів отворів." -#: lib/Slic3r/GUI/Plater.pm:324 -msgid "Print…" -msgstr "Друк…" +#: src/libslic3r/PrintConfig.cpp:2308 +msgid "Z offset" +msgstr "Зміщення Z" -#: lib/Slic3r/GUI/Plater.pm:325 -msgid "Send to printer" -msgstr "Надіслати на принтер" +#: src/libslic3r/PrintConfig.cpp:2309 +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 у вихідному G-коді. Воно використовується для зрівноваження поганої кінцевої позиції Z: наприклад, якщо ваш кінцевий нуль фактично залишає сопло на 0,3 мм від полотна друку, встановіть його на значення -0,3 (або виправте ваш endstop)." -#: lib/Slic3r/GUI/Plater.pm:326 -msgid "Export STL…" -msgstr "Експортувати STL…" +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:453 -msgid "Print settings" -msgstr "Параметри друку" +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:455 -msgid "Printer" -msgstr "Принтер" +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:488 -msgid "Info" -msgstr "Інфо" +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:499 -msgid "Volume" -msgstr "Обсяг" +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:500 -msgid "Facets" -msgstr "Грані" +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:501 -msgid "Materials" -msgstr "Матеріали" +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:502 -msgid "Manifold" -msgstr "Різноманіття" +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:527 -msgid "Sliced Info" -msgstr "Інформація з нарізання" +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:713 -msgid "Loading…" -msgstr "Завантаження…" +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:713 lib/Slic3r/GUI/Plater.pm:727 -msgid "Processing input file\n" -msgstr "Обробка вхідного файлу\n" +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:750 -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" +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" msgstr "" -"Цей файл містить кілька об'єктів, розташованих на декількох висотах. Замість " -"того, щоб розглядати їх як кілька об'єктів, чи потрібно розглянути\n" -"цей файл як єдиний об'єкт, що має декілька частин?\n" -#: lib/Slic3r/GUI/Plater.pm:753 lib/Slic3r/GUI/Plater.pm:770 -msgid "Multi-part object detected" -msgstr "Виявлено об'єкт, що складається з кількох частин" +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:767 -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" +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" msgstr "" -"До мульти-матеріального принтеру завантажено кілька об'єктів.\n" -"Замість того, щоб розглядати їх як кілька об'єктів, чи потрібно розглянути\n" -"ці файл як єдиний об'єкт, що має декілька частин?\n" -#: lib/Slic3r/GUI/Plater.pm:779 -msgid "Loaded " -msgstr "Завантажений " +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:837 -msgid "" -"Your object appears to be too large, so it was automatically scaled down to " -"fit your print bed." +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" msgstr "" -"Ваш об'єкт видався занадто великим, тому він автоматично зменшився " -"відповідно до вашої полотна друку." -#: lib/Slic3r/GUI/Plater.pm:838 -msgid "Object too large?" -msgstr "Об'єкт занадто великий?" +#: src/libslic3r/PrintConfig.cpp:2403 +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 "" -#: lib/Slic3r/GUI/Plater.pm:992 -msgid "Enter the number of copies of the selected object:" -msgstr "Введіть кількість копій обраного об'єкта:" +#: src/libslic3r/PrintConfig.cpp:2410 +msgid "Landscape" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1019 -msgid "" -"\n" -"Non-positive value." +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" msgstr "" -"\n" -"Непозитивне значення." -#: lib/Slic3r/GUI/Plater.pm:1020 -msgid "" -"\n" -"Not a numeric value." +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" msgstr "" -"\n" -"Не числове значення." -#: lib/Slic3r/GUI/Plater.pm:1021 -msgid "Slic3r Error" -msgstr "Помилка Slic3r" +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1042 -msgid "Enter the rotation angle:" -msgstr "Введіть кут повороту:" +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1042 -msgid "Rotate around " -msgstr "Обертати навколо " +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1042 -msgid "Invalid rotation angle entered" -msgstr "Введено неправильний кут повороту" +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1132 -#, perl-format -msgid "Enter the new size for the selected object (print bed: %smm):" -msgstr "Введіть новий розмір для обраного об'єкта (полотна друку: %smm):" +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1133 lib/Slic3r/GUI/Plater.pm:1137 -msgid "Scale along " -msgstr "Масштабувати разом " +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1133 lib/Slic3r/GUI/Plater.pm:1137 -#: lib/Slic3r/GUI/Plater.pm:1158 lib/Slic3r/GUI/Plater.pm:1163 -msgid "Invalid scaling value entered" -msgstr "Введено неправильне значення масштабування" +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1137 lib/Slic3r/GUI/Plater.pm:1163 -#, no-perl-format -msgid "Enter the scale % for the selected object:" -msgstr "Введіть шкалу % для обраного об'єкта:" +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1158 -msgid "Enter the new max size for the selected object:" -msgstr "Введіть новий максимальний розмір для обраного об'єкта:" +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1218 -msgid "" -"The selected object can't be split because it contains more than one volume/" -"material." +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" msgstr "" -"Вибраний об'єкт не можна розділити, оскільки містить більше одного об'єму/" -"матеріалу." -#: lib/Slic3r/GUI/Plater.pm:1227 -msgid "" -"The selected object couldn't be split because it contains only one part." +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" msgstr "" -"Вибраний об'єкт не можна розділити, оскільки він містить лише одну частину." -#: lib/Slic3r/GUI/Plater.pm:1391 -msgid "Slicing cancelled" -msgstr "Нарізання скасовано" +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1405 -msgid "Another export job is currently running." -msgstr "На даний час виконується інший експорт." +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1555 -msgid "File added to print queue" -msgstr "Файл додано до черги друку" +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1561 -msgid "G-code file exported to " -msgstr "Файл G-коду експортується до " +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1564 -msgid "Export failed" -msgstr "Експортувати не вдалося" +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1576 -msgid "OctoPrint upload finished." +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1610 -msgid "Used Filament (m)" -msgstr "Використано філаметну (м)" +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1612 -msgid "Used Filament (mm³)" -msgstr "Використано філаметну (мм³)" +#: src/libslic3r/PrintConfig.cpp:2531 +msgid "Controls the bridge type between two neigboring 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 "" -#: lib/Slic3r/GUI/Plater.pm:1614 -msgid "Used Filament (g)" -msgstr "Використано філаметну (г)" +#: src/libslic3r/PrintConfig.cpp:2540 +msgid "Zig-Zag" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1618 -msgid "Estimated printing time (normal mode)" +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1620 -msgid "Estimated printing time (silent mode)" +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1659 lib/Slic3r/GUI/Plater.pm:1701 -msgid "STL file exported to " -msgstr "STL-файл експортовано в " +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1740 -msgid "AMF file exported to " -msgstr "AMF-файл експортовано в " +#: src/libslic3r/PrintConfig.cpp:2548 +msgid "Merging bridges or pillars into another pillars can increase the radius. Zero means no increase, one means full increase." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1744 -msgid "Error exporting AMF file " -msgstr "Помилка експортування AMF-файлу " +#: src/libslic3r/PrintConfig.cpp:2557 +msgid "Support base diameter" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1756 -msgid "3MF file exported to " -msgstr "3MF-файл експортовано в " +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1760 -msgid "Error exporting 3MF file " -msgstr "Помилка експортування 3MF-файлу " +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2140 -#, perl-format -msgid "%d (%d shells)" -msgstr "%d (%d оболонок)" +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2142 -#, perl-format -msgid "Auto-repaired (%d errors)" -msgstr "Автоматичне відновлення (%d помилок)" +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2147 -#, perl-format -msgid "" -"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " -"facets reversed, %d backwards edges" +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." msgstr "" -"вироджено %d грані, виправлено %d країв, вилучено %d грані, додано %d грані, " -"змінено %d грані, повернуто %d країв" -#: lib/Slic3r/GUI/Plater.pm:2152 -msgid "Yes" -msgstr "Так" +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2215 -msgid "Remove the selected object" -msgstr "Видалити вибраний об'єкт" +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2218 -msgid "Increase copies" -msgstr "Збільшити копії" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2218 -msgid "Place one more copy of the selected object" -msgstr "Розташувати ще одну копію обраного об'єкта" +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2221 -msgid "Decrease copies" -msgstr "Зменшити копії" +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2221 -msgid "Remove one copy of the selected object" -msgstr "Вилучіть одну копію обраного об'єкта" +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "How many support points (approximately) should be placed on horizontal surface." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2224 -msgid "Set number of copies…" -msgstr "Встановити кількість копій…" +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2224 -msgid "Change the number of copies of the selected object" -msgstr "Змінити кількість копій обраного об'єкта" +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2228 -msgid "Rotate 45° clockwise" -msgstr "Повернути на 45° за годинниковою стрілкою" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "How many support points (approximately) should be placed on surface sloping at 45 degrees." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2228 -msgid "Rotate the selected object by 45° clockwise" -msgstr "Повернути виділений об'єкт на 45° за годинниковою стрілкою" +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2231 -msgid "Rotate 45° counter-clockwise" -msgstr "Повернути 45° проти годинникової стрілки" +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2231 -msgid "Rotate the selected object by 45° counter-clockwise" -msgstr "Повернути виділений об'єкт на 45° проти годинникової стрілки" +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2236 -msgid "Rotate" -msgstr "Повернути" +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2236 -msgid "Rotate the selected object by an arbitrary angle" -msgstr "Повернути виділений об'єкт на довільний кут" +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2238 -msgid "Around X axis…" -msgstr "Навколо осі X…" +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2238 -msgid "Rotate the selected object by an arbitrary angle around X axis" -msgstr "Повернути виділений об'єкт на довільний кут навколо осі Х" +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2241 -msgid "Around Y axis…" -msgstr "Навколо осі Y…" +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2241 -msgid "Rotate the selected object by an arbitrary angle around Y axis" -msgstr "Повернути виділений об'єкт на довільний кут навколо осі Y" +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2244 -msgid "Around Z axis…" -msgstr "Навколо осі Z…" +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2244 -msgid "Rotate the selected object by an arbitrary angle around Z axis" -msgstr "Повернути виділений об'єкт на довільний кут навколо осі Z" +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "Don't arrange the objects on the build plate. The model coordinates define the absolute positions on the build plate. The option --center will be ignored." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2249 -msgid "Mirror" -msgstr "Віддзеркалити" +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2249 -msgid "Mirror the selected object" -msgstr "Віддзеркалити виділений об'єкт" +#: src/libslic3r/PrintConfig.cpp:3031 +msgid "Load and store settings at the given directory. This is useful for maintaining different profiles or including configurations from a network storage." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2251 lib/Slic3r/GUI/Plater.pm:2267 -#: lib/Slic3r/GUI/Plater.pm:2283 -msgid "Along X axis…" -msgstr "Уздовж осі X…" +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "Export 3MF" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2251 -msgid "Mirror the selected object along the X axis" -msgstr "Віддзеркалити виділений об'єкт уздовж осі Х" +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2254 lib/Slic3r/GUI/Plater.pm:2270 -#: lib/Slic3r/GUI/Plater.pm:2286 -msgid "Along Y axis…" -msgstr "Уздовж осі Y…" +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2254 -msgid "Mirror the selected object along the Y axis" -msgstr "Віддзеркалити виділений об'єкт уздовж осі Y" +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2257 lib/Slic3r/GUI/Plater.pm:2273 -#: lib/Slic3r/GUI/Plater.pm:2289 -msgid "Along Z axis…" -msgstr "Уздовж осі Z…" +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2257 -msgid "Mirror the selected object along the Z axis" -msgstr "Віддзеркалити виділений об'єкт уздовж осі Z" +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2262 lib/Slic3r/GUI/Plater.pm:2278 -msgid "Scale the selected object along a single axis" -msgstr "Масштабувати виділений об'єкт уздовж осі" +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2264 lib/Slic3r/GUI/Plater.pm:2280 -msgid "Uniformly…" -msgstr "Рівномірно…" +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "Forces the GUI launch instead of command line slicing (if you supply a model file, it will be loaded into the plater)" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2264 lib/Slic3r/GUI/Plater.pm:2280 -msgid "Scale the selected object along the XYZ axes" -msgstr "Масштабувати виділений об'єкт уздовж осей XYZ" +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2267 lib/Slic3r/GUI/Plater.pm:2283 -msgid "Scale the selected object along the X axis" -msgstr "Масштабувати виділений об'єкт уздовж осі X" +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2270 lib/Slic3r/GUI/Plater.pm:2286 -msgid "Scale the selected object along the Y axis" -msgstr "Масштабувати виділений об'єкт уздовж осі Y" +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2273 lib/Slic3r/GUI/Plater.pm:2289 -msgid "Scale the selected object along the Z axis" -msgstr "Масштабувати виділений об'єкт уздовж осі Z" +#: src/libslic3r/PrintConfig.cpp:3070 +msgid "Load configuration from the specified file. It can be used more than once to load options from multiple files." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2278 -msgid "Scale to size" -msgstr "Масштабувати до розміру" +#: src/libslic3r/PrintConfig.cpp:3075 +msgid "Do not use GUI" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2293 -msgid "Split the selected object into individual parts" -msgstr "Розділити вибраний об'єкт на окремі частини" +#: src/libslic3r/PrintConfig.cpp:3076 +msgid "Forces the command line slicing instead of gui. This takes precedence over --gui if both are present." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2296 -msgid "Open the 3D cutting tool" -msgstr "Відкрити інструмент 3D-нарізки" +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2300 -msgid "Open the object editor dialog" -msgstr "Відкрити діалог редактора об'єктів" +#: src/libslic3r/PrintConfig.cpp:3082 +msgid "The file where the output will be written (if not specified, it will be based on the input file)." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2304 -msgid "Reload from Disk" -msgstr "Перезавантажити з диска" +#: src/libslic3r/PrintConfig.cpp:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2304 -msgid "Reload the selected file from Disk" -msgstr "Перезавантажити вибраний файл із диска" +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2307 -msgid "Export object as STL…" -msgstr "Експортувати об'єкт як STL…" +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2307 -msgid "Export this single object as STL file" -msgstr "Експортувати цей окремий об'єкт як STL-файл" +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2311 -msgid "Fix STL through Netfabb" +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2311 -msgid "" -"Fix the model by sending it to a Netfabb cloud service through Windows 10 API" +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" msgstr "" -#: lib/Slic3r/GUI/Plater/2D.pm:131 -msgid "What do you want to print today? ™" -msgstr "Що б Ви хотіли надрукувати сьогодні? ™" +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "" -#: lib/Slic3r/GUI/Plater/2D.pm:132 -msgid "Drag your objects here" -msgstr "Перетягніть сюди свій об'єкт" +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:69 -msgid "1 Layer" -msgstr "1 Шар" +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 -msgid "View" -msgstr "Вид" +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:78 -msgid "Volumetric flow rate" +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:85 -msgid "Show" -msgstr "Показати" +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "Висота (мм)" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:88 lib/Slic3r/GUI/Plater/3DPreview.pm:89 -msgid "Feature types" -msgstr "Типи ознак" +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" +msgstr "Ширина (мм)" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:106 -msgid "Retractions" -msgstr "Переривання" +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "Швидкість (мм/с)" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:107 -msgid "Unretractions" -msgstr "Непереривання" +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:108 -msgid "Shells" -msgstr "Оболонки" +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "" -#~ msgid "&Localization" -#~ msgstr "Локалізація" - -#~ msgid "" -#~ "The Wipe Tower currently supports only:\n" -#~ "- first layer height 0.2mm\n" -#~ "- layer height from 0.15mm to 0.35mm\n" -#~ "\n" -#~ "Shall I adjust those settings in order to enable the Wipe Tower?" -#~ msgstr "" -#~ "Вичіщуюча веж в даний час підтримує тільки:\n" -#~ "- висота першого шару 0,2 мм\n" -#~ "- висота шару від 0,15 мм до 0,35 мм\n" -#~ "\n" -#~ "Чи потрібно коригувати ці налаштування, щоб увімкнути вичіщуючу веж?" - -#~ msgid "" -#~ "The supplied name is not valid; the following characters are not allowed:" -#~ msgstr "Надане ім'я недійсне; такі символи не допускаються:" - -#~ msgid "Minimum extrusion length" -#~ msgstr "Мінімальна довжина екструзії" - -#~ msgid "Host or IP" -#~ msgstr "Host або IP" - -#~ msgid "" -#~ "Slic3r can upload G-code files to OctoPrint. This field should contain " -#~ "the hostname or IP address of the OctoPrint instance." -#~ msgstr "" -#~ "Slic3r може завантажувати файли G-коду в OctoPrint. Це поле повинно " -#~ "містити ім'я хоста або IP-адресу екземпляру OctoPrint." - -#~ msgid "Per color change depth" -#~ msgstr "Змінити глибину за кольором" - -#~ msgid "" -#~ "Depth of a wipe color per color change. For N colors, there will be " -#~ "maximum (N-1) tool switches performed, therefore the total depth of the " -#~ "wipe tower will be (N-1) times this value." -#~ msgstr "" -#~ "Глибина вичищення кольору для кожної зміни кольору. Для N кольорів буде " -#~ "виконано максимум (N-1) інструментальних перемикачів, тому загальна " -#~ "глибина вичищуючої вежі буде (N-1) разів до цього значення." - -#~ msgid "No Bonjour device found" -#~ msgstr "Немає пристрою Bonjour" - -#~ msgid "Device Browser" -#~ msgstr "Браузер(список) пристроїв" - -#~ msgid "I wasn't able to connect to OctoPrint (" -#~ msgstr "Не можливо підключитися до OctoPrint (" - -#~ msgid "" -#~ "). Check hostname and OctoPrint version (at least 1.1.0 is required)." -#~ msgstr "" -#~ ") Перевірте версію хоста та OctoPrint (принаймні 1.1.0 - обов'язкова)." - -#~ msgid "Open STL/OBJ/AMF…\tCtrl+O" -#~ msgstr "Відкрити STL/OBJ/AMF…\tCtrl+O" - -#~ msgid "Preferences…\tCtrl+," -#~ msgstr "Преференції…\tCtrl+," - -#~ msgid "&Configuration " -#~ msgstr "Конфігурація " - -#~ msgid "Run Configuration " -#~ msgstr "Запустити конфігурацію " - -#~ msgid "Estimated printing time" -#~ msgstr "Приблизний час друку" - -#~ msgid "G-code file successfully uploaded to the OctoPrint server" -#~ msgstr "Файл G-коду успішно завантажений на сервер OctoPrint" - -#~ msgid "Error while uploading to the OctoPrint server: " -#~ msgstr "Помилка під час завантаження на сервер OctoPrint: " +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "" diff --git a/resources/localization/zh_CN/Slic3rPE.mo b/resources/localization/zh_CN/Slic3rPE.mo index 1650726b9e549f7bb94d1cb27e43c5fa56a607c2..7d298da0277e580836890720bd3711ac7a407361 100644 GIT binary patch delta 7177 zcmbu@d3aRS-N5ma5cUWG!;W~_1jK{{P$8%+0W2C>l_hKr$s~+PX2N6wg2*5UNdN&E zmL#l^u*eRhEFl3GN?&R51<|TSpw!$+aKob1T3p`m@1C0~?;mZSr{{To^Ev0-<*fJ4 zByHAF3iR@_#!sIEq48G zl#ZOl2z(D~;fE+4y@+!En^=KAVhcRZM_t-i7sxy;C!+MYRZFG3*c<7g+JQ3iV<xbh=%2V(J?#Bnv9jDYI=-)=B7nw?Ij4k7p8iid^W?&97t15u+;xUZG z{GNJ^*I*OMCCHPdg4h(#U|qa~cc6)K|8J1VR<&rfsjO}+8JVJi$TF!Ul*h`4&)_nY zDfdh7F=qg)@0k7Hky^B18sxXg9~4xqfp_Df6FKlXmT1Rm_h3G=Zw?m~GZ z9zYqvS-gZ7QTEI+=CKjwa}Vknxq=K%eS!Dj-F@^-48>-YCm>I-@}SJ%Qv6zWcOjWX zEa9y|2d>Ah_#>ub$;0}^QHP!L1?3QQVde9!?W$|`Lqjbv3gagzwVV1u^mZ+Ng%@zqME#{TVUpc( zlr?^u`H#n$7>zrTL#hIKkd(jm6#d;l9P3dre5&s8IF#}f?8k`Hu>s|+%)5+eAKr!UoM3Q~NSd@m+P#VZWX<#9? z#I-2r??<`*7)l3Eqg;31_9JXd`HEfs0gEWtN|F2dmD)%~E;xX(c*HuOR0wk^e~;3D zhetrpn~Tz+g(!Qb2;1Pd$Y52JQ+L#hohUCt8SyTZ>&xupZ(oLFp^ci82FwkK?VZ~Kw0iPGQ=q>rj~h92<(l=~IfuEmEaZ_Qx-SCjcO z6*A)7Og-fbQP%o<`~V}f_&tb!!8+K-%|^xkC?j5uyd+gAzKWMo);Qmz@7Ez)mkV(z z^*wpyR^o{n%>VObMtJ#AfM=0qRIlgghFbgdW^0c!WeF&|{xOshO+o2shFzYAvN@Nc zbhOlVx9uU6>yFvw(|$5_sW^*rqYsdGj;h8+n2@WNWEjfvF}7*Aobqh@c)gkWcvHMU zeP?Wj-=j3xc$R*VwZ%o0$DnLZ|HowF$oz!&Vh?tbG?a`(Fbm~IL6lwo4!(va*2m)6 zx`9%Z>keW|JZ0BkLYaxr?DAi2f5LY1{5PDVr}kcy6BAGx8fe!~Myn(C@gPdWWwxhK z8h+P4eidav)pohnb9!$Xwy_w?@rNu~{|vjL80ALqpzPvLP&yPbSO27Hh%%MkaVPe{ zD|i)UZ@kGylH=!*k*UiVgFm9oVE1|2fhaRH4kP9H&nEL*d>$XfL@MQd@El49Hev#n zVjH}IEW5ge?Qq6?ev0Etl#ZAvPt#454%K==431C zg!1Bv<|X09aX1{$AWxENwNQV1F2UWDC%(uR7}jNneTe%o4Hqxgzc0Q-UNx$3p8itX zn#cNoL`6lu{ytt?puc8cUc%pb)St)mIF^UDP8h#tmhp{7xyMUPC$7X^SdOw}Un93r zEqOE?_zI54h!y&m(queFc@xS^k6+0YUL>=Ux52BJ`Lf<@%~$DH?IffRs$)RU&_0yS zbpdyTbK})aIUU=xRxefgI{oH*8}H=2?uGjAg#K8E@&xRRPowO$#eOn!ViC&J?8PD2 zqDZgdWQ?MmfnVcX{0n9k^QSnDT(5l(w^Dv`1IvVeM~@uesQ1JhC`)_}8{tjNMt{U6 zeIOSEWT5H^qA!t7yh6yaVZ>2F_Qu1+B|_3jVxN`MA54<< z3t8IvURU|8w~>te5kl5{08x`A*GZ8Hv69S^BnGJV67o`; zNL(i*$?VC~q7&;sklZbzB_YrChlC_qubNa!CY9(iyAMYTth?>NcWc_bI%0A)~B1#H& z`q_2|4kl!8Na8_K6NpOUF2aA9kH?9d#5rO-Asg~XqBkL_kdUXqAqCQ(txx^ryheT~ z!P{2l*!7pO1<`>xP9zhOS`*I@4T<{*l8j%cda#>_w#z)C)-yd1I}$GtX~dt1?}$!B zE8;<-fM`$DCnUX2G$!(-Kzf6SBiuwynoMS_w10q%yxn-WsBOdr;wmwSkR)AfLcA>n zJGHa@jqPXHh`2(GBdQ5W*&6Hb!9+X%g>5{xtr`Ds?aCUa+nM`qo1>FhPec%Fh_1wZ zLQ=j)O|?CQ@7sCdZsPAmKnkR0LJxuKt}YGz`5uZbyJ*fpVyTVnAj}luEboQB8)6gsx#AY_zd54 zr;+ZO>2w>(vBA7%LmEZ8GN(DcJ|i*LJJT6B(=j>Nqtlr>O(O<*d_GT>N^;D0dUGP4 z^kfHa+}p+PNHtPC?lf1rk><*DswB@pD{{RKpUdMm(!8E5tCgH=XNoJ$JSrl|GHg^<^{SC#(?ZkZznJ%}} z;SGEqKg&Pb<8%0&hQsU0b*CER)$Qd8x-7$SxYKFhK2IiZyy1A(m1DTvMyfO2>vZNA zUE^YUJrH*v4%rk;xb(*5mKBuSb_=#oIMph6ZOoB6@#DCW z982?fv-DnbOrtI93cbJW!LUPfJekhe;O688;rI8AiHnbkf6$2UmC&ni_qh1DxCSFf z#Ef>%bmg$XF@xC$2}aMjc8JA-1mBn%XxPj=y39PVy0UzKRl%{) z`a@M^C*>BSGx`NLWV~BDvTV(@g*(-?lEV;~KBJv~$(HJhiffBrs;bx*TANpS{IIG# zzC5%nk2ZAK{M8w>Vy@V4mKKNhlvGxntXjRZ^7uB+r>64gE`5IG(Y^W-bH#$tngd)y zuk*=u4Q-fj9$3*$iKRQt`Q_w-TV|Ao1;^z$!kU_kc31CM6)N0Zy{Rm;ZYkXk9`Owh zyHi!42$*?gdYqLfOF}Q~4}O&!7FIvBq|hGTS2LgVA73+``QpOriao08_?ii~m3}!! z8)n(|>*e{@b9cRb*|p<^)%!}XmlwxfFE5bp-gfbSbb4}ih2L)a-=AN3a-+Go@U|&8 z4=mPYJ!kq1GylM^*TL#p`KzJTCsdV1X#eWU6H6J0HGqaPf_OcG;G?t3!h(OC9Ut+C zHFZ_RFY2}7WOMt1(54Nc4ZHNc8NZodMEjK|Hill>CsVy>Tg}M@!SH!EngwqKme%gX hwhJxaVdft;R~#@G7s*-H#^c_4P3T{6QPHZf{{zOZ%Rm4C delta 6016 zcmbW)2~^b89>DPn0Sbz^feWUirnrGCE~qKFk_&E_=7IwZLgI|VKuX%UB$8<^<63Iw zlA0#gs3|DEHtngIW%XM78PEU1Aj949~ekpD_kjxsvgRT?JyGintUSGCZB-;xDe$! zg?J2CU_Bfjq3hGJH@O`fDwk4wDP&V|5~U$=94$Q@iqgX*T!aqfPu=5#(^P1E-LPfY zgM2G;FZDS}Pk%sZ@GlsJpJ842W2{z;|u7byOXdX^OKLW zkaN`?lm>-zGKZ=bC=Kt6)i42NDw1$7+HelmZmg$jIlAP44HRnNZj_-uZ1N8S2CW!v?o)y? zk{`9^Zb1}=wNZ*`Qe#j?WI9U2=3-4;XYySpe;cKz7f?o~0%h*+pj zRUU(~D97RxXh#{5%UBJsnf{xPC1m}n>D_tca1}}qFQAO*Rji4(koBg1Lpi=>4}F~>7%r=QDuvcK7iA=N zBD13I;5KX?#}j}jaWA&($wl!p9>Np7cw}*IZ>7G*t}K8B*tCy+Z*0dxa{sRR*(yF%#dw9XJ!m zB`7r;PoYdr|3^6o4~pkCQQ&{Kd)oaod4%+^o5go85l^@bZKU@z)3a5e5g>2O>oqa#B;n1T#ZDPF|$n1nl@&=>p-c@kB?H2q6w zG|DS@8Sci7D04h8OHbi7lzi-TUN-nWuE05VUQ!t9;I{-m=V1I9Rh2VC-{=#RMRgTr z$bLpy-Bo!uWhfh=G_@P##eNZ~? zx@~s&KdDGQDcbY~8?f7)^c~!|}m< zZD*vTE|ow*E|7xnp#!^N>{I$VosQC=l<6L4Q`D1)E`{JpcVD$N|YHbC-n!aV1L2KS8En1wE~wg4xKrRPWOacXSF;EEl2_+hJc7eeM!3pS#{V-4eJJe4 z$Ypx5yoV>qtMN#1uKEaNWF{@wYh(fL^yh~whS9JItMn92bL$sTHrC&d6|R2EJjUyWY9Z%`gXd_l-aeM@{! zTqI5suMtT^Ga`lfj5tfkbXIOxC|o9*5|ap-@-xH((w1ZjGMA$XrbTrm1`^*9PZ19i zvdKb}?Y74Ex!;uY|5DeV^4CNw!r#=tY|O?j!~m1~#)7B8x4q9N)9ibMq@p)5gpl4l9+9zu{nkj^NCtSG%<~sOSC8cP7EX35><(J2;W?EkOJG2L@u$JC?#@; zmxxoubwaj}h);>5L<>ST8*$E8(jQIW2EkhPy^;^&>%=zVaY8nE3f?4Kb@@0($o96z z_wSPw`w|z3aN-)#gZPk;jVDdrBzh6!iOTH>3MD34iH}t7KnvkEc{kjt`>&tHHdM?c z%FO{ojY2Q=W{4#6*)(@j3uIou7rnpkEq-pr4V2eR}qE3nWQ03Fy&YA zyeY@yUZS1Jg>j~Q7-LL%4LXQ8;sB9AsQ3{HmLay;Dn7-LXR|!6;?wf1_EcM%icfdi zvfazWBix6>C%Qu;*1GpawD#PK=wHJ{)K6Qf3FWu|t{w*1Ha(*Lg;X3%-Nb-GOt zfW?}YmTk+)u{hFw&AH!hOQt=?DWe(V`KH@}0QZjGVV;`3iyC-J#+C$mc1;TQ5A7b^ zp;L6H?v{?7<6=9zOOqr2tmzWhv75Uhd8B*Llx)AQ?&2xgVMDFlyaZr@q4bh~$P@y#{Iy~VG1e$GqrbB~-K=_#Dm%Flgn z_Febc{Lz6&cUP<~^|YB&?C0_>FDftDQL$vnpz@M!*SE~CSi88q\n" +"Language-Team: \n" +"Language: zh_CN\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-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: L\n" +"X-Poedit-SearchPath-0: xs/src/libslic3r\n" +"X-Poedit-SearchPath-1: xs/xrc/slic3r/GUI\n" +"X-Poedit-SearchPath-2: xs/xrc/slic3r\n" + +#: src/slic3r/GUI/AboutDialog.cpp:33 +msgid "About Slic3r" +msgstr "" + +#: src/slic3r/GUI/AboutDialog.cpp:68 src/slic3r/GUI/MainFrame.cpp:51 +msgid "Version" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:43 +msgid "Shape" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:50 +msgid "Rectangular" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:54 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:207 src/slic3r/GUI/Plater.cpp:125 +#: src/slic3r/GUI/Tab.cpp:2122 +msgid "Size" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:55 +msgid "Size in X and Y of the rectangular plate." +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:61 +msgid "Origin" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:62 +msgid "" +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:66 +msgid "Circular" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:92 +#: src/slic3r/GUI/ConfigWizard.cpp:456 src/slic3r/GUI/ConfigWizard.cpp:470 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:80 +#: src/libslic3r/PrintConfig.cpp:50 src/libslic3r/PrintConfig.cpp:58 +#: src/libslic3r/PrintConfig.cpp:180 src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:326 src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:460 src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:1178 +#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:1263 +#: src/libslic3r/PrintConfig.cpp:1283 src/libslic3r/PrintConfig.cpp:1365 +#: src/libslic3r/PrintConfig.cpp:1376 src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1554 +#: src/libslic3r/PrintConfig.cpp:1563 src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1583 src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1918 +#: src/libslic3r/PrintConfig.cpp:1995 src/libslic3r/PrintConfig.cpp:2031 +#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2257 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:2302 src/libslic3r/PrintConfig.cpp:2313 +#: src/libslic3r/PrintConfig.cpp:2321 src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2424 src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2515 +#: src/libslic3r/PrintConfig.cpp:2524 src/libslic3r/PrintConfig.cpp:2560 +#: src/libslic3r/PrintConfig.cpp:2569 src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2596 src/libslic3r/PrintConfig.cpp:2623 +#: src/libslic3r/PrintConfig.cpp:2639 src/libslic3r/PrintConfig.cpp:2648 +#: src/libslic3r/PrintConfig.cpp:2657 src/libslic3r/PrintConfig.cpp:2666 +msgid "mm" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/libslic3r/PrintConfig.cpp:676 +msgid "Diameter" +msgstr "直径" + +#: src/slic3r/GUI/BedShapeDialog.cpp:71 +msgid "" +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:75 src/slic3r/GUI/GUI_Preview.cpp:265 +#: src/libslic3r/GCode/PreviewData.cpp:175 +msgid "Custom" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:79 +msgid "Load shape from STL..." +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:125 +msgid "Settings" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:298 +msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:315 src/slic3r/GUI/GUI_ObjectList.cpp:835 +msgid "Error! " +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:324 +msgid "The selected file contains no geometry." +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.cpp:328 +msgid "" +"The selected file contains several disjoint areas. This is not supported." +msgstr "" + +#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape" +msgstr "" + +#: src/slic3r/GUI/BonjourDialog.cpp:54 +msgid "Network lookup" +msgstr "" + +#: src/slic3r/GUI/BonjourDialog.cpp:67 +msgid "Address" +msgstr "" + +#: src/slic3r/GUI/BonjourDialog.cpp:68 +msgid "Hostname" +msgstr "" + +#: src/slic3r/GUI/BonjourDialog.cpp:69 +msgid "Service name" +msgstr "" + +#: src/slic3r/GUI/BonjourDialog.cpp:70 +msgid "OctoPrint version" +msgstr "" + +#: src/slic3r/GUI/BonjourDialog.cpp:188 +msgid "Searching for devices" +msgstr "" + +#: src/slic3r/GUI/BonjourDialog.cpp:195 +msgid "Finished" +msgstr "" + +#: src/slic3r/GUI/ButtonsDescription.cpp:15 +msgid "Buttons And Text Colors Description" +msgstr "" + +#: src/slic3r/GUI/ButtonsDescription.cpp:40 +msgid "Value is the same as the system value" +msgstr "" + +#: src/slic3r/GUI/ButtonsDescription.cpp:57 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:16 +msgid "Upgrade" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:18 +msgid "Downgrade" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:20 +msgid "Before roll back" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:22 +msgid "User" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 +msgid "Unknown" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:37 +msgid "Active: " +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +msgid "slic3r version" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 src/slic3r/GUI/Preset.cpp:1156 +msgid "print" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +msgid "filaments" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 src/slic3r/GUI/Preset.cpp:1160 +msgid "printer" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 src/slic3r/GUI/Tab.cpp:838 +msgid "vendor" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +msgid "version" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 +msgid "min slic3r version" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:53 +msgid "max slic3r version" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "model" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "variants" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:68 +msgid "Incompatible with this Slic3r" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:71 +msgid "Activate" +msgstr "" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:97 +msgid "Configuration Snapshots" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:92 +msgid "nozzle" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:93 +msgid "default" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:116 +msgid "Select all" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:117 +msgid "Select none" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:226 +#, c-format +msgid "Welcome to the Slic3r %s" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:226 +msgid "Welcome" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:232 src/slic3r/GUI/GUI_App.cpp:606 +#, c-format +msgid "Run %s" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:234 +#, 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." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:263 +msgid "Other vendors" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:265 +msgid "Custom setup" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Automatic updates" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:289 +msgid "Updates" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:297 src/slic3r/GUI/Preferences.cpp:59 +msgid "Check for application updates" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:300 src/slic3r/GUI/Preferences.cpp:61 +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 " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/Preferences.cpp:67 +msgid "Update built-in Presets automatically" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/Preferences.cpp:69 +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 "" + +#: src/slic3r/GUI/ConfigWizard.cpp:308 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:313 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:320 +msgid "Other Vendors" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:322 +msgid "Pick another vendor supported by Slic3r PE:" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:381 +msgid "Firmware Type" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:381 src/slic3r/GUI/Tab.cpp:1820 +msgid "Firmware" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:385 +msgid "Choose the type of firmware used by your printer." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:419 +msgid "Bed Shape and Size" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:422 +msgid "Set the shape of your printer's bed." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Filament and Nozzle Diameters" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:436 +msgid "Print Diameters" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:452 +msgid "Enter the diameter of your printer's hot end nozzle." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:455 +msgid "Nozzle Diameter:" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:465 +msgid "Enter the diameter of your filament." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:466 +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:469 +msgid "Filament Diameter:" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Extruder and Bed Temperatures" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:487 +msgid "Temperatures" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:503 +msgid "Enter the temperature needed for extruding your filament." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:504 +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:507 +msgid "Extrusion Temperature:" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:508 src/slic3r/GUI/ConfigWizard.cpp:522 +msgid "°C" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:517 +msgid "" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:518 +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:521 +msgid "Bed Temperature:" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:833 +msgid "< &Back" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:834 +msgid "&Next >" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:835 +msgid "&Finish" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:906 +msgid "Configuration Wizard" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:907 +msgid "Configuration &Wizard" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:909 +msgid "Configuration Assistant" +msgstr "" + +#: src/slic3r/GUI/ConfigWizard.cpp:910 +msgid "Configuration &Assistant" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:109 +msgid "default value" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:112 +msgid "parameter name" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:140 +#, c-format +msgid "%s doesn't support percentage" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:148 src/slic3r/GUI/Field.cpp:168 +msgid "" +"Input value contains incorrect symbol(s).\n" +"Use, please, only digits" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:153 +msgid "Input value is out of range" +msgstr "" + +#: src/slic3r/GUI/Field.cpp:176 +#, 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." +msgstr "" + +#: src/slic3r/GUI/Field.cpp:179 +msgid "Parameter validation" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:133 +msgid "Flash!" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:134 src/slic3r/GUI/GLGizmo.cpp:2270 +msgid "Cancel" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:135 +msgid "Flashing in progress. Please do not disconnect the printer!" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:245 +msgid "Flashing succeeded!" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:246 +msgid "Flashing failed. Please see the avrdude log below." +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:247 +msgid "Flashing cancelled." +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:279 +#, c-format +msgid "Flashing failed: %s" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:293 +#, c-format +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 "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:380 src/slic3r/GUI/FirmwareDialog.cpp:414 +msgid "" +"Multiple Original Prusa i3 MMU 2.0 devices found. Please only connect one at " +"a time for flashing." +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:508 +msgid "The device could not have been found" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:581 +#, c-format +msgid "Error accessing port at %s: %s" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:690 +msgid "Firmware flasher" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:712 +msgid "Firmware image:" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:716 +msgid "Serial port:" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:718 +msgid "Autodetected" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:719 +msgid "Rescan" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:726 +msgid "Progress:" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:729 +msgid "Status:" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:730 +msgid "Ready" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:750 +msgid "Advanced: avrdude output log" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:809 +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:810 +msgid "Confirmation" +msgstr "" + +#: src/slic3r/GUI/FirmwareDialog.cpp:813 +msgid "Cancelling..." +msgstr "" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4640 +msgid "Detected object outside print volume" +msgstr "" + +#: src/slic3r/GUI/GLCanvas3D.cpp:7962 +msgid "Detected toolpath outside print volume" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:751 src/slic3r/GUI/GUI_ObjectManipulation.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:322 +#: src/libslic3r/PrintConfig.cpp:3087 +msgid "Rotate" +msgstr "旋转" + +#: src/slic3r/GUI/GLGizmo.cpp:785 +msgid "Rotation (deg)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:841 src/slic3r/GUI/GUI_ObjectManipulation.cpp:206 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:301 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:323 +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Scale" +msgstr "缩放" + +#: src/slic3r/GUI/GLGizmo.cpp:1072 +msgid "Scale (%)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1200 +msgid "Move" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Position (mm)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1326 +msgid "Displacement (mm)" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:1430 +msgid "Place on face" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2207 +msgid "Left mouse click - add point" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2208 +msgid "Right mouse click - remove point" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2211 +msgid "Generate points automatically" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2212 +msgid "Remove all points" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2245 +msgid "SLA Support Points" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2268 src/slic3r/GUI/GLGizmo.cpp:2468 +msgid "Rotate lower part upwards" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2269 src/slic3r/GUI/GLGizmo.cpp:2470 +msgid "Perform cut" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2276 +msgid "Cut object:" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2356 src/slic3r/GUI/GLGizmo.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:3016 +msgid "Cut" +msgstr "切割" + +#: src/slic3r/GUI/GLGizmo.cpp:2466 +msgid "Keep upper part" +msgstr "" + +#: src/slic3r/GUI/GLGizmo.cpp:2467 +msgid "Keep lower part" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:242 +msgid "Notice" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:248 +msgid "Attempt to free unreferenced scalar" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:250 src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:322 +msgid "Warning" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:377 +msgid "Choose one file (3MF):" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:389 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:451 +msgid "Array of language names and identifiers should have the same size." +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Select the language" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:461 +msgid "Language" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:529 src/libslic3r/PrintConfig.cpp:270 +msgid "Default" +msgstr "默认" + +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "&Configuration Snapshots" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:609 +msgid "Inspect / activate configuration snapshots" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Take Configuration &Snapshot" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:610 +msgid "Capture a configuration snapshot" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "&Preferences" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:613 +msgid "Application preferences" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:616 +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:39 +#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:962 +#: src/slic3r/GUI/Tab.cpp:1058 src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1425 src/slic3r/GUI/Tab.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:156 src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:999 src/libslic3r/PrintConfig.cpp:2298 +msgid "Advanced" +msgstr "高级" + +#: src/slic3r/GUI/GUI_App.cpp:617 +msgid "Advanced View Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:618 +msgid "Expert View Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:620 +msgid "Slic3r View Mode" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:622 +msgid "Change Application &Language" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Flash printer &firmware" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:624 +msgid "Upload a firmware image into an Arduino based printer" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Taking configuration snapshot" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:636 +msgid "Snapshot name" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:674 +msgid "Application will be restarted" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:674 src/slic3r/GUI/Tab.cpp:2606 +msgid "Attention!" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:691 +msgid "&Configuration" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "You have unsaved changes " +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid ". Discard changes and continue anyway?" +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:712 +msgid "Unsaved Presets" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:31 src/libslic3r/PrintConfig.cpp:47 +#: src/libslic3r/PrintConfig.cpp:115 src/libslic3r/PrintConfig.cpp:357 +#: src/libslic3r/PrintConfig.cpp:410 src/libslic3r/PrintConfig.cpp:419 +#: src/libslic3r/PrintConfig.cpp:849 src/libslic3r/PrintConfig.cpp:1037 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1426 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2150 +msgid "Layers and Perimeters" +msgstr "层和轮廓" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:32 src/slic3r/GUI/Tab.cpp:952 +#: src/slic3r/GUI/Tab.cpp:953 src/slic3r/GUI/Tab.cpp:1274 +#: src/libslic3r/PrintConfig.cpp:134 src/libslic3r/PrintConfig.cpp:366 +#: src/libslic3r/PrintConfig.cpp:730 src/libslic3r/PrintConfig.cpp:745 +#: src/libslic3r/PrintConfig.cpp:783 src/libslic3r/PrintConfig.cpp:938 +#: src/libslic3r/PrintConfig.cpp:949 src/libslic3r/PrintConfig.cpp:969 +#: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:1010 +#: src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1752 +msgid "Infill" +msgstr "填充" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_Preview.cpp:262 +#: src/slic3r/GUI/Tab.cpp:980 src/slic3r/GUI/Tab.cpp:981 +#: src/libslic3r/PrintConfig.cpp:305 src/libslic3r/PrintConfig.cpp:1484 +#: src/libslic3r/PrintConfig.cpp:1865 src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1881 src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:1905 src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1930 src/libslic3r/PrintConfig.cpp:1953 +#: src/libslic3r/PrintConfig.cpp:1965 src/libslic3r/PrintConfig.cpp:1983 +#: src/libslic3r/PrintConfig.cpp:1993 src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2014 src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2038 src/libslic3r/PrintConfig.cpp:2039 +#: src/libslic3r/PrintConfig.cpp:2048 src/libslic3r/PrintConfig.cpp:2057 +#: src/libslic3r/PrintConfig.cpp:2072 src/libslic3r/GCode/PreviewData.cpp:172 +msgid "Support material" +msgstr "支撑材料" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_Preview.cpp:241 +#: src/slic3r/GUI/Tab.cpp:1005 src/libslic3r/PrintConfig.cpp:169 +#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:1011 src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1668 src/libslic3r/PrintConfig.cpp:1721 +#: src/libslic3r/PrintConfig.cpp:1776 src/libslic3r/PrintConfig.cpp:2136 +msgid "Speed" +msgstr "速度" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/Tab.cpp:1038 +#: src/slic3r/GUI/Tab.cpp:1744 src/libslic3r/PrintConfig.cpp:430 +#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1393 +#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1973 src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2280 +msgid "Extruders" +msgstr "挤出头" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:504 src/libslic3r/PrintConfig.cpp:836 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1403 +#: src/libslic3r/PrintConfig.cpp:1765 src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2124 +msgid "Extrusion Width" +msgstr "挤出宽度" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:41 src/slic3r/GUI/Tab.cpp:3179 +#: src/slic3r/GUI/Tab.cpp:3180 src/libslic3r/PrintConfig.cpp:2488 +#: src/libslic3r/PrintConfig.cpp:2495 src/libslic3r/PrintConfig.cpp:2504 +#: src/libslic3r/PrintConfig.cpp:2513 src/libslic3r/PrintConfig.cpp:2522 +#: src/libslic3r/PrintConfig.cpp:2547 src/libslic3r/PrintConfig.cpp:2558 +#: src/libslic3r/PrintConfig.cpp:2567 src/libslic3r/PrintConfig.cpp:2576 +#: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594 +#: src/libslic3r/PrintConfig.cpp:2603 src/libslic3r/PrintConfig.cpp:2612 +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "Supports" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:42 src/slic3r/GUI/Tab.cpp:3205 +#: src/slic3r/GUI/Tab.cpp:3206 src/libslic3r/PrintConfig.cpp:2630 +#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2646 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2664 +msgid "Pad" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:115 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:129 +msgid "Name" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:134 +msgid "Right button click the icon to change the object settings" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:142 +#, c-format +msgid "Auto-repaired (%d errors):\n" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:145 +msgid "degenerate facets" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:146 +msgid "edges fixed" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:147 +msgid "facets removed" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:148 +msgid "facets added" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:149 +msgid "facets reversed" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:150 +msgid "backwards edges" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:164 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:196 src/slic3r/GUI/Tab.cpp:1389 +#: src/libslic3r/PrintConfig.cpp:429 +msgid "Extruder" +msgstr "挤出头" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:615 +msgid "Select showing settings" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:655 +msgid "Load" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 src/slic3r/GUI/GUI_ObjectList.cpp:688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:691 +msgid "Box" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Cylinder" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Sphere" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:659 +msgid "Slab" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:671 src/slic3r/GUI/GUI_ObjectList.cpp:685 +msgid "Add part" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:672 +msgid "Add modifier" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:673 src/slic3r/GUI/GUI_ObjectList.cpp:687 +msgid "Add support enforcer" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/slic3r/GUI/GUI_ObjectList.cpp:690 +msgid "Add support blocker" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:711 +msgid "Split to parts" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:725 +msgid "Add settings" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:739 +msgid "Change type" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 +msgid "You can't delete the last solid part from object." +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1017 +msgid "You can't delete the last intance from object." +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1044 src/slic3r/GUI/Plater.cpp:1825 +msgid "" +"The selected object couldn't be split because it contains only one part." +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1138 +msgid "Group manipulation" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1149 +msgid "Object manipulation" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1159 +msgid "Object Settings to modify" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1163 +msgid "Part Settings to modify" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1173 +msgid "Part manipulation" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1180 +msgid "Instance manipulation" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1655 +msgid "You can't change a type of the last solid part of the object." +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1662 +msgid "Select type of part" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1744 src/slic3r/GUI/Tab.cpp:3070 +#: src/slic3r/GUI/Tab.cpp:3074 +msgid "The supplied name is not valid;" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1745 src/slic3r/GUI/Tab.cpp:3071 +msgid "the following characters are not allowed:" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:21 +msgid "Object Manipulation" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:132 +msgid "Object name" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:204 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:252 +msgid "Position" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:205 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:253 +msgid "Rotation" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:254 +msgid "Scale factors" +msgstr "" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:321 +msgid "Translate" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:235 +msgid "View" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:394 +msgid "Feature type" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/PrintConfig.cpp:443 +msgid "Height" +msgstr "高度" + +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/PrintConfig.cpp:2255 +msgid "Width" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:242 +msgid "Volumetric flow rate" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/slic3r/GUI/GUI_Preview.cpp:347 +#: src/slic3r/GUI/GUI_Preview.cpp:496 src/slic3r/GUI/GUI_Preview.cpp:718 +#: src/libslic3r/GCode/PreviewData.cpp:404 +msgid "Tool" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/slic3r/GUI/GUI_Preview.cpp:550 +#: src/libslic3r/GCode/PreviewData.cpp:406 +msgid "Color Print" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:247 +msgid "Show" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/GUI_Preview.cpp:251 +msgid "Feature types" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:253 src/libslic3r/GCode/PreviewData.cpp:163 +msgid "Perimeter" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:254 src/libslic3r/GCode/PreviewData.cpp:164 +msgid "External perimeter" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/GCode/PreviewData.cpp:165 +msgid "Overhang perimeter" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:256 src/libslic3r/GCode/PreviewData.cpp:166 +msgid "Internal infill" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:257 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1775 src/libslic3r/GCode/PreviewData.cpp:167 +msgid "Solid infill" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:258 src/libslic3r/PrintConfig.cpp:2123 +#: src/libslic3r/PrintConfig.cpp:2135 src/libslic3r/GCode/PreviewData.cpp:168 +msgid "Top solid infill" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:259 src/libslic3r/GCode/PreviewData.cpp:169 +msgid "Bridge infill" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:260 src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/GCode/PreviewData.cpp:170 +msgid "Gap fill" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:261 src/slic3r/GUI/Tab.cpp:971 +#: src/libslic3r/GCode/PreviewData.cpp:171 +msgid "Skirt" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:263 src/libslic3r/PrintConfig.cpp:2002 +#: src/libslic3r/GCode/PreviewData.cpp:173 +msgid "Support material interface" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:264 src/slic3r/GUI/Tab.cpp:1049 +#: src/libslic3r/GCode/PreviewData.cpp:174 +msgid "Wipe tower" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:269 src/libslic3r/PrintConfig.cpp:2158 +msgid "Travel" +msgstr "空程" + +#: src/slic3r/GUI/GUI_Preview.cpp:270 +msgid "Retractions" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:271 +msgid "Unretractions" +msgstr "" + +#: src/slic3r/GUI/GUI_Preview.cpp:272 +msgid "Shells" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:12 +msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:47 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Main Shortcuts" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 +msgid "Import STL/OBJ/AMF/3MF without config, keep bed" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +msgid "Load Config from .ini/amf/3mf/gcode" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/Plater.cpp:605 +msgid "Export G-code" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +msgid "Save project (3MF)" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +msgid "Load Config from .ini/amf/3mf/gcode and merge" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 +msgid "(Re)slice" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 +msgid "Quick slice" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat last quick slice" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Select Plater Tab" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +msgid "Quick slice and Save as" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +msgid "Select Print Settings Tab" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +msgid "Select Filament Settings Tab" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +msgid "Select Printer Settings Tab" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +msgid "Switch to 3D" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 +msgid "Switch to Preview" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/Preferences.cpp:10 +msgid "Preferences" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 +#: src/slic3r/GUI/PrintHostDialogs.cpp:89 +msgid "Print host upload queue" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +msgid "Camera view " +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +msgid "Add Instance to selected object " +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Remove Instance from selected object" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 +msgid "Show keyboard shortcuts list" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Switch between 3D and Preview" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +msgid "Select multiple object/Move multiple object" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Arrange" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Select All objects" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Delete selected" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 +msgid "Delete All" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 +msgid "Gizmo move" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +msgid "Gizmo scale" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 +msgid "Gizmo rotate" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 +msgid "Gizmo cut" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +msgid "Gizmo Place face on bed" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 +msgid "Gizmo SLA support points" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 +msgid "Zoom to Bed" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 +msgid "Zoom to all objects in scene, if none selected" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +msgid "Zoom to selected object" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +msgid "Zoom in" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +msgid "Zoom out" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +msgid "Unselect gizmo, keep object selection" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +msgid "Plater Shortcuts" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Arrow Up" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +msgid "Upper Layer" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Arrow Down" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +msgid "Lower Layer" +msgstr "" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Preview Shortcuts" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:53 +msgid "" +" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:130 +msgid "Plater" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "&Open" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:236 +msgid "Open a project file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "&Save" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:238 +msgid "Save current project file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save &as" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:240 +msgid "Save current project file as" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:246 +msgid "Load a model" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Import &Config" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:249 +msgid "Load exported configuration file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Import Config from &project" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:251 +msgid "Load configuration from project file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Import Config &Bundle" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:254 +msgid "Load presets from a bundle" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:256 +msgid "&Import" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export &G-code" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:259 +msgid "Export current plate as G-code" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export plate as &STL" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:262 +msgid "Export current plate as STL" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export plate as &AMF" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:264 +msgid "Export current plate as AMF" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export &Config" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:267 +msgid "Export current configuration to file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export Config &Bundle" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:269 +msgid "Export all presets to file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:271 +msgid "&Export" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Quick Slice" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:277 +msgid "Slice a file into a G-code" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Quick Slice and Save As" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:283 +msgid "Slice a file into a G-code, save as" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:289 +msgid "Repeat Last Quick Slice" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "(Re)Slice &Now" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:297 +msgid "Start new slicing process" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "&Repair STL file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:300 +msgid "Automatically repair an STL file" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "&Quit" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:303 +msgid "Quit Slic3r" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "&Select all" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:321 +msgid "Selects all objects" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "&Delete selected" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:324 +msgid "Deletes the current selection" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Delete &all" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:326 +msgid "Deletes all objects" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "&Plater Tab" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:339 +msgid "Show the plater" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "P&rint Settings Tab" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:346 +msgid "Show the print settings" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "&Filament Settings Tab" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:348 +msgid "Show the filament settings" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Print&er Settings Tab" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:350 +msgid "Show the printer settings" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "3&D" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:354 +msgid "Show the 3D editing view" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Pre&view" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:356 +msgid "Show the 3D slices preview" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Print &Host Upload Queue" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:377 +msgid "Display the Print Host Upload Queue window" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "&Iso" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:388 +msgid "Iso View" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "&Top" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:390 +msgid "Top View" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "&Bottom" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:391 +msgid "Bottom View" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "&Front" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:392 +msgid "Front View" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "R&ear" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:393 +msgid "Rear View" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "&Left" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:394 +msgid "Left View" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "&Right" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:395 +msgid "Right View" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Prusa 3D &Drivers" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:409 +msgid "Open the Prusa3D drivers download page in your browser" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Prusa Edition &Releases" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:411 +msgid "Open the Prusa Edition releases page in your browser" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Slic3r &Website" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:417 +msgid "Open the Slic3r website in your browser" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Slic3r &Manual" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:419 +msgid "Open the Slic3r manual in your browser" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "System &Info" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:422 +msgid "Show system information" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show &Configuration Folder" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:424 +msgid "Show user configuration folder (datadir)" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an I&ssue" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:426 +msgid "Report an issue on the Slic3r Prusa Edition" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "&About Slic3r" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:428 +msgid "Show about dialog" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "&Keyboard Shortcuts" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:431 +msgid "Show the list of the keyboard shortcuts" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:439 +msgid "&File" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:440 +msgid "&Edit" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:441 +msgid "&Window" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:442 +msgid "&View" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:445 +msgid "&Help" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:472 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:486 +msgid "No previously sliced file." +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:487 src/slic3r/GUI/PrintHostDialogs.cpp:173 +msgid "Error" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid "Previously sliced file (" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:492 +msgid ") not found." +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:493 +msgid "File Not Found" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:531 src/slic3r/GUI/Tab.cpp:3031 +msgid "Save " +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "SVG" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid "G-code" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:531 +msgid " file as:" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:548 +msgid "Save zip file as:" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Slicing" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:560 +msgid "Processing " +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:583 +msgid " was successfully sliced." +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:585 +msgid "Slicing Done!" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:600 +msgid "Select the STL file to repair:" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:614 +msgid "Save OBJ file (less prone to coordinate errors than STL) as:" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Your file was repaired." +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:629 +msgid "Repair" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:643 +msgid "Save configuration as:" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:663 src/slic3r/GUI/MainFrame.cpp:727 +msgid "Select configuration to load:" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:700 +msgid "Save presets bundle as:" +msgstr "" + +#: src/slic3r/GUI/MainFrame.cpp:751 +#, c-format +msgid "%d presets successfully imported." +msgstr "" + +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r error" +msgstr "" + +#: src/slic3r/GUI/MsgDialog.cpp:66 +msgid "Slic3r has encountered an error" +msgstr "" + +#: src/slic3r/GUI/MsgDialog.cpp:84 +msgid "Copy to clipboard" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:107 +msgid "Info" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:126 +msgid "Volume" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:127 +msgid "Facets" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:128 +msgid "Materials" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:131 +msgid "Manifold" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:174 +msgid "Sliced Info" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:193 src/slic3r/GUI/Plater.cpp:823 +msgid "Used Filament (m)" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:194 +msgid "Used Filament (mm³)" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:195 +msgid "Used Filament (g)" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:196 src/slic3r/GUI/Plater.cpp:838 +#: src/libslic3r/PrintConfig.cpp:718 +msgid "Cost" +msgstr "单价" + +#: src/slic3r/GUI/Plater.cpp:197 src/slic3r/GUI/Plater.cpp:852 +msgid "Estimated printing time" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:198 +msgid "Number of tool changes" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:361 +msgid "Support" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:364 +msgid "Select what kind of support do you need" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:365 src/libslic3r/GCode/PreviewData.cpp:162 +msgid "None" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:366 src/libslic3r/PrintConfig.cpp:1904 +msgid "Support on build plate only" +msgstr "仅在热床上生成支撑" + +#: src/slic3r/GUI/Plater.cpp:367 +msgid "Everywhere" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:379 src/slic3r/GUI/Tab.cpp:977 +msgid "Brim" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:381 +msgid "" +"This flag enables the brim that will be printed around each object on the " +"first layer." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:390 +msgid "Purging volumes" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:556 +msgid "Print settings" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:557 src/slic3r/GUI/Tab.cpp:1380 +#: src/slic3r/GUI/Tab.cpp:1381 +msgid "Filament" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:558 src/slic3r/GUI/Preset.cpp:1158 +msgid "SLA print" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:559 src/slic3r/GUI/Preset.cpp:1159 +msgid "SLA material" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:560 +msgid "Printer" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:588 +msgid "Send to printer" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:607 +msgid "Slice now" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:787 +#, c-format +msgid "%d (%d shells)" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:792 +#, c-format +msgid "Auto-repaired (%d errors)" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:795 +#, 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:805 +msgid "Yes" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:825 src/slic3r/GUI/Plater.cpp:840 +msgid "wipe tower" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:855 +msgid "normal mode" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:859 +msgid "silent mode" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1304 +msgid "Loading" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1314 +#, c-format +msgid "Processing input file %s\n" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1366 +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 "" + +#: src/slic3r/GUI/Plater.cpp:1369 src/slic3r/GUI/Plater.cpp:1411 +msgid "Multi-part object detected" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1388 +#, 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:1408 +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 "" + +#: src/slic3r/GUI/Plater.cpp:1424 +msgid "Loaded" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1492 +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:1493 +msgid "Object too large?" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1536 +msgid "Export print config" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1538 +msgid "Save file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1702 +msgid "Arranging canceled" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1705 +msgid "Arranging" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1736 +msgid "Could not arrange model objects! Some geometries may be invalid." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1740 +msgid "Arranging done." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1782 +msgid "Orientation search canceled" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1787 +msgid "Searching for optimal orientation" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1797 +msgid "Orientation found." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1818 +msgid "" +"The selected object can't be split because it contains more than one volume/" +"material." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1945 src/slic3r/GUI/PrintHostDialogs.cpp:174 +msgid "Cancelling" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:1962 +msgid "Another export job is currently running." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2215 +msgid "Export failed" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2219 src/slic3r/GUI/PrintHostDialogs.cpp:175 +msgid "Cancelled" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2346 src/slic3r/GUI/Tab.cpp:2736 +msgid "Delete" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2346 +msgid "Remove the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Increase copies" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2349 +msgid "Place one more copy of the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Decrease copies" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2351 +msgid "Remove one copy of the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Set number of copies" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2353 +msgid "Change the number of copies of the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload from Disk" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2363 +msgid "Reload the selected file from Disk" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export object as STL" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2366 +msgid "Export this single object as STL file" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Along X axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2375 +msgid "Mirror the selected object along the X axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Along Y axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2377 +msgid "Mirror the selected object along the Y axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Along Z axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2379 +msgid "Mirror the selected object along the Z axis" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2382 +msgid "Mirror the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2400 +msgid "To objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2400 src/slic3r/GUI/Plater.cpp:2431 +msgid "Split the selected object into individual objects" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 +msgid "To parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2402 src/slic3r/GUI/Plater.cpp:2451 +msgid "Split the selected object into individual sub-parts" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2405 src/slic3r/GUI/Plater.cpp:2431 +#: src/slic3r/GUI/Plater.cpp:2451 +msgid "Split" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2405 +msgid "Split the selected object" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize orientation" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2435 +msgid "Optimize the rotation of the object for better print results." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save G-code file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2795 +msgid "Save Zip file as:" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2845 +#, c-format +msgid "STL file exported to %s" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2861 +#, c-format +msgid "AMF file exported to %s" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2864 +#, c-format +msgid "Error exporting AMF file %s" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2891 +#, c-format +msgid "3MF file exported to %s" +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2894 +#, c-format +msgid "Error exporting 3MF file %s" +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1712 +#: src/slic3r/GUI/Tab.cpp:1911 +msgid "General" +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:34 +msgid "Remember output directory" +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:36 +msgid "" +"If this is enabled, Slic3r will prompt the last output directory instead of " +"the one containing the input files." +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:42 +msgid "Auto-center parts" +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:44 +msgid "" +"If this is enabled, Slic3r will auto-center objects around the print bed " +"center." +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:50 +msgid "Background processing" +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:52 +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." +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:74 +msgid "Suppress \" - default - \" presets" +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:76 +msgid "" +"Suppress \" - default - \" presets in the Print / Filament / Printer " +"selections once there are any other valid presets available." +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:82 +msgid "Show incompatible print and filament presets" +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:84 +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:90 +msgid "Use legacy OpenGL 1.1 rendering" +msgstr "" + +#: src/slic3r/GUI/Preferences.cpp:92 +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 "" + +#: src/slic3r/GUI/Preferences.cpp:115 +msgid "You need to restart Slic3r to make the changes effective." +msgstr "" + +#: src/slic3r/GUI/Preset.cpp:170 +msgid "modified" +msgstr "" + +#: src/slic3r/GUI/Preset.cpp:862 src/slic3r/GUI/Preset.cpp:902 +#: src/slic3r/GUI/Preset.cpp:930 src/slic3r/GUI/Preset.cpp:962 +#: src/slic3r/GUI/PresetBundle.cpp:1459 src/slic3r/GUI/PresetBundle.cpp:1512 +msgid "System presets" +msgstr "" + +#: src/slic3r/GUI/Preset.cpp:906 src/slic3r/GUI/Preset.cpp:966 +#: src/slic3r/GUI/PresetBundle.cpp:1517 +msgid "User presets" +msgstr "" + +#: src/slic3r/GUI/Preset.cpp:1157 +msgid "filament" +msgstr "" + +#: 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 "" + +#: 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%%." +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:36 +msgid "" +"\n" +"During the other layers, fan " +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:38 +msgid "Fan " +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:43 +#, c-format +msgid "will always run at %d%% " +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:46 +#, c-format +msgid "except for the first %d layers" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:50 +msgid "except for the first layer" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:52 +msgid "will be turned off." +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:153 +msgid "external perimeters" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:162 +msgid "perimeters" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:171 +msgid "infill" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:181 +msgid "solid infill" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:189 +msgid "top solid infill" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:200 +msgid "support" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:210 +msgid "support interface" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "First layer volumetric" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Bridging volumetric" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:216 +msgid "Volumetric" +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:217 +msgid " flow rate is maximized " +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:220 +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 "" + +#: src/slic3r/GUI/PresetHints.cpp:228 +#, c-format +msgid " at filament speed %3.2f mm/s." +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:247 +msgid "" +"Recommended object thin wall thickness: Not available due to invalid layer " +"height." +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:264 +#, c-format +msgid "Recommended object thin wall thickness for layer height %.2f and " +msgstr "" + +#: src/slic3r/GUI/PresetHints.cpp:271 +#, c-format +msgid "%d lines: %.2lf mm" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Send G-Code to printer host" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:29 +msgid "Upload to Printer Host with the following filename:" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:31 +msgid "Start printing after upload" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:33 +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:111 +msgid "Cancel selected" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:113 +msgid "Show error message" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:115 +msgid "Close" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:152 +#: src/slic3r/GUI/PrintHostDialogs.cpp:171 +msgid "Enqueued" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:172 +msgid "Uploading" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "Completed" +msgstr "" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:214 +msgid "Error uploading to print host:" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:23 +msgid "NO RAMMING AT ALL" +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:78 src/libslic3r/PrintConfig.cpp:603 +#: src/libslic3r/PrintConfig.cpp:653 src/libslic3r/PrintConfig.cpp:670 +#: src/libslic3r/PrintConfig.cpp:2352 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2432 src/libslic3r/PrintConfig.cpp:2440 +msgid "s" +msgstr "" + +#: src/slic3r/GUI/RammingChart.cpp:81 +msgid "Volumetric speed" +msgstr "" + +#: src/slic3r/GUI/SysInfoDialog.cpp:40 +msgid "Slic3r Prusa Edition - System Information" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:49 src/libslic3r/PrintConfig.cpp:202 +msgid "Compatible printers" +msgstr "兼容的打印机" + +#: src/slic3r/GUI/Tab.cpp:50 +msgid "Select the printers this profile is compatible with." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:55 src/libslic3r/PrintConfig.cpp:215 +msgid "Compatible print profiles" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:56 +msgid "Select the print profiles this profile is compatible with." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:118 +msgid "Save current " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:119 +msgid "Delete this preset" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:131 +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:824 +msgid "It's a default preset." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:825 +msgid "It's a system preset." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:826 +msgid "Current preset is inherited from " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:831 +msgid "It can't be deleted or modified. " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:832 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:833 +msgid "To do that please specify a new name for the preset." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:837 +msgid "Additional information:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:843 +msgid "printer model" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:851 +msgid "default print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:854 +msgid "default filament profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:868 +msgid "default SLA material profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:872 +msgid "default SLA print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:919 src/slic3r/GUI/Tab.cpp:3174 +msgid "Layers and perimeters" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:920 src/libslic3r/PrintConfig.cpp:46 +msgid "Layer height" +msgstr "层高" + +#: src/slic3r/GUI/Tab.cpp:924 +msgid "Vertical shells" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:935 +msgid "Horizontal shells" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:936 src/libslic3r/PrintConfig.cpp:1788 +msgid "Solid layers" +msgstr "可靠层数" + +#: src/slic3r/GUI/Tab.cpp:941 +msgid "Quality (slower slicing)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:958 +msgid "Reducing printing time" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:970 +msgid "Skirt and brim" +msgstr "环边和裙边" + +#: src/slic3r/GUI/Tab.cpp:987 +msgid "Raft" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:991 +msgid "Options for support material and raft" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1006 +msgid "Speed for print moves" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1018 +msgid "Speed for non-print moves" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1021 +msgid "Modifiers" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1024 +msgid "Acceleration control (advanced)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1031 +msgid "Autospeed (advanced)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1037 +msgid "Multiple Extruders" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1045 +msgid "Ooze prevention" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1062 +msgid "Extrusion width" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1072 +msgid "Overlap" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1075 +msgid "Flow" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1078 +msgid "Other" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1085 src/slic3r/GUI/Tab.cpp:3213 +msgid "Output options" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1086 +msgid "Sequential printing" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1088 +msgid "Extruder clearance (mm)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1097 src/slic3r/GUI/Tab.cpp:3214 +msgid "Output file" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1103 src/libslic3r/PrintConfig.cpp:1438 +msgid "Post-processing scripts" +msgstr "后处理脚本" + +#: src/slic3r/GUI/Tab.cpp:1109 src/slic3r/GUI/Tab.cpp:1110 +#: src/slic3r/GUI/Tab.cpp:1483 src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1883 src/slic3r/GUI/Tab.cpp:1884 +#: src/slic3r/GUI/Tab.cpp:1964 src/slic3r/GUI/Tab.cpp:1965 +#: src/slic3r/GUI/Tab.cpp:3119 src/slic3r/GUI/Tab.cpp:3120 +msgid "Notes" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1116 src/slic3r/GUI/Tab.cpp:1491 +#: src/slic3r/GUI/Tab.cpp:1890 src/slic3r/GUI/Tab.cpp:1971 +#: src/slic3r/GUI/Tab.cpp:3127 src/slic3r/GUI/Tab.cpp:3219 +msgid "Dependencies" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1117 src/slic3r/GUI/Tab.cpp:1492 +#: src/slic3r/GUI/Tab.cpp:1891 src/slic3r/GUI/Tab.cpp:1972 +#: src/slic3r/GUI/Tab.cpp:3128 src/slic3r/GUI/Tab.cpp:3220 +msgid "Profile dependencies" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1161 +#, 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 "" + +#: src/slic3r/GUI/Tab.cpp:1168 +msgid "Spiral Vase" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1191 +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 "" + +#: src/slic3r/GUI/Tab.cpp:1195 src/slic3r/GUI/Tab.cpp:1212 +msgid "Wipe Tower" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1209 +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 "" + +#: src/slic3r/GUI/Tab.cpp:1227 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters\n" +"\n" +"Shall I adjust those settings for supports?" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1230 +msgid "Support Generator" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1272 +msgid "The " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1272 +#, no-c-format +msgid "" +" infill pattern is not supposed to work at 100% density.\n" +"\n" +"Shall I switch to rectilinear fill pattern?" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1388 +msgid "Temperature " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1394 +msgid "Bed" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1399 +msgid "Cooling" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1400 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:2212 +msgid "Enable" +msgstr "使能" + +#: src/slic3r/GUI/Tab.cpp:1411 +msgid "Fan settings" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1412 +msgid "Fan speed" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1420 +msgid "Cooling thresholds" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1426 +msgid "Filament properties" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1430 +msgid "Print speed override" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1440 +msgid "Toolchange parameters with single extruder MM printers" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1455 +msgid "Ramming settings" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1470 src/slic3r/GUI/Tab.cpp:1846 +msgid "Custom G-code" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1471 src/slic3r/GUI/Tab.cpp:1847 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1833 +msgid "Start G-code" +msgstr "起始G代码" + +#: src/slic3r/GUI/Tab.cpp:1477 src/slic3r/GUI/Tab.cpp:1853 +#: src/libslic3r/PrintConfig.cpp:333 src/libslic3r/PrintConfig.cpp:344 +msgid "End G-code" +msgstr "结尾G代码" + +#: src/slic3r/GUI/Tab.cpp:1588 src/slic3r/GUI/Tab.cpp:1642 +msgid " Browse " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1788 +msgid "Test" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1615 +msgid "Could not get a valid Printer Host reference" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1621 src/slic3r/GUI/Tab.cpp:1801 +msgid "Success!" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1636 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1648 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1649 +msgid "Open CA certificate file" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1676 +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:1713 src/slic3r/GUI/Tab.cpp:1912 +msgid "Size and coordinates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:1916 +#: src/slic3r/GUI/Tab.cpp:2792 +msgid " Set " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1740 +msgid "Capabilities" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1745 +msgid "Number of extruders of the printer." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1773 +msgid "USB/Serial connection" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1774 src/libslic3r/PrintConfig.cpp:1660 +msgid "Serial port" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1779 +msgid "Rescan serial ports" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1801 +msgid "Connection to printer works correctly." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1804 +msgid "Connection failed." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1817 src/slic3r/GUI/Tab.cpp:1961 +msgid "Print Host upload" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1859 src/libslic3r/PrintConfig.cpp:92 +msgid "Before layer change G-code" +msgstr "层改变前的G代码" + +#: src/slic3r/GUI/Tab.cpp:1865 src/libslic3r/PrintConfig.cpp:1042 +msgid "After layer change G-code" +msgstr "层变化后G代码" + +#: src/slic3r/GUI/Tab.cpp:1871 src/libslic3r/PrintConfig.cpp:2111 +msgid "Tool change G-code" +msgstr "切换工具G代码" + +#: src/slic3r/GUI/Tab.cpp:1877 +msgid "Between objects G-code (for sequential printing)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1938 +msgid "Display" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:1949 src/slic3r/GUI/Tab.cpp:3102 +msgid "Corrections" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2011 src/slic3r/GUI/Tab.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1098 +#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1132 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1154 +msgid "Machine limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2025 +msgid "Values in this column are for Full Power mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2026 +msgid "Full Power" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2031 +msgid "Values in this column are for Silent mode" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2032 +msgid "Silent" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2040 +msgid "Maximum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2045 +msgid "Maximum accelerations" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2052 +msgid "Jerk limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2057 +msgid "Minimum feedrates" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2095 src/slic3r/GUI/Tab.cpp:2103 +msgid "Single extruder MM setup" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2104 +msgid "Single extruder multimaterial parameters" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2118 src/libslic3r/GCode/PreviewData.cpp:475 +#, c-format +msgid "Extruder %d" +msgstr "挤出头 %d" + +#: src/slic3r/GUI/Tab.cpp:2125 +msgid "Layer height limits" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2130 +msgid "Position (for multi-extruder printers)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2133 +msgid "Retraction" +msgstr "回缩" + +#: src/slic3r/GUI/Tab.cpp:2136 +msgid "Only lift Z" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2149 +msgid "" +"Retraction when tool is disabled (advanced settings for multi-extruder " +"setups)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2153 +msgid "Preview" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2284 +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:2286 +msgid "Firmware Retraction" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2565 +#, c-format +msgid "Default preset (%s)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2566 +#, c-format +msgid "Preset (%s)" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2583 +msgid "has the following unsaved changes:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2586 +msgid "is not compatible with printer" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2587 +msgid "is not compatible with print profile" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2589 +msgid "and it has the following unsaved changes:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2592 +msgid "Discard changes and continue anyway?" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2593 +msgid "Unsaved Changes" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2604 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Please check your object list before preset changing." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2699 +msgid "The supplied name is empty. It can't be saved." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2704 +msgid "Cannot overwrite a system profile." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2708 +msgid "Cannot overwrite an external profile." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "remove" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2734 +msgid "delete" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid "Are you sure you want to " +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2735 +msgid " the selected preset?" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2736 +msgid "Remove" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2737 +msgid " Preset" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2791 +msgid "All" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2869 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2872 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2878 +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." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2882 +msgid "" +"BACK ARROW;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 "" + +#: src/slic3r/GUI/Tab.cpp:2908 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2910 +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." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2913 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2916 +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:2918 +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 "" + +#: src/slic3r/GUI/Tab.cpp:2924 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2925 +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." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2931 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:2932 +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:3031 +msgid " as:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3075 +msgid "the following postfix are not allowed:" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3079 +msgid "The supplied name is not available." +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3092 +msgid "Material" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3094 src/slic3r/GUI/Tab.cpp:3176 +msgid "Layers" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3098 +msgid "Exposure" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3183 +msgid "Support head" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3188 +msgid "Support pillar" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3196 +msgid "Connection of the support sticks and junctions" +msgstr "" + +#: src/slic3r/GUI/Tab.cpp:3200 +msgid "Automatic generation" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:293 src/slic3r/GUI/Tab.hpp:381 +msgid "Print Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:311 +msgid "Filament Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:344 +msgid "Printer Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:367 +msgid "Material Settings" +msgstr "" + +#: src/slic3r/GUI/Tab.hpp:393 +msgid "Save preset" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "Update available" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:28 +msgid "New version of Slic3r PE is available" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:35 +msgid "To download, follow the link below." +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:42 +msgid "Current version:" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:44 +msgid "New version:" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:52 +msgid "Don't notify about new releases any more" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 src/slic3r/GUI/UpdateDialogs.cpp:162 +msgid "Configuration update" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:70 +msgid "Configuration update is available" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:73 +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 "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r incompatibility" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:109 +msgid "Slic3r configuration is incompatible" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:112 +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" +"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 "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:121 +#, c-format +msgid "This Slic3r PE version: %s" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:126 +msgid "Incompatible bundles:" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:142 +msgid "Exit Slic3r" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:145 +msgid "Re-configure" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:166 +#, c-format +msgid "" +"Slic3r PE 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 "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:182 +msgid "For more information please visit our wiki page:" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:10 +msgid "Ramming customization" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:36 +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 "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:78 +msgid "Total ramming time" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:80 +msgid "Total rammed volume" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Ramming line width" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:86 +msgid "Ramming line spacing" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:138 +msgid "Wipe tower - Purging volume adjustment" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:219 +msgid "" +"Here you can adjust required purging volume (mm³) for any given pair of " +"tools." +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:220 +msgid "Extruder changed to" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:228 +msgid "unloaded" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:229 +msgid "loaded" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +msgid "Tool #" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:241 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:242 +msgid "Volume to purge (mm³) when the filament is being" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:256 +msgid "From" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:321 +msgid "" +"Switching to simple settings will discard changes done in the advanced " +"mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show simplified settings" +msgstr "" + +#: src/slic3r/GUI/WipeTowerDialog.cpp:333 +msgid "Show advanced settings" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:65 +#, c-format +msgid "Mismatched type of print host: %s" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:80 +msgid "Connection to OctoPrint works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Could not connect to OctoPrint" +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:86 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:181 +msgid "Connection to Prusa SLA works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:186 +msgid "Could not connect to Prusa SLA" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:571 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:576 +#, c-format +msgid "requires min. %s" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:578 +#, c-format +msgid "requires max. %s" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:219 +#: src/slic3r/Utils/FixModelByWin10.cpp:349 +msgid "Exporting the source model" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:235 +msgid "Failed loading the input model." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:242 +msgid "Repairing the model by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:248 +msgid "Mesh repair failed." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:251 +#: src/slic3r/Utils/FixModelByWin10.cpp:367 +msgid "Loading the repaired model" +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 "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:334 +msgid "Model fixing" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:335 +msgid "Exporting model..." +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:357 +msgid "Export of a temporary 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:372 +msgid "Import of the repaired 3mf file failed" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:375 +msgid "Model repair finished" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:379 +msgid "Model repair canceled" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +msgid "Model repaired successfully" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:396 +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model Repair by the Netfabb service" +msgstr "" + +#: src/slic3r/Utils/FixModelByWin10.cpp:399 +msgid "Model repair failed: \n" +msgstr "" + +#: src/libslic3r/Print.cpp:1175 +msgid "All objects are outside of the print volume." +msgstr "" + +#: src/libslic3r/Print.cpp:1201 +msgid "Some objects are too close; your extruder will collide with them." +msgstr "" + +#: src/libslic3r/Print.cpp:1216 +msgid "" +"Some objects are too tall and cannot be printed without extruder collisions." +msgstr "" + +#: src/libslic3r/Print.cpp:1226 +msgid "The Spiral Vase option can only be used when printing a single object." +msgstr "" + +#: src/libslic3r/Print.cpp:1228 +msgid "" +"The Spiral Vase option can only be used when printing single material " +"objects." +msgstr "" + +#: src/libslic3r/Print.cpp:1234 +msgid "" +"All extruders must have the same diameter for single extruder multimaterial " +"printer." +msgstr "" + +#: src/libslic3r/Print.cpp:1239 +msgid "" +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " +"and Repetier G-code flavors." +msgstr "" + +#: src/libslic3r/Print.cpp:1241 +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" + +#: src/libslic3r/Print.cpp:1253 +msgid "" +"The Wipe Tower is only supported for multiple objects if they have equal " +"layer heigths" +msgstr "" + +#: src/libslic3r/Print.cpp:1255 +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:1257 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are printed " +"with the same support_material_contact_distance" +msgstr "" + +#: src/libslic3r/Print.cpp:1259 +msgid "" +"The Wipe Tower is only supported for multiple objects if they are sliced " +"equally." +msgstr "" + +#: src/libslic3r/Print.cpp:1281 +msgid "" +"The Wipe tower is only supported if all objects have the same layer height " +"profile" +msgstr "" + +#: src/libslic3r/Print.cpp:1290 +msgid "The supplied settings will cause an empty print." +msgstr "" + +#: src/libslic3r/Print.cpp:1307 +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "" + +#: src/libslic3r/Print.cpp:1316 +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 "" + +#: src/libslic3r/Print.cpp:1324 +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:1328 +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 "" + +#: src/libslic3r/Print.cpp:1335 +msgid "first_layer_height" +msgstr "" + +#: src/libslic3r/Print.cpp:1350 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/Print.cpp:1354 +msgid "Layer height can't be greater than nozzle diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:32 src/libslic3r/PrintConfig.cpp:33 +msgid "Printer technology" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:41 +msgid "Bed shape" +msgstr "机床形状" + +#: src/libslic3r/PrintConfig.cpp:48 +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:56 +msgid "Max print height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:57 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Avoid crossing perimeters" +msgstr "避免跨越轮廓" + +#: src/libslic3r/PrintConfig.cpp:74 +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." +msgstr "" +"为了尽量减少跨越轮廓,优化空程的移动方式。这非常适用于受渗漏问题影响的鲍登挤" +"出头。此功能会减慢打印速度和 G 代码生成速度。" + +#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:2080 +msgid "Other layers" +msgstr "其它层" + +#: src/libslic3r/PrintConfig.cpp:83 +msgid "" +"Bed temperature for layers after the first one. Set this to zero to disable " +"bed temperature control commands in the output." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:86 +msgid "Bed temperature" +msgstr "机床温度" + +#: src/libslic3r/PrintConfig.cpp:93 +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轴移动前插入。注意除了可以使用[layer_num]和" +"[layer_z],也可以使用占位符变量替代所有的slic3r设置。" + +#: src/libslic3r/PrintConfig.cpp:104 +msgid "Between objects G-code" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:105 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:114 +msgctxt "Layers" +msgid "Bottom" +msgstr "底部" + +#: src/libslic3r/PrintConfig.cpp:116 +msgid "Number of solid layers to generate on bottom surfaces." +msgstr "底部表面生成的可靠层数。" + +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Bottom solid layers" +msgstr "底部可靠层" + +#: src/libslic3r/PrintConfig.cpp:123 +msgid "Bridge" +msgstr "桥" + +#: src/libslic3r/PrintConfig.cpp:124 +msgid "" +"This is the acceleration your printer will use for bridges. Set zero to " +"disable acceleration control for bridges." +msgstr "此项为打印机在打印桥时的加速度。设为0可以禁用打印桥的加速度控制。" + +#: src/libslic3r/PrintConfig.cpp:126 src/libslic3r/PrintConfig.cpp:274 +#: src/libslic3r/PrintConfig.cpp:819 src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1100 src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1156 src/libslic3r/PrintConfig.cpp:1386 +msgid "mm/s²" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "Bridging angle" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:135 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:138 src/libslic3r/PrintConfig.cpp:734 +#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1896 src/libslic3r/PrintConfig.cpp:2063 +#: src/libslic3r/PrintConfig.cpp:2578 +msgid "°" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:145 +msgid "Bridges fan speed" +msgstr "桥风扇速度" + +#: src/libslic3r/PrintConfig.cpp:146 +msgid "This fan speed is enforced during all bridges and overhangs." +msgstr "此项为在打印所有桥和悬垂部位时的风扇速度。" + +#: src/libslic3r/PrintConfig.cpp:147 src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1517 +msgid "%" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Bridge flow ratio" +msgstr "桥流量比" + +#: src/libslic3r/PrintConfig.cpp:157 +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." +msgstr "" +"此因素影响桥接部位的塑料用量。可以略微减少该值以回撤挤出物避免滴垂。但默认设" +"置通常来说已经可以满足使用,在修改前需通过冷却(使用风扇)进行测试。" + +#: src/libslic3r/PrintConfig.cpp:168 +msgid "Bridges" +msgstr "桥接处" + +#: src/libslic3r/PrintConfig.cpp:170 +msgid "Speed for printing bridges." +msgstr "打印桥接处的速度。" + +#: src/libslic3r/PrintConfig.cpp:171 src/libslic3r/PrintConfig.cpp:564 +#: src/libslic3r/PrintConfig.cpp:573 src/libslic3r/PrintConfig.cpp:583 +#: src/libslic3r/PrintConfig.cpp:592 src/libslic3r/PrintConfig.cpp:623 +#: src/libslic3r/PrintConfig.cpp:644 src/libslic3r/PrintConfig.cpp:884 +#: src/libslic3r/PrintConfig.cpp:1013 src/libslic3r/PrintConfig.cpp:1090 +#: src/libslic3r/PrintConfig.cpp:1110 src/libslic3r/PrintConfig.cpp:1123 +#: src/libslic3r/PrintConfig.cpp:1134 src/libslic3r/PrintConfig.cpp:1189 +#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1601 src/libslic3r/PrintConfig.cpp:1611 +#: src/libslic3r/PrintConfig.cpp:2041 src/libslic3r/PrintConfig.cpp:2160 +msgid "mm/s" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:178 +msgid "Brim width" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:179 +msgid "" +"Horizontal width of the brim that will be printed around each object on the " +"first layer." +msgstr "第一层每个物体周围打印的裙边水平宽度。" + +#: src/libslic3r/PrintConfig.cpp:187 +msgid "Clip multi-part objects" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:188 +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 "" + +#: src/libslic3r/PrintConfig.cpp:196 +msgid "Colorprint height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:197 +msgid "Heights at which a filament change is to occur. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:207 +msgid "Compatible printers condition" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:208 +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 "" + +#: src/libslic3r/PrintConfig.cpp:220 +msgid "Compatible print profiles condition" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:221 +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:235 +msgid "Complete individual objects" +msgstr "打印完成单个物体" + +#: src/libslic3r/PrintConfig.cpp:236 +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 "" +"勾选此项表示当打印多个物体或复制体时,先打印完一整个物体再继续打印后续物体" +"(从底层开始)。此选项利于避免打毁掉物体。Slic3r应该给出警示,避免挤出头碰" +"撞,但请小心。" + +#: src/libslic3r/PrintConfig.cpp:245 +msgid "Enable auto cooling" +msgstr "自动冷却使能" + +#: src/libslic3r/PrintConfig.cpp:246 +msgid "" +"This flag enables the automatic cooling logic that adjusts print speed and " +"fan speed according to layer printing time." +msgstr "该选项启动自动冷却,使得可根据层打印时间调整打印速度和风扇速度。" + +#: src/libslic3r/PrintConfig.cpp:252 +msgid "Cooling tube position" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:253 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:261 +msgid "Cooling tube length" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:262 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:271 +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." +msgstr "" +"该值为打印机在使用了特定的加速度值(如轮廓/填充)后将重置的加速度值。设为0以" +"防止重置加速度。" + +#: src/libslic3r/PrintConfig.cpp:281 +msgid "Default filament profile" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:282 +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:287 +msgid "Default print profile" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:288 src/libslic3r/PrintConfig.cpp:2469 +#: src/libslic3r/PrintConfig.cpp:2479 +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:293 +msgid "Disable fan for the first" +msgstr "前几层禁用风扇" + +#: src/libslic3r/PrintConfig.cpp:294 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:296 src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1757 src/libslic3r/PrintConfig.cpp:1935 +#: src/libslic3r/PrintConfig.cpp:1985 +msgid "layers" +msgstr "层" + +#: src/libslic3r/PrintConfig.cpp:304 +msgid "Don't support bridges" +msgstr "不支持桥接" + +#: src/libslic3r/PrintConfig.cpp:306 +msgid "" +"Experimental option for preventing support material from being generated " +"under bridged areas." +msgstr "试验项,在桥接处禁止生成支撑材料。" + +#: src/libslic3r/PrintConfig.cpp:313 +msgid "Distance between copies" +msgstr "复制物体之间的距离" + +#: src/libslic3r/PrintConfig.cpp:314 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "自动分布时所使用的距离。" + +#: src/libslic3r/PrintConfig.cpp:322 +msgid "Elephant foot compensation" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:324 +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 "" + +#: src/libslic3r/PrintConfig.cpp:334 +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参数使用占位符变量。" + +#: src/libslic3r/PrintConfig.cpp:345 +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 "" +"该部分将被插入输出文件的结尾,但在打印机结尾G代码之前。注意可以对所有Slic3r参" +"数使用占位符变量代替。如果有多个打印头,G代码将按打印头的顺序来处理。" + +#: src/libslic3r/PrintConfig.cpp:356 +msgid "Ensure vertical shell thickness" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:358 +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:365 +msgid "Top/bottom fill pattern" +msgstr "顶部/底部填充样式" + +#: src/libslic3r/PrintConfig.cpp:367 +msgid "" +"Fill pattern for top/bottom infill. This only affects the external visible " +"layer, and not its adjacent solid shells." +msgstr "对顶部/底部内部填充的类型。这将影响外围可见层,不影响其相邻的可靠层。" + +#: src/libslic3r/PrintConfig.cpp:376 src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:2021 +msgid "Rectilinear" +msgstr "折线式" + +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:806 +msgid "Concentric" +msgstr "同轴式" + +#: src/libslic3r/PrintConfig.cpp:378 src/libslic3r/PrintConfig.cpp:810 +msgid "Hilbert Curve" +msgstr "希尔伯特曲线式" + +#: src/libslic3r/PrintConfig.cpp:379 src/libslic3r/PrintConfig.cpp:811 +msgid "Archimedean Chords" +msgstr "阿基米德和铉式" + +# Not so sure about how to put "Octagram Spiral" in Chinese. Or maybe "Octagram螺旋“ is good. +#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:812 +msgid "Octagram Spiral" +msgstr "八角星螺旋式" + +#: src/libslic3r/PrintConfig.cpp:386 src/libslic3r/PrintConfig.cpp:397 +msgid "External perimeters" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:388 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:391 src/libslic3r/PrintConfig.cpp:841 +#: src/libslic3r/PrintConfig.cpp:975 src/libslic3r/PrintConfig.cpp:1408 +#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:2129 +msgid "mm or % (leave 0 for default)" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:399 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:402 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1725 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2006 src/libslic3r/PrintConfig.cpp:2142 +msgid "mm/s or %" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:409 +msgid "External perimeters first" +msgstr "先打印外围轮廓" + +#: src/libslic3r/PrintConfig.cpp:411 +msgid "" +"Print contour perimeters from the outermost one to the innermost one instead " +"of the default inverse order." +msgstr "从最外围轮廓向最内部的轮廓打印,而不是反方向。" + +#: src/libslic3r/PrintConfig.cpp:418 +msgid "Extra perimeters if needed" +msgstr "如果需要的话,打印外围轮廓" + +#: src/libslic3r/PrintConfig.cpp:420 +#, no-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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:431 +msgid "" +"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:444 +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." +msgstr "" +"设置为喷嘴尖端和(通常)X架杆之间的垂直距离。换句话说,这是在你的挤出机周围的" +"空隙气缸的高度,它代表了挤出头在与其他印打印物体碰撞前科达到的最大深度。" + +#: src/libslic3r/PrintConfig.cpp:455 +msgid "Radius" +msgstr "半径" + +#: src/libslic3r/PrintConfig.cpp:456 +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." +msgstr "" +"设置为挤出头周围的空隙半径。如果挤出头未置中,安全起见请选择最大值。该参数用" +"于检查碰撞,并在界面中显示图形预览。" + +#: src/libslic3r/PrintConfig.cpp:467 +msgid "Extruder Color" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:535 +msgid "This is only used in the Slic3r interface as a visual help." +msgstr "仅提供Slic3r界面的视觉帮助。" + +#: src/libslic3r/PrintConfig.cpp:475 +msgid "Extruder offset" +msgstr "挤出头偏置" + +#: src/libslic3r/PrintConfig.cpp:476 +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)." +msgstr "" +"如果你的固件不能处理挤出头的位移量,需要使用G代码将其考虑进去。该选项可让你细" +"化每个挤出头相对第一个挤出头的位移量。一般为正坐标(它们将从XY坐标相减得" +"到)。" + +#: src/libslic3r/PrintConfig.cpp:486 +msgid "Extrusion axis" +msgstr "挤出轴" + +#: src/libslic3r/PrintConfig.cpp:487 +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)。" + +#: src/libslic3r/PrintConfig.cpp:493 +msgid "Extrusion multiplier" +msgstr "挤出倍数" + +#: src/libslic3r/PrintConfig.cpp:494 +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." +msgstr "" +"该选项按比例改变流量。你可能需要调整该设置来获取更好的表面尾处理,更正单层墙" +"的宽度。通常值范围在0.9到1.1之间。如果你觉得有必要更改幅度更大,检查丝料直径" +"和你的固件E步骤。" + +#: src/libslic3r/PrintConfig.cpp:503 +msgid "Default extrusion width" +msgstr "默认挤出宽度" + +#: src/libslic3r/PrintConfig.cpp:505 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:509 +msgid "mm or % (leave 0 for auto)" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:515 +msgid "Keep fan always on" +msgstr "保持风扇总是打开" + +#: src/libslic3r/PrintConfig.cpp:516 +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." +msgstr "" +"勾选此项,风扇将不会被关闭,在整个打印过程中将持续以不低于最低速开启。对于PLA" +"材料有用,对ABS材料不适用。" + +#: src/libslic3r/PrintConfig.cpp:522 +msgid "Enable fan if layer print time is below" +msgstr "如果打印时间低于该值,则气动风扇" + +#: src/libslic3r/PrintConfig.cpp:523 +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." +msgstr "" +"如果估算的打印时间低于该数值(单位为秒),风扇将启用,而且速度值根据插补最小" +"速度值和最大速度值来计算。" + +#: src/libslic3r/PrintConfig.cpp:525 src/libslic3r/PrintConfig.cpp:1711 +msgid "approximate seconds" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:534 +msgid "Color" +msgstr "颜色" + +#: src/libslic3r/PrintConfig.cpp:541 +msgid "Filament notes" +msgstr "丝料备注" + +#: src/libslic3r/PrintConfig.cpp:542 +msgid "You can put your notes regarding the filament here." +msgstr "关于材料的备注可放这里。" + +#: src/libslic3r/PrintConfig.cpp:551 src/libslic3r/PrintConfig.cpp:1196 +msgid "Max volumetric speed" +msgstr "最大体积速度" + +#: src/libslic3r/PrintConfig.cpp:552 +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." +msgstr "" +"该材料所允许的最大体积速度。把最大体积速度限定为打印速度和材料体积速度的最小" +"值。设为0则无限制。" + +#: src/libslic3r/PrintConfig.cpp:555 src/libslic3r/PrintConfig.cpp:1199 +msgid "mm³/s" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:562 +msgid "Loading speed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:563 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:571 +msgid "Loading speed at the start" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:572 +msgid "Speed used at the very beginning of loading phase. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:580 +msgid "Unloading speed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:581 +msgid "" +"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:590 +msgid "Unloading speed at the start" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:591 +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:599 +msgid "Delay after unloading" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:600 +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. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:610 +msgid "Number of cooling moves" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:611 +msgid "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:620 +msgid "Speed of the first cooling move" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:621 +msgid "Cooling moves are gradually accelerating beginning at this speed. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:629 +msgid "Minimal purge on wipe tower" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:630 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:635 +msgid "mm³" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:641 +msgid "Speed of the last cooling move" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:642 +msgid "Cooling moves are gradually accelerating towards this speed. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:650 +msgid "Filament load time" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:651 +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 "" + +#: src/libslic3r/PrintConfig.cpp:659 +msgid "Ramming parameters" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:660 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:667 +msgid "Filament unload time" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:668 +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 "" + +#: src/libslic3r/PrintConfig.cpp:677 +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:685 +msgid "Density" +msgstr "密度" + +#: src/libslic3r/PrintConfig.cpp:686 +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." +msgstr "" +"在这里输入你的丝料密度。此仅为统计信息。一个不错的方法是测量一段已知长度丝料" +"的重量,然后计算体积。更好的方法式直接通过位移计算体积。" + +#: src/libslic3r/PrintConfig.cpp:689 +msgid "g/cm³" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Filament type" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:696 +msgid "The filament material type for use in custom G-codes." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:712 +msgid "Soluble material" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:713 +msgid "Soluble material is most likely used for a soluble support." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:719 +msgid "" +"Enter your filament cost per kg here. This is only for statistical " +"information." +msgstr "在这里输入丝料每公斤的价格。仅用于统计信息。" + +# Set this to be the local currency symbol. +#: src/libslic3r/PrintConfig.cpp:720 +msgid "money/kg" +msgstr "¥/kg" + +#: src/libslic3r/PrintConfig.cpp:729 +msgid "Fill angle" +msgstr "填充角度" + +#: src/libslic3r/PrintConfig.cpp:731 +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." +msgstr "" +"填充的默认基础方向角。交叉引线适用于此。桥接处将使用Slic3r所侦测的最好方向来" +"填充,所以此参数不影响它们。" + +#: src/libslic3r/PrintConfig.cpp:744 +msgid "Fill density" +msgstr "填充密度" + +#: src/libslic3r/PrintConfig.cpp:746 +msgid "Density of internal infill, expressed in the range 0% - 100%." +msgstr "内部填充的密度,以0% - 100% 表示。" + +#: src/libslic3r/PrintConfig.cpp:782 +msgid "Fill pattern" +msgstr "填充样式" + +#: src/libslic3r/PrintConfig.cpp:784 +msgid "Fill pattern for general low-density infill." +msgstr "一般低密度填充的填充样式。" + +#: src/libslic3r/PrintConfig.cpp:801 +msgid "Grid" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:802 +msgid "Triangles" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:803 +msgid "Stars" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:804 +msgid "Cubic" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:805 +msgid "Line" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:807 src/libslic3r/PrintConfig.cpp:2023 +msgid "Honeycomb" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:808 +msgid "3D Honeycomb" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:809 +msgid "Gyroid" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:826 +#: src/libslic3r/PrintConfig.cpp:835 src/libslic3r/PrintConfig.cpp:871 +msgid "First layer" +msgstr "首层" + +#: src/libslic3r/PrintConfig.cpp:817 +msgid "" +"This is the acceleration your printer will use for first layer. Set zero to " +"disable acceleration control for first layer." +msgstr "此项为打印机对首层使用的加速度。设为0则对首层禁用加速控制。" + +#: src/libslic3r/PrintConfig.cpp:827 +msgid "" +"Heated build plate temperature for the first layer. Set this to zero to " +"disable bed temperature control commands in the output." +msgstr "首层的加热板温度。设为0,可在输出中禁用机床温度控制指令。" + +#: src/libslic3r/PrintConfig.cpp:837 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:848 +msgid "First layer height" +msgstr "首层高度" + +#: src/libslic3r/PrintConfig.cpp:850 +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." +msgstr "" +"当以非常低的层高打印时,对于不太理想的热床来说可能需要打印较厚的底层来提高粘" +"附效果。该值可被表示为一个绝对值,或者一个相对于默认层高的百分数(如150%)。" + +#: src/libslic3r/PrintConfig.cpp:854 src/libslic3r/PrintConfig.cpp:1003 +#: src/libslic3r/PrintConfig.cpp:1884 +msgid "mm or %" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:860 +msgid "First layer speed" +msgstr "首层速度" + +#: src/libslic3r/PrintConfig.cpp:861 +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." +msgstr "" +"如果表示为mm/s的数值,该值将被用于首层的打印动作,无关动作的类型。如果表示为" +"百分数(如40%),则以默认速度值为基准。" + +#: src/libslic3r/PrintConfig.cpp:872 +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:882 +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 "" + +#: src/libslic3r/PrintConfig.cpp:890 +msgid "Verbose G-code" +msgstr "详细的G代码" + +#: src/libslic3r/PrintConfig.cpp:891 +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." +msgstr "" +"启动该项可获得带注释的G代码文件,每一行都有对应的解释性文字。如果从SD卡打印," +"文件冗余部分可能减缓你的固件运行速度。" + +#: src/libslic3r/PrintConfig.cpp:899 +msgid "G-code flavor" +msgstr "G代码风格" + +#: src/libslic3r/PrintConfig.cpp:900 +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不输出任何挤出值。" + +#: src/libslic3r/PrintConfig.cpp:924 +msgid "No extrusion" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:929 +msgid "High extruder current on filament swap" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:930 +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:939 +msgid "" +"This is the acceleration your printer will use for infill. Set zero to " +"disable acceleration control for infill." +msgstr "打印机填充加速度。设为0可禁用填充加速控制。" + +#: src/libslic3r/PrintConfig.cpp:948 +msgid "Combine infill every" +msgstr "每几层联合填充" + +#: src/libslic3r/PrintConfig.cpp:950 +msgid "" +"This feature allows to combine infill and speed up your print by extruding " +"thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "" +"该功能可通过挤出更厚的填充层来实现联合填充,并加速打印,同时保留了薄壁,也就" +"保证了精度。" + +#: src/libslic3r/PrintConfig.cpp:954 +msgid "Combine infill every n layers" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:960 +msgid "Infill extruder" +msgstr "填充挤出头" + +#: src/libslic3r/PrintConfig.cpp:962 +msgid "The extruder to use when printing infill." +msgstr "打印填充时使用的挤出头。" + +#: src/libslic3r/PrintConfig.cpp:971 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:981 +msgid "Infill before perimeters" +msgstr "先填充后打印轮廓" + +#: src/libslic3r/PrintConfig.cpp:982 +msgid "" +"This option will switch the print order of perimeters and infill, making the " +"latter first." +msgstr "该选项将打印轮廓和填充的方式对调,使后者提前。" + +#: src/libslic3r/PrintConfig.cpp:988 +msgid "Only infill where needed" +msgstr "仅在需要时填充" + +#: src/libslic3r/PrintConfig.cpp:990 +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." +msgstr "" +"该选项将把填充限定用于支撑天花板(将充当内部支撑材料的作用)。如果启用,由于" +"多个包含的选项将使G代码生成速度变慢。" + +#: src/libslic3r/PrintConfig.cpp:998 +msgid "Infill/perimeters overlap" +msgstr "填充/轮廓重叠" + +#: src/libslic3r/PrintConfig.cpp:1000 +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." +msgstr "" +"使得填充和轮廓间有额外的重叠部分,便于结合。理论上并不需要,但偏移可能会导致" +"间隙。如果表示为百分数(如15%),则以轮廓挤出宽度为基准。" + +#: src/libslic3r/PrintConfig.cpp:1012 +msgid "Speed for printing the internal fill. Set to zero for auto." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1020 +msgid "Inherits profile" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1021 +msgid "Name of the profile, from which this profile inherits." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1032 +msgid "Interface shells" +msgstr "表面外壳" + +#: src/libslic3r/PrintConfig.cpp:1033 +msgid "" +"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:1043 +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 "" +"这段G代码在每一层变化后,即Z轴移动后,挤出头移动到第一层的点之前插入。注意除" +"了使用如[layer_num]和[layer_z],也可以使用占位符变量来代替Slic3r的参数。" + +#: src/libslic3r/PrintConfig.cpp:1054 +msgid "Supports remaining times" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1055 +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 "" + +#: src/libslic3r/PrintConfig.cpp:1063 +msgid "Supports silent mode" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1064 +msgid "Set silent mode for the G-code flavor" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1087 +msgid "Maximum feedrate %1%" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1089 +msgid "Maximum feedrate of the %1% axis" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1097 +msgid "Maximum acceleration %1%" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1099 +msgid "Maximum acceleration of the %1% axis" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1107 +msgid "Maximum jerk %1%" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1109 +msgid "Maximum jerk of the %1% axis" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1122 +msgid "Minimum feedrate when extruding" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1131 src/libslic3r/PrintConfig.cpp:1133 +msgid "Minimum travel feedrate" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1142 src/libslic3r/PrintConfig.cpp:1144 +msgid "Maximum acceleration when extruding" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1155 +msgid "Maximum acceleration when retracting" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1173 +msgid "Max" +msgstr "最大值" + +#: src/libslic3r/PrintConfig.cpp:1164 +msgid "This setting represents the maximum speed of your fan." +msgstr "该值表示风扇的最大速度。" + +#: src/libslic3r/PrintConfig.cpp:1174 +#, no-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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1185 +msgid "Max print speed" +msgstr "最大打印速度" + +#: src/libslic3r/PrintConfig.cpp:1186 +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." +msgstr "" +"当将其他速度参数设为0时,Slic3r会自动计算最优速度以保证挤出头压力稳定。该试验" +"参数用于设置所允许的最大打印速度。" + +#: src/libslic3r/PrintConfig.cpp:1197 +msgid "" +"This experimental setting is used to set the maximum volumetric speed your " +"extruder supports." +msgstr "该实验参数用于设置你的挤出头所支持的最大体积速度。" + +#: src/libslic3r/PrintConfig.cpp:1206 +msgid "Max volumetric slope positive" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1207 src/libslic3r/PrintConfig.cpp:1219 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1211 src/libslic3r/PrintConfig.cpp:1223 +msgid "mm³/s²" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1218 +msgid "Max volumetric slope negative" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1240 +msgid "Min" +msgstr "最小值" + +#: src/libslic3r/PrintConfig.cpp:1231 +msgid "This setting represents the minimum PWM your fan needs to work." +msgstr "该参数表示你的风扇工作的最小PWM。" + +#: src/libslic3r/PrintConfig.cpp:1241 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1250 +msgid "Min print speed" +msgstr "最小打印速度" + +#: src/libslic3r/PrintConfig.cpp:1251 +msgid "Slic3r will not scale speed down below this speed." +msgstr "Slic3r的最小打印速度。" + +#: src/libslic3r/PrintConfig.cpp:1259 +msgid "Minimal filament extrusion length" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1260 +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." +msgstr "" +"在底层上消耗指定材料量生成环边。对于多挤出头的机器,该最小值适用于每个挤出" +"头。" + +#: src/libslic3r/PrintConfig.cpp:1270 +msgid "Configuration notes" +msgstr "配置备注" + +#: src/libslic3r/PrintConfig.cpp:1271 +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"你可以在这里输入你的个人备注。该段文字内容将被添加到G代码文件开头的注释里。" + +#: src/libslic3r/PrintConfig.cpp:1281 +msgid "Nozzle diameter" +msgstr "喷嘴直径" + +#: src/libslic3r/PrintConfig.cpp:1282 +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:1288 +msgid "Host Type" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1289 +msgid "" +"Slic3r can upload G-code files to a printer host. This field must contain " +"the kind of the host." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "API Key / Password" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1302 +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 "" + +#: src/libslic3r/PrintConfig.cpp:1317 +msgid "Hostname, IP or URL" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1318 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1325 +msgid "Only retract when crossing perimeters" +msgstr "仅在越过轮廓时回缩" + +#: src/libslic3r/PrintConfig.cpp:1326 +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:1334 +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:1342 +msgid "Output filename format" +msgstr "输出文件名称格式" + +#: src/libslic3r/PrintConfig.cpp:1343 +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], [input_filename_base]。" + +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Detect bridging perimeters" +msgstr "侦测桥接轮廓" + +#: src/libslic3r/PrintConfig.cpp:1355 +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:1362 +msgid "Filament parking position" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1363 +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:1372 +msgid "Extra loading distance" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1373 +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. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1382 src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1425 +msgid "Perimeters" +msgstr "轮廓" + +#: src/libslic3r/PrintConfig.cpp:1383 +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将禁用轮廓加速度控制。" + +#: src/libslic3r/PrintConfig.cpp:1392 +msgid "Perimeter extruder" +msgstr "轮廓挤出头" + +#: src/libslic3r/PrintConfig.cpp:1394 +msgid "" +"The extruder to use when printing perimeters and brim. First extruder is 1." +msgstr "打印轮廓和裙边所使用的挤出头。第一个挤出头是1。" + +#: src/libslic3r/PrintConfig.cpp:1404 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1417 +msgid "" +"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1427 +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." +msgstr "" +"该选项设置每一层生成的轮廓个数。注意,如果”额外轮廓“选项被启动,Slic3r在侦测" +"到斜坡表面时可能会自动增加该数值,因为较多的轮廓有利于斜坡表面的打印。" + +#: src/libslic3r/PrintConfig.cpp:1431 +msgid "(minimum)" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1439 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1452 +msgid "Printer type" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1453 +msgid "Type of the printer." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1457 +msgid "Printer notes" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "You can put your notes regarding the printer here." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1467 +msgid "Printer vendor" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1468 +msgid "Name of the printer vendor." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1472 +msgid "Printer variant" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1473 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1483 +msgid "Raft layers" +msgstr "筏板层" + +#: src/libslic3r/PrintConfig.cpp:1485 +msgid "" +"The object will be raised by this number of layers, and support material " +"will be generated under it." +msgstr "物体将被该数目的层数抬起,而支撑材料将在其下方生成。" + +#: src/libslic3r/PrintConfig.cpp:1494 +msgid "Resolution" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1495 +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." +msgstr "" +"最小细节分辨率,用来简化输入文件,加速切片,减少内存占用。打印机通常很难渲染" +"出高精度模型的细节。设为0则禁用任何简化,完全依照输入文件的精度。" + +#: src/libslic3r/PrintConfig.cpp:1506 +msgid "Minimum travel after retraction" +msgstr "回缩后最小空程" + +#: src/libslic3r/PrintConfig.cpp:1507 +msgid "" +"Retraction is not triggered when travel moves are shorter than this length." +msgstr "当空程短于此长度时不会触发回缩。" + +#: src/libslic3r/PrintConfig.cpp:1514 +msgid "Retract amount before wipe" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1515 +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:1523 +msgid "Retract on layer change" +msgstr "层变化时回缩" + +#: src/libslic3r/PrintConfig.cpp:1524 +msgid "This flag enforces a retraction whenever a Z move is done." +msgstr "该项强制在Z轴移动完成时回缩。" + +#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:1539 +msgid "Length" +msgstr "长度" + +#: src/libslic3r/PrintConfig.cpp:1531 +msgid "Retraction Length" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1532 +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:1534 src/libslic3r/PrintConfig.cpp:1544 +msgid "mm (zero to disable)" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1540 +msgid "Retraction Length (Toolchange)" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1541 +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:1550 +msgid "Lift Z" +msgstr "抬高Z" + +#: src/libslic3r/PrintConfig.cpp:1551 +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 "" +"如果设为正值,每当回缩触发时Z轴会快速抬升。当使用多个挤出头时,仅会考虑第一个" +"挤出头的该参数。" + +#: src/libslic3r/PrintConfig.cpp:1559 +msgid "Above Z" +msgstr "在Z上方" + +#: src/libslic3r/PrintConfig.cpp:1560 +msgid "Only lift Z above" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1561 +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 "" +"如果设为正值,仅在指定的绝对Z值上方才会抬高Z。可以调整该参数,用于跳过在前几" +"层时跳过Z抬高的步骤。" + +#: src/libslic3r/PrintConfig.cpp:1569 +msgid "Below Z" +msgstr "Z下方" + +#: src/libslic3r/PrintConfig.cpp:1570 +msgid "Only lift Z below" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1571 +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 "" +"如果设为正值,仅在指定的绝对Z值选房可以调整该参数,用于将抬高Z的动作限制在前" +"几层时。" + +#: src/libslic3r/PrintConfig.cpp:1580 src/libslic3r/PrintConfig.cpp:1589 +msgid "Extra length on restart" +msgstr "重启时额外长度" + +#: src/libslic3r/PrintConfig.cpp:1581 +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:1590 +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "当在切换工具后回缩被补偿时,挤出头会基础额外的指定量丝料。" + +#: src/libslic3r/PrintConfig.cpp:1598 src/libslic3r/PrintConfig.cpp:1599 +msgid "Retraction Speed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1600 +msgid "The speed for retractions (it only applies to the extruder motor)." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1607 src/libslic3r/PrintConfig.cpp:1608 +msgid "Deretraction Speed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1609 +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:1617 +msgid "Seam position" +msgstr "接合位置" + +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "Position of perimeters starting points." +msgstr "轮廓开始点的位置。" + +#: src/libslic3r/PrintConfig.cpp:1626 +msgid "Random" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1627 +msgid "Nearest" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1628 +msgid "Aligned" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1629 +msgid "Rear" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1636 +msgid "Direction" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1638 +msgid "Preferred direction of the seam" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1639 +msgid "Seam preferred direction" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1647 +msgid "Jitter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1649 +msgid "Seam preferred direction jitter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1650 +msgid "Preferred direction of the seam - jitter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1661 +msgid "USB/serial port for printer connection." +msgstr "用于打印机连接的USB/串口。" + +#: src/libslic3r/PrintConfig.cpp:1669 +msgid "Serial port speed" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1670 +msgid "Speed (baud) of USB/serial port for printer connection." +msgstr "用于打印机连接的USB/串口速度(波特率)。" + +#: src/libslic3r/PrintConfig.cpp:1679 +msgid "Distance from object" +msgstr "离物体的距离" + +#: src/libslic3r/PrintConfig.cpp:1680 +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 "环边与物体间的距离。设为0,则使环边紧贴物体,可获得裙边利于粘附。" + +#: src/libslic3r/PrintConfig.cpp:1688 +msgid "Skirt height" +msgstr "环边高度" + +#: src/libslic3r/PrintConfig.cpp:1689 +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:1697 +msgid "Loops (minimum)" +msgstr "圈数(最小)" + +#: src/libslic3r/PrintConfig.cpp:1698 +msgid "Skirt Loops" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1699 +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:1708 +msgid "Slow down if layer print time is below" +msgstr "如果图层打印时间低于该值则减速" + +#: src/libslic3r/PrintConfig.cpp:1709 +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:1720 +msgid "Small perimeters" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1722 +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:1732 +msgid "Solid infill threshold area" +msgstr "可靠填充阈值区域" + +#: src/libslic3r/PrintConfig.cpp:1734 +msgid "" +"Force solid infill for regions having a smaller area than the specified " +"threshold." +msgstr "对于比指定阈值小的区域强制进行可靠填充。" + +#: src/libslic3r/PrintConfig.cpp:1735 +msgid "mm²" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1742 +msgid "Solid infill extruder" +msgstr "可靠填充挤出头" + +#: src/libslic3r/PrintConfig.cpp:1744 +msgid "The extruder to use when printing solid infill." +msgstr "当打印可靠填充时使用的挤出头。" + +#: src/libslic3r/PrintConfig.cpp:1751 +msgid "Solid infill every" +msgstr "每几层可靠填充" + +#: src/libslic3r/PrintConfig.cpp:1753 +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." +msgstr "" +"该功能使得每指定数目层强制进行一次可靠填充。设为0禁用该功能。可以设为任意值" +"(如9999);Slic3r会根据喷嘴直径和层高来自动选择图层的最大可能个数。" + +#: src/libslic3r/PrintConfig.cpp:1766 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1777 +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:1789 +msgid "Number of solid layers to generate on top and bottom surfaces." +msgstr "在顶部和底部表面生成的可靠层数。" + +#: src/libslic3r/PrintConfig.cpp:1796 +msgid "Spiral vase" +msgstr "螺旋式容器" + +#: src/libslic3r/PrintConfig.cpp:1797 +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,以便移除可见的缝合点。该选项要求单轮" +"廓,无填充,无顶部可靠层,无支撑。仍可以设置环边、裙边圈数,和底部可靠层。但" +"在打印多个物体时不适用。" + +#: src/libslic3r/PrintConfig.cpp:1806 +msgid "Temperature variation" +msgstr "温度变化" + +#: src/libslic3r/PrintConfig.cpp:1807 +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:1818 +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 "" + +#: src/libslic3r/PrintConfig.cpp:1834 +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代码开头,在所有打印机起始G代码后插入。用于覆盖指定材料的参数。" +"该段代码放在G代码开头,在热床达到目标温度、挤出头开始加热后,挤出头完成加热前" +"插入。如果其中不包含有M104, M109, M140 或 M190,这段指令就会在Slic3r自动放置" +"的M指令之后;否则Slic3r将不会自动生成M指令,这样你可以自由定义加热命令和其他" +"自定义动作的顺序。注意可以使用占位符变量替代所有Slic3r参数,所以你可以把一" +"个“M109 S[ first_layer_temperature ]”命令放在任意处。如果你有多个挤出头,G代" +"码将按挤出头顺序处理。" + +#: src/libslic3r/PrintConfig.cpp:1850 +msgid "Single Extruder Multi Material" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1851 +msgid "The printer multiplexes filaments into a single hot end." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1857 +msgid "Prime all printing extruders" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1858 +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:1864 +msgid "Generate support material" +msgstr "生成支撑材料" + +#: src/libslic3r/PrintConfig.cpp:1866 +msgid "Enable support material generation." +msgstr "启用支撑材料生成功能。" + +#: src/libslic3r/PrintConfig.cpp:1871 +msgid "Auto generated supports" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1873 +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:1880 +msgid "XY separation between an object and its support" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1882 +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:1893 +msgid "Pattern angle" +msgstr "样式角度" + +#: src/libslic3r/PrintConfig.cpp:1895 +msgid "" +"Use this setting to rotate the support material pattern on the horizontal " +"plane." +msgstr "使用该参数对支撑材料的样子在水平面上进行旋转。" + +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"Only create support if it lies on a build plate. Don't create support on a " +"print." +msgstr "仅在热床上生成支撑,不在打印出来的物体上生成。" + +#: src/libslic3r/PrintConfig.cpp:1913 +msgid "Contact Z distance" +msgstr "接触Z值" + +#: src/libslic3r/PrintConfig.cpp:1915 +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 "" +"物体和支撑材料平面之间的垂直距离。设为0,则表面上第一层不会被当做桥来处理。" + +#: src/libslic3r/PrintConfig.cpp:1923 +msgid "soluble" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1924 +msgid "detachable" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "Enforce support for the first" +msgstr "前几层增强支撑" + +#: src/libslic3r/PrintConfig.cpp:1931 +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." +msgstr "" +"从底部开始,对指定数目的图层生成支撑材料,无论正常的支撑材料是否启用,也不管" +"任何角度阈值。适用于在热床上脚太细、站不住的物件,便于更好的粘附。" + +#: src/libslic3r/PrintConfig.cpp:1937 +msgid "Enforce support for the first n layers" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1943 +msgid "Support material/raft/skirt extruder" +msgstr "支撑材料/筏/环边挤出头" + +#: src/libslic3r/PrintConfig.cpp:1945 +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:1955 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1964 +msgid "Interface loops" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1966 +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:1972 +msgid "Support material/raft interface extruder" +msgstr "支撑材料/筏表面挤出头" + +#: src/libslic3r/PrintConfig.cpp:1974 +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:1982 +msgid "Interface layers" +msgstr "表面层数" + +#: src/libslic3r/PrintConfig.cpp:1984 +msgid "" +"Number of interface layers to insert between the object(s) and support " +"material." +msgstr "在物体和支撑材料中间插入的表面层数。" + +#: src/libslic3r/PrintConfig.cpp:1992 +msgid "Interface pattern spacing" +msgstr "表面样式间隔" + +#: src/libslic3r/PrintConfig.cpp:1994 +msgid "Spacing between interface lines. Set zero to get a solid interface." +msgstr "表面直线间的间隔。设为0获得可靠表面。" + +#: src/libslic3r/PrintConfig.cpp:2004 +msgid "" +"Speed for printing support material interface layers. If expressed as " +"percentage (for example 50%) it will be calculated over support material " +"speed." +msgstr "" +"打印支撑材料表面层的速度。若表示为百分数(如50%),则以支撑材料速度为基准计" +"算。" + +#: src/libslic3r/PrintConfig.cpp:2013 +msgid "Pattern" +msgstr "样式" + +#: src/libslic3r/PrintConfig.cpp:2015 +msgid "Pattern used to generate support material." +msgstr "生成支撑材料的样式。" + +#: src/libslic3r/PrintConfig.cpp:2022 +msgid "Rectilinear grid" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2028 +msgid "Pattern spacing" +msgstr "样式间隔" + +#: src/libslic3r/PrintConfig.cpp:2030 +msgid "Spacing between support material lines." +msgstr "支撑材料直线间的间隙。" + +#: src/libslic3r/PrintConfig.cpp:2040 +msgid "Speed for printing support material." +msgstr "打印支撑材料的速度。" + +#: src/libslic3r/PrintConfig.cpp:2047 +msgid "Synchronize with object layers" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2049 +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:2056 +msgid "Overhang threshold" +msgstr "悬空阈值" + +#: src/libslic3r/PrintConfig.cpp:2058 +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)." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2071 +msgid "With sheath around the support" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2073 +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:2081 +msgid "" +"Extruder temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output." +msgstr "第一层之后的挤出头温度。设为0以在输出文件中禁用温度控制指令。" + +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "Temperature" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2090 +msgid "Detect thin walls" +msgstr "检测薄壁" + +#: src/libslic3r/PrintConfig.cpp:2092 +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:2099 +msgid "Threads" +msgstr "线程" + +#: src/libslic3r/PrintConfig.cpp:2100 +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:2112 +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]。" + +#: src/libslic3r/PrintConfig.cpp:2125 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2137 +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." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2149 +msgctxt "Layers" +msgid "Top" +msgstr "顶部" + +#: src/libslic3r/PrintConfig.cpp:2151 +msgid "Number of solid layers to generate on top surfaces." +msgstr "在顶部表面上生成的可靠层数。" + +#: src/libslic3r/PrintConfig.cpp:2153 +msgid "Top solid layers" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2159 +msgid "Speed for travel moves (jumps between distant extrusion points)." +msgstr "空程移动的速度(从一个挤出点结束调到另一个挤出点开始)。" + +#: src/libslic3r/PrintConfig.cpp:2168 +msgid "Use firmware retraction" +msgstr "使用固件回缩" + +#: src/libslic3r/PrintConfig.cpp:2169 +msgid "" +"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中支持该功能。" + +#: src/libslic3r/PrintConfig.cpp:2176 +msgid "Use relative E distances" +msgstr "使用相对E距离" + +#: src/libslic3r/PrintConfig.cpp:2177 +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:2184 +msgid "Use volumetric E" +msgstr "使用体积E" + +#: src/libslic3r/PrintConfig.cpp:2185 +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 "" +"该试验参数在E值中使用立方米为单位,而非毫米。如果固件不知道丝料直径,你可以在" +"起始G代码中输入如'M200 D[filament_diameter_0] T0' 以开启体积模式,并使用在" +"Slic3r中已选的丝料直径。仅在最新Marlin中支持该功能。" + +#: src/libslic3r/PrintConfig.cpp:2196 +msgid "Enable variable layer height feature" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2197 +msgid "" +"Some printers or printer setups may have difficulties printing with a " +"variable layer height. Enabled by default." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2204 +msgid "Wipe while retracting" +msgstr "回缩时擦拭" + +#: src/libslic3r/PrintConfig.cpp:2205 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible " +"blob on leaky extruders." +msgstr "在回缩时移动喷嘴以避免挤出头滴漏。" + +#: src/libslic3r/PrintConfig.cpp:2213 +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:2220 +msgid "Purging volumes - load/unload volumes" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2221 +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:2228 +msgid "Purging volumes - matrix" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2229 +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:2239 +msgid "Position X" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2240 +msgid "X coordinate of the left front corner of a wipe tower" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2247 +msgid "Position Y" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2248 +msgid "Y coordinate of the left front corner of a wipe tower" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2256 +msgid "Width of a wipe tower" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2263 +msgid "Wipe tower rotation angle" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2264 +msgid "Wipe tower rotation angle with respect to x-axis " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2265 +msgid "degrees" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2272 +msgid "Wipe into this object's infill" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2273 +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:2281 +msgid "Wipe into this object" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2282 +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:2289 +msgid "Maximal bridging distance" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2290 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2297 +msgid "XY Size Compensation" +msgstr "XY尺寸补偿" + +#: src/libslic3r/PrintConfig.cpp:2299 +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:2308 +msgid "Z offset" +msgstr "Z补偿" + +#: src/libslic3r/PrintConfig.cpp:2309 +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 "" +"在输出G代码中,所有Z坐标将在原基础上增大(或减少)该数值。用来对糟糕的Z终点挡" +"板位置进行补偿,如果你的终点挡板为零时,喷嘴离打印热床还有0.3毫米,将该值设" +"为-0.3(或者调整你的终点挡板)。" + +#: src/libslic3r/PrintConfig.cpp:2319 +msgid "Bed size X" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2334 src/libslic3r/PrintConfig.cpp:2343 +#: src/libslic3r/PrintConfig.cpp:2351 src/libslic3r/PrintConfig.cpp:2359 +msgid "Dwarf" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2326 +msgid "Bed size Y" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2333 +msgid "Picture resolution X" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2335 src/libslic3r/PrintConfig.cpp:2344 +msgid "px" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2342 +msgid "Picture resolution Y" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2350 src/libslic3r/PrintConfig.cpp:2430 +#: src/libslic3r/PrintConfig.cpp:2431 +msgid "Exposure time" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2358 +msgid "Exposure time first layers" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2373 +msgid "Display width" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Width of the display" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Display height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2381 +msgid "Height of the display" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2387 +msgid "Number of pixels in" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2389 +msgid "Number of pixels in X" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2396 +msgid "Number of pixels in Y" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2402 +msgid "Display orientation" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2403 +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:2410 +msgid "Landscape" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2411 +msgid "Portrait" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2416 +msgid "Printer scaling correction" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2422 src/libslic3r/PrintConfig.cpp:2423 +msgid "Initial layer height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2438 src/libslic3r/PrintConfig.cpp:2439 +msgid "Initial exposure time" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2446 src/libslic3r/PrintConfig.cpp:2447 +msgid "Correction for expansion when printing" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2452 src/libslic3r/PrintConfig.cpp:2453 +msgid "Correction for expansion after curing" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2458 +msgid "SLA print material notes" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2459 +msgid "You can put your notes regarding the SLA print material here." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2478 +msgid "Default SLA material profile" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2487 +msgid "Generate supports" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Generate supports for the models" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2494 +msgid "Support head front diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Diameter of the pointing side of the head" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "Support head penetration" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "How much the pinhead has to penetrate the model surface" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2512 +msgid "Support head width" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "Width from the back sphere center to the front sphere center" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2521 +msgid "Support pillar diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2523 +msgid "Diameter in mm of the support pillars" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2530 +msgid "Support pillar connection mode" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2531 +msgid "" +"Controls the bridge type between two neigboring 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:2540 +msgid "Zig-Zag" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2541 +msgid "Cross" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2542 +msgid "Dynamic" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2546 +msgid "Pillar widening factor" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2548 +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:2557 +msgid "Support base diameter" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2559 +msgid "Diameter in mm of the pillar base" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2566 +msgid "Support base height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2568 +msgid "The height of the pillar base cone" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2575 +msgid "Critical angle" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2577 +msgid "The default angle for connecting support sticks and junctions." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2584 +msgid "Max bridge length" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2586 +msgid "The max length of a bridge" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Object elevation" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2595 +msgid "How much the supports should lift up the supported object." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2602 +msgid "Density on horizontal surfaces" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2604 +msgid "" +"How many support points (approximately) should be placed on horizontal " +"surface." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2614 +msgid "points per square dm" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2611 +msgid "Density on surfaces at 45 degrees" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "" +"How many support points (approximately) should be placed on surface sloping " +"at 45 degrees." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2620 +msgid "Minimal support point height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2622 +msgid "No support points will be placed lower than this value from the bottom." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2629 +msgid "Use pad" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2631 +msgid "Add a pad underneath the supported model" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2636 +msgid "Pad wall thickness" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2645 +msgid "Pad wall height" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2654 +msgid "Max merge distance" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:2663 +msgid "Pad edge radius" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3017 +msgid "Cut model at the given Z." +msgstr "在给定Z处切割模型。" + +#: src/libslic3r/PrintConfig.cpp:3022 +msgid "Dont arrange" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "" +"Don't arrange the objects on the build plate. The model coordinates define " +"the absolute positions on the build plate. The option --center will be " +"ignored." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3030 +msgid "User data directory" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3031 +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:3038 +msgid "Export 3MF" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3039 +msgid "Slice the model and export slices as 3MF." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3044 +msgid "Slice" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3045 +msgid "Slice the model and export gcode." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3050 +msgid "Help" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3051 +msgid "Show this help." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3056 +msgid "Use GUI" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3057 +msgid "" +"Forces the GUI launch instead of command line slicing (if you supply a model " +"file, it will be loaded into the plater)" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3063 +msgid "Output Model Info" +msgstr "输出模型信息" + +#: src/libslic3r/PrintConfig.cpp:3064 +msgid "Write information about the model to the console." +msgstr "给控制台写入模型的信息。" + +#: src/libslic3r/PrintConfig.cpp:3069 +msgid "Load config file" +msgstr "加载配置文件" + +#: src/libslic3r/PrintConfig.cpp:3070 +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:3075 +msgid "Do not use GUI" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3076 +msgid "" +"Forces the command line slicing instead of gui. This takes precedence over --" +"gui if both are present." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3081 +msgid "Output File" +msgstr "输出文件" + +#: src/libslic3r/PrintConfig.cpp:3082 +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:3088 +msgid "Rotation angle around the Z axis in degrees (0-360, default: 0)." +msgstr "绕Z轴旋转角度(0-360,默认:0)。" + +#: src/libslic3r/PrintConfig.cpp:3093 +msgid "Rotate around X" +msgstr "绕X轴旋转" + +#: src/libslic3r/PrintConfig.cpp:3094 +msgid "Rotation angle around the X axis in degrees (0-360, default: 0)." +msgstr "绕X轴旋转角度(0-360,默认:0)。" + +#: src/libslic3r/PrintConfig.cpp:3099 +msgid "Rotate around Y" +msgstr "绕Y轴旋转" + +#: src/libslic3r/PrintConfig.cpp:3100 +msgid "Rotation angle around the Y axis in degrees (0-360, default: 0)." +msgstr "绕Y轴旋转角度(0-360,默认:0)。" + +#: src/libslic3r/PrintConfig.cpp:3105 +msgid "Save config file" +msgstr "保存配置文件" + +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Save configuration to the specified file." +msgstr "将配置参数保存到指定文件。" + +#: src/libslic3r/PrintConfig.cpp:3112 +msgid "Scaling factor (default: 1)." +msgstr "缩放比例(默认:1)。" + +#: src/libslic3r/PrintConfig.cpp:3125 +msgid "Print center" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3126 +msgid "Center the print around the given center (default: 100, 100)." +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:176 +msgid "Mixed" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:396 +msgid "Height (mm)" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:398 +msgid "Width (mm)" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:400 +msgid "Speed (mm/s)" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:402 +msgid "Volumetric flow rate (mm3/s)" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:491 +msgid "Default print color" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:495 +#, c-format +msgid "up to %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:499 +#, c-format +msgid "above %.2f mm" +msgstr "" + +#: src/libslic3r/GCode/PreviewData.cpp:504 +#, c-format +msgid "%.2f - %.2f mm" +msgstr "" + +#~ msgid "Minimum extrusion length" +#~ msgstr "最大挤出长度" + +#~ msgid "API Key" +#~ msgstr "API密钥" + +#~ msgid "" +#~ "Slic3r can upload G-code files to OctoPrint. This field should contain " +#~ "the API Key required for authentication." +#~ msgstr "" +#~ "Slic3r可以把G代码文件上传至Octoprint。此字段应包含API密钥,用于身份验证。" + +#~ msgid "Host or IP" +#~ msgstr "主机名或IP" + +#~ msgid "" +#~ "Slic3r can upload G-code files to OctoPrint. This field should contain " +#~ "the hostname or IP address of the OctoPrint instance." +#~ msgstr "" +#~ "Slic3r可以把G代码文件上传至Octoprint。此字段应包含OctoPrint实例的主机名称" +#~ "或IP地址。" + +#~ msgid "Has heated bed" +#~ msgstr "有热床" + +#~ msgid "" +#~ "Unselecting this will suppress automatic generation of bed heating gcode." +#~ msgstr "不勾选此项将不自动生成机床加热的G代码。" + +#~ msgid "Bed temperature for layers after the first one." +#~ msgstr "第一层之后的机床温度。" + +#~ msgid "Bottom infill pattern" +#~ msgstr "底部填充样式" + +#~ msgid "" +#~ "Infill pattern for bottom layers. This only affects the external visible " +#~ "layer, and not its adjacent solid shells." +#~ msgstr "底层的填充样式。此项仅影响外部可见层,不影响其相邻的可靠层。" + +#~ msgid "Speed > Acceleration" +#~ msgstr "速度 > 加速度" + +#~ msgid "Brim connections width" +#~ msgstr "裙边连接宽度" + +#~ msgid "" +#~ "If set to a positive value, straight connections will be built on the " +#~ "first layer between adjacent objects." +#~ msgstr "如果设为正值,第一层相邻的物体间将建立直接连接。" + +#~ msgid "Exterior brim width" +#~ msgstr "外围裙边宽度" + +#~ msgid "" +#~ "This disables the fan completely for the first N layers to aid in the " +#~ "adhesion of media to the bed. (default 3)" +#~ msgstr "此项在打印前N层时完全禁用风扇,以帮助材料更好地黏合热床。(默认3)" + +#~ msgid "↳ external" +#~ msgstr "↳外部的" + +#~ msgid "External perimeters extrusion width" +#~ msgstr "外围轮廓挤出宽度" + +#~ msgid "" +#~ "Set this to a non-zero value to set a manual extrusion width for external " +#~ "perimeters. If auto is chosen, a value will be used that maximizes " +#~ "accuracy of the external visible surfaces. If expressed as percentage " +#~ "(for example 200%) it will be computed over layer height." +#~ msgstr "" +#~ "该值若非0,意为外围轮廓的手动挤出宽度。如果选择自动,将使用一个使得外围可" +#~ "见层精度最高的值。如果表示为百分数(如200%),则该值以层高为基准。" + +#~ msgid "External perimeters speed" +#~ msgstr "外围轮廓速度" + +#~ 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." +#~ msgstr "" +#~ "该参数将影响外围可见层的打印速度。如果表示为百分数(如80%),数值将以上面" +#~ "设置的外围速度参数为基准。" + +#~ msgid "Add more perimeters when needed for avoiding gaps in sloping walls." +#~ msgstr "为避免在打印倾斜的外墙中产生间隙,有必要时增加更多的轮廓。" + +#~ msgid "" +#~ "The extruder to use (unless more specific extruder settings are " +#~ "specified)." +#~ msgstr "使用的挤出头(除非指明了更多详细的挤出头参数)。" + +#~ msgid "" +#~ "Set this to a non-zero value to set a manual extrusion width. If " +#~ "expressed as percentage (for example: 230%) it will be computed over " +#~ "layer height." +#~ msgstr "" +#~ "该值若为非0,则代表手动挤出宽度。如果设为百分数(如230%),则值是以层高为" +#~ "基准。" + +#~ msgid "Fill gaps" +#~ msgstr "填充间隙" + +#~ msgid "" +#~ "If this is enabled, gaps will be filled with single passes. Enable this " +#~ "for better quality, disable it for shorter printing times." +#~ msgstr "" +#~ "如果勾选该项,间隙将被单通道填充。启用该项可优化打印质量,禁用则可以节省时" +#~ "间。" + +#~ 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." +#~ msgstr "" +#~ "若为非0,则表示首层手动挤出宽度。可用于强制更宽的挤出量便于黏着。如果表示" +#~ "为百分数(如120%),则该值是相对于首层高度。" + +#~ msgid "↳ gaps" +#~ msgstr "↳ 间隙" + +#~ msgid "" +#~ "Speed for filling gaps. Since these are usually single lines you might " +#~ "want to use a low speed for better sticking. If expressed as percentage " +#~ "(for example: 80%) it will be calculated on the infill speed setting " +#~ "above." +#~ msgstr "" +#~ "填充间隙的速度。由于这些通常是独立的直线,所以尽量使用低速来保证黏着。如果" +#~ "表示为百分数(如80%),则以上面设置的填充速度为基准。" + +#~ msgid "Use native G-code arcs" +#~ msgstr "使用本地的G代码弧线" + +#~ msgid "" +#~ "This experimental feature tries to detect arcs from segments and " +#~ "generates G2/G3 arc commands instead of multiple straight G1 commands." +#~ msgstr "" +#~ "这个试验性能尝试从段中侦测出弧线,生成 G2/G3 弧线指令,而不是生成多个G1直" +#~ "线指令。" + +#~ msgid "" +#~ "Set this to a non-zero value to set a manual extrusion width for infill. " +#~ "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,则表示填充的手动挤出宽度。可使用较宽的挤出来加速填充并使部件" +#~ "牢固。如果表示为百分数(如90%),则该值以层高为基准。" + +#~ msgid "Speed for printing the internal fill." +#~ msgstr "打印内部填充的速度。" + +#~ msgid "Interior brim width" +#~ msgstr "内部裙边宽度" + +#~ msgid "" +#~ "Horizontal width of the brim that will be printed inside object holes on " +#~ "the first layer." +#~ msgstr "第一层打印于物件孔洞内部的裙边宽度。" + +#~ msgid "" +#~ "During multi-extruder prints, 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 "" +#~ "在多挤出头的打印过程中,该选项将降低非活跃挤出头的温度以避免滴垂现象。启动" +#~ "它将自动使能一个高环边,并在改变温度时将挤出头移除该环边。" + +#~ msgid "Overridable options" +#~ msgstr "可覆盖的选项" + +#~ 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 expressed as percentage (for example 200%) it will be " +#~ "computed over layer height." +#~ msgstr "" +#~ "该值若非0,则表示轮廓的手动基础宽度。可以使用更细的挤出宽度来获得更精确的" +#~ "表面。如果表示为百分数(如200%),则该值以层高为基准。" + +#~ msgid "Speed for perimeters (contours, aka vertical shells)." +#~ msgstr "轮廓的打印速度(轮廓,又名垂直外壳)。" + +#~ msgid "" +#~ "If you want to process the output G-code through custom scripts, just " +#~ "list their absolute paths here. Separate multiple scripts on individual " +#~ "lines. 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的配置参数。" + +#~ msgid "Pressure advance" +#~ msgstr "压力高级设置" + +#~ msgid "" +#~ "When set to a non-zero value, this experimental option enables pressure " +#~ "regulation. It's the K constant for the advance algorithm that pushes " +#~ "more or less filament upon speed changes. It's useful for Bowden-tube " +#~ "extruders. Reasonable values are in range 0-10." +#~ msgstr "" +#~ "若为非0,该试验选项启用压力调节。该值为一个高级算法的K常数。这个算法根据速" +#~ "度变化来改变推动丝料多少。适用于鲍登管挤出头。合理的值范围是0-10." + +#~ msgid "Raft offset" +#~ msgstr "筏偏置" + +#~ msgid "Horizontal margin between object base layer and raft contour." +#~ msgstr "物体基层和筏轮廓之间的水平距离。" + +#~ msgid "Resolution (deprecated)" +#~ msgstr "精度(不赞成)" + +#~ msgid "" +#~ "The speed for retractions (it only applies to the extruder motor). If you " +#~ "use the Firmware Retraction option, please note this value still affects " +#~ "the auto-speed pressure regulator." +#~ msgstr "" +#~ "回缩速度(仅适用于挤出头电机)。如果试用了固件回缩选项,请注意该值仍影响自" +#~ "动速度电压调节器。" + +#~ msgid "↳ small" +#~ msgstr "↳ 小" + +#~ 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." +#~ msgstr "" +#~ "该参数影响半径 <= 6.5mm(通常是孔洞)的轮廓打印速度。如果表示为百分比(如" +#~ "80%),则以上面设置的轮廓速度为基准计算。" + +#~ msgid "↳ solid" +#~ msgstr "↳ 可靠的" + +#~ msgid "" +#~ "Set this to a non-zero value to set a manual extrusion width for infill " +#~ "for solid surfaces. If expressed as percentage (for example 90%) it will " +#~ "be computed over layer height." +#~ msgstr "" +#~ "设为非0值,则表示可靠表面填充的手动挤出宽度。若表示为百分数(如90%),将以" +#~ "层高为基准计算。" + +#~ 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." +#~ msgstr "" +#~ "打印可靠区域的速度(顶部的/底部的/内部水平外壳)。以百分数(如80%)表示," +#~ "则以上述的默认填充速度为基准计算。" + +#~ 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 "" +#~ "当挤出头处于非活跃状态时用到的温度差。启用一个全高度的环边,纯用于定期给喷" +#~ "嘴擦拭。" + +#~ 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, 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." +#~ msgstr "" +#~ "该段代码放在G代码开头,在热床达到目标温度、挤出头开始加热后,挤出头完成加" +#~ "热前插入。如果其中不包含有M104, M109, M140 或 M190,这段指令就会在Slic3r自" +#~ "动放置的M指令之后;否则Slic3r将不会自动生成M指令,这样你可以自由定义加热命" +#~ "令和其他自定义动作的顺序。注意可以使用占位符变量替代所有Slic3r参数,所以你" +#~ "可以把一个“M109 S[ first_layer_temperature ]”命令放在任意处。" + +#~ msgid "The extruder to use when printing support material, raft and skirt." +#~ msgstr "打印支撑材料、筏和环边时使用的挤出头。" + +#~ msgid "" +#~ "Set this to a non-zero value to set a manual extrusion width for support " +#~ "material. If expressed as percentage (for example 90%) it will be " +#~ "computed over layer height." +#~ msgstr "" +#~ "设为非0值,表示对支撑材料的手动挤出宽度。如果表示为百分数(如90%),则以层" +#~ "高为基准计算。" + +#~ msgid "" +#~ "The extruder to use when printing support material interface. This " +#~ "affects raft too." +#~ msgstr "打印支撑材料表面时使用的挤出头。也影响筏。" + +#~ msgid "↳ interface" +#~ msgstr "↳ 表面" + +#~ msgid "Interface Speed" +#~ msgstr "表面速度" + +#~ msgid "Support material interface speed" +#~ msgstr "支撑材料表面速度" + +# "% o“ format mistake? +#~ 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 a percentage to " +#~ "automatically detect based on some % of overhanging perimeter width " +#~ "instead (recommended)." +#~ msgstr "" +#~ "对于倾斜度(90° = 垂直)高于指定阈值的悬空部位,不生成相应的支撑材料。换句" +#~ "话说,该值表示不用支撑材料所能打印的最水平的角度。设为百分数,则以悬空轮廓" +#~ "宽度的 % o自动计算(推荐)。" + +#~ msgid "↳ top solid" +#~ msgstr "↳ 顶部可靠层" + +#~ 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 expressed as percentage (for " +#~ "example 90%) it will be computed over layer height." +#~ msgstr "" +#~ "设为非0值,表示顶层表面填充的手动挤出宽度。可以使用较细的挤出宽度来对所有" +#~ "的狭长区域进行填充并获得较光滑的尾部。如果表示为百分数(如90%),则以层高" +#~ "为基准计算。" + +#~ msgid "" +#~ "Infill pattern for top layers. This only affects the external visible " +#~ "layer, and not its adjacent solid shells." +#~ msgstr "顶层填充样式。仅影响外部可见层,不影响其相邻可靠层。" + +#~ 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." +#~ msgstr "" +#~ "打印顶部可靠层的速度(仅适用于最外部的顶层,而非它们的内部可靠填充层)。可" +#~ "降低该速度值以获得较好的表面尾处理。若表示为百分数(如80%),则以可靠填充" +#~ "速度为基准计算。" + +#~ msgid "Vibration limit (deprecated)" +#~ msgstr "振动限制(赞成)" + +#~ msgid "" +#~ "This experimental option will slow down those moves hitting the " +#~ "configured frequency limit. The purpose of limiting vibrations is to " +#~ "avoid mechanical resonance. Set zero to disable." +#~ msgstr "" +#~ "该试验选项将减缓达到指定频率值的打印动作。目的为避免机械共振。设为0以禁" +#~ "用。" + +#~ msgid "Z full steps/mm" +#~ msgstr "Z全部步数/毫米" + +#~ msgid "" +#~ "Set this to the number of *full* steps (not microsteps) needed for moving " +#~ "the Z axis by 1mm; you can calculate this by dividing the number of " +#~ "microsteps configured in your firmware by the microstepping amount (8, " +#~ "16, 32). Slic3r will round your configured layer height to the nearest " +#~ "multiple of that value in order to ensure the best accuracy. This is most " +#~ "useful for machines with imperial leadscrews or belt-driven Z or for " +#~ "unusual layer heights with metric leadscrews. Set to zero to disable this " +#~ "experimental feature." +#~ msgstr "" +#~ "将该值设为移动Z轴1毫米所需的*全部*步数(而不是细分);可以这样计算:把固件" +#~ "中已配置的细分数除以倍增系数(8,16,32)。Sli3r会把你设置的层高四舍五入到" +#~ "该值的最近倍数以确保精度。此项设置对于使用英制丝杠、皮带传动Z轴的机器,或" +#~ "者机器使用公制丝杠且层高值特别时比较适用。设为0以禁用该功能。" + +#~ msgid "Cut model in the XY plane into tiles of the specified max size." +#~ msgstr "将XY面的模型切割成指定最大尺寸的小块。" + +# POV-Ray? +#~ msgid "Export the model as POV-Ray definition." +#~ msgstr "" +#~ "将模型以POV-Ray定义导出。(参见开源射线描迹软件:http://www.povray." +#~ "org/)。" + +#~ msgid "Slice the model and export slices as SVG." +#~ msgstr "切割模型并以SVG格式导出切片结果。" + +#~ msgid "Scale to Fit" +#~ msgstr "缩放到合适大小" + +#~ msgid "Scale to fit the given volume." +#~ msgstr "缩放到适合于给定体积。" diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 1efbe2209a9..aa09ba9d3c5 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -2487,7 +2487,6 @@ void PrintConfigDef::init_sla_params() def->label = L("Generate supports"); def->category = L("Supports"); def->tooltip = L("Generate supports for the models"); - def->sidetext = L(""); def->cli = ""; def->default_value = new ConfigOptionBool(true); @@ -2549,7 +2548,6 @@ void PrintConfigDef::init_sla_params() def->tooltip = L("Merging bridges or pillars into another pillars can " "increase the radius. Zero means no increase, one means " "full increase."); - def->sidetext = L(""); def->cli = ""; def->min = 0; def->max = 1; @@ -2631,14 +2629,13 @@ void PrintConfigDef::init_sla_params() def->label = L("Use pad"); def->category = L("Pad"); def->tooltip = L("Add a pad underneath the supported model"); - def->sidetext = L(""); def->cli = ""; def->default_value = new ConfigOptionBool(true); def = this->add("pad_wall_thickness", coFloat); def->label = L("Pad wall thickness"); def->category = L("Pad"); - def->tooltip = L(""); +// def->tooltip = L(""); def->sidetext = L("mm"); def->cli = ""; def->min = 0; @@ -2647,7 +2644,7 @@ void PrintConfigDef::init_sla_params() def = this->add("pad_wall_height", coFloat); def->label = L("Pad wall height"); def->category = L("Pad"); - def->tooltip = L(""); +// def->tooltip = L(""); def->sidetext = L("mm"); def->cli = ""; def->min = 0; @@ -2656,7 +2653,7 @@ void PrintConfigDef::init_sla_params() def = this->add("pad_max_merge_distance", coFloat); def->label = L("Max merge distance"); def->category = L("Pad"); - def->tooltip = L(""); +// def->tooltip = L(""); def->sidetext = L("mm"); def->cli = ""; def->min = 0; @@ -2665,7 +2662,7 @@ void PrintConfigDef::init_sla_params() def = this->add("pad_edge_radius", coFloat); def->label = L("Pad edge radius"); def->category = L("Pad"); - def->tooltip = L(""); +// def->tooltip = L(""); def->sidetext = L("mm"); def->cli = ""; def->min = 0; diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index c0c582baf49..6cf45166dbe 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -89,8 +89,8 @@ PrinterPicker::PrinterPicker(wxWindow *parent, const VendorProfile &vendor, cons bool default_variant = true; // Mark the first variant as default in the GUI for (const auto &variant : model.variants) { - const auto label = wxString::Format("%s %s %s %s", variant.name, _(L("mm")), _(L("nozzle")), - (default_variant ? _(L("(default)")) : wxString())); + const auto label = wxString::Format("%s %s %s %s", variant.name, _(L("mm")), _(L("nozzle")), + (default_variant ? "(" + _(L("default")) + ")" : wxString())); default_variant = false; auto *cbox = new Checkbox(variants_panel, label, model_id, variant.name); const size_t idx = cboxes.size(); @@ -803,7 +803,7 @@ void ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *prese // Public ConfigWizard::ConfigWizard(wxWindow *parent, RunReason reason) : - wxDialog(parent, wxID_ANY, name(), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER), + wxDialog(parent, wxID_ANY, _(name().ToStdString()), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER), p(new priv(this)) { p->run_reason = reason; @@ -899,15 +899,17 @@ bool ConfigWizard::run(PresetBundle *preset_bundle, const PresetUpdater *updater } -const wxString& ConfigWizard::name() +const wxString& ConfigWizard::name(const bool from_menu/* = false*/) { // A different naming convention is used for the Wizard on Windows vs. OSX & GTK. #if WIN32 - static const wxString config_wizard_name = L("Configuration Wizard"); + static const wxString config_wizard_name = L("Configuration Wizard"); + static const wxString config_wizard_name_menu = L("Configuration &Wizard"); #else - static const wxString config_wizard_name = L("Configuration Assistant"); + static const wxString config_wizard_name = L("Configuration Assistant"); + static const wxString config_wizard_name_menu = L("Configuration &Assistant"); #endif - return config_wizard_name; + return from_menu ? config_wizard_name_menu : config_wizard_name; } } diff --git a/src/slic3r/GUI/ConfigWizard.hpp b/src/slic3r/GUI/ConfigWizard.hpp index 6ac1bcbd849..c7fba76eec0 100644 --- a/src/slic3r/GUI/ConfigWizard.hpp +++ b/src/slic3r/GUI/ConfigWizard.hpp @@ -34,7 +34,7 @@ class ConfigWizard: public wxDialog // Run the Wizard. Return whether it was completed. bool run(PresetBundle *preset_bundle, const PresetUpdater *updater); - static const wxString& name(); + static const wxString& name(const bool from_menu = false); private: struct priv; std::unique_ptr p; diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 54e3e47503e..9618aaf005a 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -602,15 +602,15 @@ void GUI_App::add_config_menu(wxMenuBar *menu) auto local_menu = new wxMenu(); wxWindowID config_id_base = wxWindow::NewControlId((int)ConfigMenuCnt); - const auto config_wizard_name = _(ConfigWizard::name().wx_str()); + const auto config_wizard_name = _(ConfigWizard::name(true).wx_str()); const auto config_wizard_tooltip = wxString::Format(_(L("Run %s")), config_wizard_name); // Cmd+, is standard on OS X - what about other operating systems? local_menu->Append(config_id_base + ConfigMenuWizard, config_wizard_name + dots, config_wizard_tooltip); - local_menu->Append(config_id_base + ConfigMenuSnapshots, _(L("Configuration Snapshots")) + dots, _(L("Inspect / activate configuration snapshots"))); - local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _(L("Take Configuration Snapshot")), _(L("Capture a configuration snapshot"))); + local_menu->Append(config_id_base + ConfigMenuSnapshots, _(L("&Configuration Snapshots")) + dots, _(L("Inspect / activate configuration snapshots"))); + local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _(L("Take Configuration &Snapshot")), _(L("Capture a configuration snapshot"))); // local_menu->Append(config_id_base + ConfigMenuUpdate, _(L("Check for updates")), _(L("Check for configuration updates"))); local_menu->AppendSeparator(); - local_menu->Append(config_id_base + ConfigMenuPreferences, _(L("Preferences")) + dots + "\tCtrl+P", _(L("Application preferences"))); + local_menu->Append(config_id_base + ConfigMenuPreferences, _(L("&Preferences")) + dots + "\tCtrl+P", _(L("Application preferences"))); local_menu->AppendSeparator(); auto mode_menu = new wxMenu(); mode_menu->AppendRadioItem(config_id_base + ConfigMenuModeSimple, _(L("Simple")), _(L("Simple View Mode"))); @@ -619,9 +619,9 @@ void GUI_App::add_config_menu(wxMenuBar *menu) mode_menu->Check(config_id_base + ConfigMenuModeSimple + get_mode(), true); local_menu->AppendSubMenu(mode_menu, _(L("Mode")), _(L("Slic3r View Mode"))); local_menu->AppendSeparator(); - local_menu->Append(config_id_base + ConfigMenuLanguage, _(L("Change Application Language"))); + local_menu->Append(config_id_base + ConfigMenuLanguage, _(L("Change Application &Language"))); local_menu->AppendSeparator(); - local_menu->Append(config_id_base + ConfigMenuFlashFirmware, _(L("Flash printer firmware")), _(L("Upload a firmware image into an Arduino based printer"))); + local_menu->Append(config_id_base + ConfigMenuFlashFirmware, _(L("Flash printer &firmware")), _(L("Upload a firmware image into an Arduino based printer"))); // TODO: for when we're able to flash dictionaries // local_menu->Append(config_id_base + FirmwareMenuDict, _(L("Flash language file")), _(L("Upload a language dictionary file into a Prusa printer"))); diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index 3e6fe228c9a..77bf29120ab 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -249,9 +249,9 @@ void ObjectManipulation::UpdateAndShow(const bool show) void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& selection) { - m_new_move_label_string = L("Position:"); - m_new_rotate_label_string = L("Rotation:"); - m_new_scale_label_string = L("Scale factors:"); + m_new_move_label_string = L("Position"); + m_new_rotate_label_string = L("Rotation"); + m_new_scale_label_string = L("Scale factors"); if (selection.is_single_full_instance()) { // all volumes in the selection belongs to the same instance, any of them contains the needed instance data, so we take the first one @@ -297,8 +297,8 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele m_new_rotation = Vec3d::Zero(); m_new_scale = Vec3d(1.0, 1.0, 1.0); m_new_size = box.size(); - m_new_rotate_label_string = L("Rotate:"); - m_new_scale_label_string = L("Scale:"); + m_new_rotate_label_string = L("Rotate"); + m_new_scale_label_string = L("Scale"); m_new_enabled = true; } else if (selection.is_single_modifier() || selection.is_single_volume()) @@ -318,9 +318,9 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele else if (wxGetApp().obj_list()->multiple_selection()) { reset_settings_value(); - m_new_move_label_string = L("Translate:"); - m_new_rotate_label_string = L("Rotate:"); - m_new_scale_label_string = L("Scale:"); + m_new_move_label_string = L("Translate"); + m_new_rotate_label_string = L("Rotate"); + m_new_scale_label_string = L("Scale"); m_new_size = selection.get_bounding_box().size(); m_new_enabled = true; } @@ -337,21 +337,21 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele void ObjectManipulation::update_if_dirty() { #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - if (m_cache.move_label_string != _(m_new_move_label_string)) + if (m_cache.move_label_string != _(m_new_move_label_string)+ ":") { - m_cache.move_label_string = _(m_new_move_label_string); + m_cache.move_label_string = _(m_new_move_label_string)+ ":"; m_move_Label->SetLabel(m_cache.move_label_string); } - if (m_cache.rotate_label_string != _(m_new_rotate_label_string)) + if (m_cache.rotate_label_string != _(m_new_rotate_label_string)+ ":") { - m_cache.rotate_label_string = _(m_new_rotate_label_string); + m_cache.rotate_label_string = _(m_new_rotate_label_string)+ ":"; m_rotate_Label->SetLabel(m_cache.rotate_label_string); } - if (m_cache.scale_label_string != _(m_new_scale_label_string)) + if (m_cache.scale_label_string != _(m_new_scale_label_string)+ ":") { - m_cache.scale_label_string = _(m_new_scale_label_string); + m_cache.scale_label_string = _(m_new_scale_label_string)+ ":"; m_scale_Label->SetLabel(m_cache.scale_label_string); } diff --git a/src/slic3r/GUI/KBShortcutsDialog.cpp b/src/slic3r/GUI/KBShortcutsDialog.cpp index 93930163511..855274c61b3 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.cpp +++ b/src/slic3r/GUI/KBShortcutsDialog.cpp @@ -101,7 +101,7 @@ void KBShortcutsDialog::fill_shortcuts() main_shortcuts.push_back(Shortcut(ctrl+"O" ,L("Open project STL/OBJ/AMF/3MF with config, delete bed"))); main_shortcuts.push_back(Shortcut(ctrl+"I" ,L("Import STL/OBJ/AMF/3MF without config, keep bed"))); main_shortcuts.push_back(Shortcut(ctrl+"L" ,L("Load Config from .ini/amf/3mf/gcode"))); - main_shortcuts.push_back(Shortcut(ctrl+"G" ,L("Export Gcode"))); + main_shortcuts.push_back(Shortcut(ctrl+"G" ,L("Export G-code"))); main_shortcuts.push_back(Shortcut(ctrl+"S" ,L("Save project (3MF)"))); main_shortcuts.push_back(Shortcut(ctrl+alt+"L" ,L("Load Config from .ini/amf/3mf/gcode and merge"))); main_shortcuts.push_back(Shortcut(ctrl+"R" ,L("(Re)slice"))); @@ -110,8 +110,8 @@ void KBShortcutsDialog::fill_shortcuts() main_shortcuts.push_back(Shortcut(ctrl+"1" ,L("Select Plater Tab"))); main_shortcuts.push_back(Shortcut(ctrl+alt+"U" ,L("Quick slice and Save as"))); main_shortcuts.push_back(Shortcut(ctrl+"2" ,L("Select Print Settings Tab"))); - main_shortcuts.push_back(Shortcut(ctrl+"3" ,L("Select Filament Setting Tab"))); - main_shortcuts.push_back(Shortcut(ctrl+"4" ,L("Select Printer Setting Tab"))); + main_shortcuts.push_back(Shortcut(ctrl+"3" ,L("Select Filament Settings Tab"))); + main_shortcuts.push_back(Shortcut(ctrl+"4" ,L("Select Printer Settings Tab"))); main_shortcuts.push_back(Shortcut(ctrl+"5" ,L("Switch to 3D"))); main_shortcuts.push_back(Shortcut(ctrl+"6" ,L("Switch to Preview"))); main_shortcuts.push_back(Shortcut(ctrl+"P" ,L("Preferences"))); @@ -132,7 +132,7 @@ void KBShortcutsDialog::fill_shortcuts() plater_shortcuts.push_back(Shortcut("A", L("Arrange"))); plater_shortcuts.push_back(Shortcut(ctrl+"A", L("Select All objects"))); plater_shortcuts.push_back(Shortcut("Del", L("Delete selected"))); - plater_shortcuts.push_back(Shortcut(ctrl+"Del", L("Delete all"))); + plater_shortcuts.push_back(Shortcut(ctrl+"Del", L("Delete All"))); plater_shortcuts.push_back(Shortcut("M", L("Gizmo move"))); plater_shortcuts.push_back(Shortcut("S", L("Gizmo scale"))); plater_shortcuts.push_back(Shortcut("R", L("Gizmo rotate"))); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 2a600398697..a8df3333ebd 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -48,7 +48,7 @@ wxFrame(NULL, wxID_ANY, SLIC3R_BUILD, wxDefaultPosition, wxDefaultSize, wxDEFAUL // initialize status bar m_statusbar = new ProgressStatusBar(this); m_statusbar->embed(this); - m_statusbar->set_status_text(_(L("Version ")) + + m_statusbar->set_status_text(_(L("Version")) + " " + SLIC3R_VERSION + _(L(" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases"))); @@ -197,6 +197,12 @@ bool MainFrame::can_export_gcode() const return true; } +bool MainFrame::can_slice() const +{ + bool bg_proc = wxGetApp().app_config->get("background_processing") == "1"; + return (m_plater != nullptr) ? !m_plater->model().objects.empty() && !bg_proc : false; +} + bool MainFrame::can_change_view() const { int page_id = m_tabpanel->GetSelection(); @@ -227,60 +233,60 @@ void MainFrame::init_menubar() // File menu wxMenu* fileMenu = new wxMenu; { - wxMenuItem* item_open = append_menu_item(fileMenu, wxID_ANY, _(L("Open…\tCtrl+O")), _(L("Open a project file")), + wxMenuItem* item_open = append_menu_item(fileMenu, wxID_ANY, _(L("&Open")) + dots + "\tCtrl+O", _(L("Open a project file")), [this](wxCommandEvent&) { if (m_plater) m_plater->load_project(); }, "brick_add.png"); - wxMenuItem* item_save = append_menu_item(fileMenu, wxID_ANY, _(L("Save\tCtrl+S")), _(L("Save current project file")), + wxMenuItem* item_save = append_menu_item(fileMenu, wxID_ANY, _(L("&Save")) + "\tCtrl+S", _(L("Save current project file")), [this](wxCommandEvent&) { if (m_plater) m_plater->export_3mf(into_path(m_plater->get_project_filename())); }, "disk.png"); - wxMenuItem* item_save_as = append_menu_item(fileMenu, wxID_ANY, _(L("Save as…\tCtrl+Alt+S")), _(L("Save current project file as")), + wxMenuItem* item_save_as = append_menu_item(fileMenu, wxID_ANY, _(L("Save &as")) + dots + "\tCtrl+Alt+S", _(L("Save current project file as")), [this](wxCommandEvent&) { if (m_plater) m_plater->export_3mf(); }, "disk.png"); fileMenu->AppendSeparator(); wxMenu* import_menu = new wxMenu(); - wxMenuItem* item_import_model = append_menu_item(import_menu, wxID_ANY, _(L("Import STL/OBJ/AMF/3MF…\tCtrl+I")), _(L("Load a model")), + wxMenuItem* item_import_model = append_menu_item(import_menu, wxID_ANY, _(L("Import STL/OBJ/AM&F/3MF")) + dots + "\tCtrl+I", _(L("Load a model")), [this](wxCommandEvent&) { if (m_plater) m_plater->add_model(); }, "brick_add.png"); import_menu->AppendSeparator(); - append_menu_item(import_menu, wxID_ANY, _(L("Import Config…\tCtrl+L")), _(L("Load exported configuration file")), + append_menu_item(import_menu, wxID_ANY, _(L("Import &Config")) + dots + "\tCtrl+L", _(L("Load exported configuration file")), [this](wxCommandEvent&) { load_config_file(); }, "plugin_add.png"); - append_menu_item(import_menu, wxID_ANY, _(L("Import Config from project…\tCtrl+Alt+L")), _(L("Load configuration from project file")), + append_menu_item(import_menu, wxID_ANY, _(L("Import Config from &project")) + dots +"\tCtrl+Alt+L", _(L("Load configuration from project file")), [this](wxCommandEvent&) { if (m_plater) m_plater->extract_config_from_project(); }, "plugin_add.png"); import_menu->AppendSeparator(); - append_menu_item(import_menu, wxID_ANY, _(L("Import Config Bundle…")), _(L("Load presets from a bundle")), + append_menu_item(import_menu, wxID_ANY, _(L("Import Config &Bundle")) + dots, _(L("Load presets from a bundle")), [this](wxCommandEvent&) { load_configbundle(); }, "lorry_add.png"); - append_submenu(fileMenu, import_menu, wxID_ANY, _(L("Import")), _(L(""))); + append_submenu(fileMenu, import_menu, wxID_ANY, _(L("&Import")), ""); wxMenu* export_menu = new wxMenu(); - wxMenuItem* item_export_gcode = append_menu_item(export_menu, wxID_ANY, _(L("Export G-code…\tCtrl+G")), _(L("Export current plate as G-code")), + wxMenuItem* item_export_gcode = append_menu_item(export_menu, wxID_ANY, _(L("Export &G-code")) + dots +"\tCtrl+G", _(L("Export current plate as G-code")), [this](wxCommandEvent&) { if (m_plater) m_plater->export_gcode(); }, "cog_go.png"); export_menu->AppendSeparator(); - wxMenuItem* item_export_stl = append_menu_item(export_menu, wxID_ANY, _(L("Export plate as STL…")), _(L("Export current plate as STL")), + wxMenuItem* item_export_stl = append_menu_item(export_menu, wxID_ANY, _(L("Export plate as &STL")) + dots, _(L("Export current plate as STL")), [this](wxCommandEvent&) { if (m_plater) m_plater->export_stl(); }, "brick_go.png"); - wxMenuItem* item_export_amf = append_menu_item(export_menu, wxID_ANY, _(L("Export plate as AMF…")), _(L("Export current plate as AMF")), + wxMenuItem* item_export_amf = append_menu_item(export_menu, wxID_ANY, _(L("Export plate as &AMF")) + dots, _(L("Export current plate as AMF")), [this](wxCommandEvent&) { if (m_plater) m_plater->export_amf(); }, "brick_go.png"); export_menu->AppendSeparator(); - append_menu_item(export_menu, wxID_ANY, _(L("Export Config…\tCtrl+E")), _(L("Export current configuration to file")), + append_menu_item(export_menu, wxID_ANY, _(L("Export &Config")) +dots +"\tCtrl+E", _(L("Export current configuration to file")), [this](wxCommandEvent&) { export_config(); }, "plugin_go.png"); - append_menu_item(export_menu, wxID_ANY, _(L("Export Config Bundle…")), _(L("Export all presets to file")), + append_menu_item(export_menu, wxID_ANY, _(L("Export Config &Bundle")) + dots, _(L("Export all presets to file")), [this](wxCommandEvent&) { export_configbundle(); }, "lorry_go.png"); - append_submenu(fileMenu, export_menu, wxID_ANY, _(L("Export")), _(L(""))); + append_submenu(fileMenu, export_menu, wxID_ANY, _(L("&Export")), ""); fileMenu->AppendSeparator(); #if 0 m_menu_item_repeat = nullptr; - append_menu_item(fileMenu, wxID_ANY, _(L("Quick Slice…\tCtrl+U")), _(L("Slice a file into a G-code")), + append_menu_item(fileMenu, wxID_ANY, _(L("Quick Slice")) +dots+ "\tCtrl+U", _(L("Slice a file into a G-code")), [this](wxCommandEvent&) { wxTheApp->CallAfter([this]() { quick_slice(); m_menu_item_repeat->Enable(is_last_input_file()); }); }, "cog_go.png"); - append_menu_item(fileMenu, wxID_ANY, _(L("Quick Slice and Save As…\tCtrl+Alt+U")), _(L("Slice a file into a G-code, save as")), + append_menu_item(fileMenu, wxID_ANY, _(L("Quick Slice and Save As")) +dots +"\tCtrl+Alt+U", _(L("Slice a file into a G-code, save as")), [this](wxCommandEvent&) { wxTheApp->CallAfter([this]() { quick_slice(qsSaveAs); m_menu_item_repeat->Enable(is_last_input_file()); }); }, "cog_go.png"); - m_menu_item_repeat = append_menu_item(fileMenu, wxID_ANY, _(L("Repeat Last Quick Slice\tCtrl+Shift+U")), _(L("Repeat last quick slice")), + m_menu_item_repeat = append_menu_item(fileMenu, wxID_ANY, _(L("Repeat Last Quick Slice")) +"\tCtrl+Shift+U", _(L("Repeat last quick slice")), [this](wxCommandEvent&) { wxTheApp->CallAfter([this]() { quick_slice(qsReslice); @@ -288,13 +294,13 @@ void MainFrame::init_menubar() m_menu_item_repeat->Enable(false); fileMenu->AppendSeparator(); #endif - m_menu_item_reslice_now = append_menu_item(fileMenu, wxID_ANY, _(L("(Re)Slice Now\tCtrl+R")), _(L("Start new slicing process")), + m_menu_item_reslice_now = append_menu_item(fileMenu, wxID_ANY, _(L("(Re)Slice &Now")) + "\tCtrl+R", _(L("Start new slicing process")), [this](wxCommandEvent&) { reslice_now(); }, "shape_handles.png"); fileMenu->AppendSeparator(); - append_menu_item(fileMenu, wxID_ANY, _(L("Repair STL file…")), _(L("Automatically repair an STL file")), + append_menu_item(fileMenu, wxID_ANY, _(L("&Repair STL file")) + dots, _(L("Automatically repair an STL file")), [this](wxCommandEvent&) { repair_stl(); }, "wrench.png"); fileMenu->AppendSeparator(); - append_menu_item(fileMenu, wxID_EXIT, _(L("Quit")), _(L("Quit Slic3r")), + append_menu_item(fileMenu, wxID_EXIT, _(L("&Quit")), _(L("Quit Slic3r")), [this](wxCommandEvent&) { Close(false); }); Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(m_plater != nullptr); }, item_open->GetId()); @@ -304,6 +310,7 @@ void MainFrame::init_menubar() Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable((m_plater != nullptr) && can_export_gcode()); }, item_export_gcode->GetId()); Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable((m_plater != nullptr) && can_export_model()); }, item_export_stl->GetId()); Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable((m_plater != nullptr) && can_export_model()); }, item_export_amf->GetId()); + Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable((m_plater != nullptr) && can_slice()); }, m_menu_item_reslice_now->GetId()); } // Edit menu @@ -311,12 +318,12 @@ void MainFrame::init_menubar() if (m_plater != nullptr) { editMenu = new wxMenu(); - wxMenuItem* item_select_all = append_menu_item(editMenu, wxID_ANY, L("Select all\tCtrl+A"), L("Selects all objects"), + wxMenuItem* item_select_all = append_menu_item(editMenu, wxID_ANY, _(L("&Select all")) + "\tCtrl+A", _(L("Selects all objects")), [this](wxCommandEvent&) { m_plater->select_all(); }, ""); editMenu->AppendSeparator(); - wxMenuItem* item_delete_sel = append_menu_item(editMenu, wxID_ANY, L("Delete selected\tDel"), L("Deletes the current selection"), + wxMenuItem* item_delete_sel = append_menu_item(editMenu, wxID_ANY, _(L("&Delete selected")) + "\tDel", _(L("Deletes the current selection")), [this](wxCommandEvent&) { m_plater->remove_selected(); }, ""); - wxMenuItem* item_delete_all = append_menu_item(editMenu, wxID_ANY, L("Delete all\tCtrl+Del"), L("Deletes all objects"), + wxMenuItem* item_delete_all = append_menu_item(editMenu, wxID_ANY, _(L("Delete &all")) + "\tCtrl+Del", _(L("Deletes all objects")), [this](wxCommandEvent&) { m_plater->reset(); }, ""); Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_select()); }, item_select_all->GetId()); @@ -329,24 +336,24 @@ void MainFrame::init_menubar() { size_t tab_offset = 0; if (m_plater) { - append_menu_item(windowMenu, wxID_HIGHEST + 1, L("Plater Tab\tCtrl+1"), L("Show the plater"), + append_menu_item(windowMenu, wxID_HIGHEST + 1, _(L("&Plater Tab")) + "\tCtrl+1", _(L("Show the plater")), [this](wxCommandEvent&) { select_tab(0); }, "application_view_tile.png"); tab_offset += 1; } if (tab_offset > 0) { windowMenu->AppendSeparator(); } - append_menu_item(windowMenu, wxID_HIGHEST + 2, L("Print Settings Tab\tCtrl+2"), L("Show the print settings"), + append_menu_item(windowMenu, wxID_HIGHEST + 2, _(L("P&rint Settings Tab")) + "\tCtrl+2", _(L("Show the print settings")), [this, tab_offset](wxCommandEvent&) { select_tab(tab_offset + 0); }, "cog.png"); - append_menu_item(windowMenu, wxID_HIGHEST + 3, L("Filament Settings Tab\tCtrl+3"), L("Show the filament settings"), + append_menu_item(windowMenu, wxID_HIGHEST + 3, _(L("&Filament Settings Tab")) + "\tCtrl+3", _(L("Show the filament settings")), [this, tab_offset](wxCommandEvent&) { select_tab(tab_offset + 1); }, "spool.png"); - append_menu_item(windowMenu, wxID_HIGHEST + 4, L("Printer Settings Tab\tCtrl+4"), L("Show the printer settings"), + append_menu_item(windowMenu, wxID_HIGHEST + 4, _(L("Print&er Settings Tab")) + "\tCtrl+4", _(L("Show the printer settings")), [this, tab_offset](wxCommandEvent&) { select_tab(tab_offset + 2); }, "printer_empty.png"); if (m_plater) { windowMenu->AppendSeparator(); - wxMenuItem* item_3d = append_menu_item(windowMenu, wxID_HIGHEST + 5, L("3D\tCtrl+5"), L("Show the 3D editing view"), + wxMenuItem* item_3d = append_menu_item(windowMenu, wxID_HIGHEST + 5, _(L("3&D")) + "\tCtrl+5", _(L("Show the 3D editing view")), [this](wxCommandEvent&) { m_plater->select_view_3D("3D"); }, ""); - wxMenuItem* item_preview = append_menu_item(windowMenu, wxID_HIGHEST + 6, L("Preview\tCtrl+6"), L("Show the 3D slices preview"), + wxMenuItem* item_preview = append_menu_item(windowMenu, wxID_HIGHEST + 6, _(L("Pre&view")) + "\tCtrl+6", _(L("Show the 3D slices preview")), [this](wxCommandEvent&) { m_plater->select_view_3D("Preview"); }, ""); Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_change_view()); }, item_3d->GetId()); @@ -367,7 +374,7 @@ void MainFrame::init_menubar() #endif // _WIN32 windowMenu->AppendSeparator(); - append_menu_item(windowMenu, wxID_ANY, L("Print Host Upload Queue\tCtrl+J"), L("Display the Print Host Upload Queue window"), + append_menu_item(windowMenu, wxID_ANY, _(L("Print &Host Upload Queue")) + "\tCtrl+J", _(L("Display the Print Host Upload Queue window")), [this](wxCommandEvent&) { m_printhost_queue_dlg->Show(); }, "arrow_up.png"); } @@ -378,14 +385,14 @@ void MainFrame::init_menubar() // \xA0 is a non-breaing space. It is entered here to spoil the automatic accelerators, // as the simple numeric accelerators spoil all numeric data entry. // The camera control accelerators are captured by GLCanvas3D::on_char(). - wxMenuItem* item_iso = append_menu_item(viewMenu, wxID_ANY, _(L("Iso")) + "\t\xA0" + "0", _(L("Iso View")), [this](wxCommandEvent&) { select_view("iso"); }); + wxMenuItem* item_iso = append_menu_item(viewMenu, wxID_ANY, _(L("&Iso")) + "\t\xA0" + "0", _(L("Iso View")), [this](wxCommandEvent&) { select_view("iso"); }); viewMenu->AppendSeparator(); - wxMenuItem* item_top = append_menu_item(viewMenu, wxID_ANY, _(L("Top")) + "\t\xA0" + "1", _(L("Top View")), [this](wxCommandEvent&) { select_view("top"); }); - wxMenuItem* item_bottom = append_menu_item(viewMenu, wxID_ANY, _(L("Bottom")) + "\t\xA0" + "2", _(L("Bottom View")), [this](wxCommandEvent&) { select_view("bottom"); }); - wxMenuItem* item_front = append_menu_item(viewMenu, wxID_ANY, _(L("Front")) + "\t\xA0" + "3", _(L("Front View")), [this](wxCommandEvent&) { select_view("front"); }); - wxMenuItem* item_rear = append_menu_item(viewMenu, wxID_ANY, _(L("Rear")) + "\t\xA0" + "4", _(L("Rear View")), [this](wxCommandEvent&) { select_view("rear"); }); - wxMenuItem* item_left = append_menu_item(viewMenu, wxID_ANY, _(L("Left")) + "\t\xA0" + "5", _(L("Left View")), [this](wxCommandEvent&) { select_view("left"); }); - wxMenuItem* item_right = append_menu_item(viewMenu, wxID_ANY, _(L("Right")) + "\t\xA0" + "6", _(L("Right View")), [this](wxCommandEvent&) { select_view("right"); }); + wxMenuItem* item_top = append_menu_item(viewMenu, wxID_ANY, _(L("&Top")) + "\t\xA0" + "1", _(L("Top View")), [this](wxCommandEvent&) { select_view("top"); }); + wxMenuItem* item_bottom = append_menu_item(viewMenu, wxID_ANY, _(L("&Bottom")) + "\t\xA0" + "2", _(L("Bottom View")), [this](wxCommandEvent&) { select_view("bottom"); }); + wxMenuItem* item_front = append_menu_item(viewMenu, wxID_ANY, _(L("&Front")) + "\t\xA0" + "3", _(L("Front View")), [this](wxCommandEvent&) { select_view("front"); }); + wxMenuItem* item_rear = append_menu_item(viewMenu, wxID_ANY, _(L("R&ear")) + "\t\xA0" + "4", _(L("Rear View")), [this](wxCommandEvent&) { select_view("rear"); }); + wxMenuItem* item_left = append_menu_item(viewMenu, wxID_ANY, _(L("&Left")) + "\t\xA0" + "5", _(L("Left View")), [this](wxCommandEvent&) { select_view("left"); }); + wxMenuItem* item_right = append_menu_item(viewMenu, wxID_ANY, _(L("&Right")) + "\t\xA0" + "6", _(L("Right View")), [this](wxCommandEvent&) { select_view("right"); }); Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_change_view()); }, item_iso->GetId()); Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_change_view()); }, item_top->GetId()); @@ -399,29 +406,29 @@ void MainFrame::init_menubar() // Help menu auto helpMenu = new wxMenu(); { - append_menu_item(helpMenu, wxID_ANY, _(L("Prusa 3D Drivers")), _(L("Open the Prusa3D drivers download page in your browser")), + append_menu_item(helpMenu, wxID_ANY, _(L("Prusa 3D &Drivers")), _(L("Open the Prusa3D drivers download page in your browser")), [this](wxCommandEvent&) { wxLaunchDefaultBrowser("http://www.prusa3d.com/drivers/"); }); - append_menu_item(helpMenu, wxID_ANY, _(L("Prusa Edition Releases")), _(L("Open the Prusa Edition releases page in your browser")), + append_menu_item(helpMenu, wxID_ANY, _(L("Prusa Edition &Releases")), _(L("Open the Prusa Edition releases page in your browser")), [this](wxCommandEvent&) { wxLaunchDefaultBrowser("http://github.com/prusa3d/slic3r/releases"); }); //# my $versioncheck = $self->_append_menu_item($helpMenu, "Check for &Updates...", "Check for new Slic3r versions", sub{ //# wxTheApp->check_version(1); //# }); //# $versioncheck->Enable(wxTheApp->have_version_check); - append_menu_item(helpMenu, wxID_ANY, _(L("Slic3r Website")), _(L("Open the Slic3r website in your browser")), + append_menu_item(helpMenu, wxID_ANY, _(L("Slic3r &Website")), _(L("Open the Slic3r website in your browser")), [this](wxCommandEvent&) { wxLaunchDefaultBrowser("http://slic3r.org/"); }); - append_menu_item(helpMenu, wxID_ANY, _(L("Slic3r Manual")), _(L("Open the Slic3r manual in your browser")), + append_menu_item(helpMenu, wxID_ANY, _(L("Slic3r &Manual")), _(L("Open the Slic3r manual in your browser")), [this](wxCommandEvent&) { wxLaunchDefaultBrowser("http://manual.slic3r.org/"); }); helpMenu->AppendSeparator(); - append_menu_item(helpMenu, wxID_ANY, _(L("System Info")), _(L("Show system information")), + append_menu_item(helpMenu, wxID_ANY, _(L("System &Info")), _(L("Show system information")), [this](wxCommandEvent&) { wxGetApp().system_info(); }); - append_menu_item(helpMenu, wxID_ANY, _(L("Show Configuration Folder")), _(L("Show user configuration folder (datadir)")), + append_menu_item(helpMenu, wxID_ANY, _(L("Show &Configuration Folder")), _(L("Show user configuration folder (datadir)")), [this](wxCommandEvent&) { Slic3r::GUI::desktop_open_datadir_folder(); }); - append_menu_item(helpMenu, wxID_ANY, _(L("Report an Issue")), _(L("Report an issue on the Slic3r Prusa Edition")), + append_menu_item(helpMenu, wxID_ANY, _(L("Report an I&ssue")), _(L("Report an issue on the Slic3r Prusa Edition")), [this](wxCommandEvent&) { wxLaunchDefaultBrowser("http://github.com/prusa3d/slic3r/issues/new"); }); - append_menu_item(helpMenu, wxID_ANY, _(L("About Slic3r")), _(L("Show about dialog")), + append_menu_item(helpMenu, wxID_ANY, _(L("&About Slic3r")), _(L("Show about dialog")), [this](wxCommandEvent&) { Slic3r::GUI::about(); }); helpMenu->AppendSeparator(); - append_menu_item(helpMenu, wxID_ANY, _(L("Keyboard Shortcuts")) + "\t\xA0?", _(L("Show the list of the keyboard shortcuts")), + append_menu_item(helpMenu, wxID_ANY, _(L("&Keyboard Shortcuts")) + "\t\xA0?", _(L("Show the list of the keyboard shortcuts")), [this](wxCommandEvent&) { wxGetApp().keyboard_shortcuts(); }); } @@ -429,13 +436,13 @@ void MainFrame::init_menubar() // assign menubar to frame after appending items, otherwise special items // will not be handled correctly auto menubar = new wxMenuBar(); - menubar->Append(fileMenu, L("&File")); - if (editMenu) menubar->Append(editMenu, L("&Edit")); - menubar->Append(windowMenu, L("&Window")); - if (viewMenu) menubar->Append(viewMenu, L("&View")); + menubar->Append(fileMenu, _(L("&File"))); + if (editMenu) menubar->Append(editMenu, _(L("&Edit"))); + menubar->Append(windowMenu, _(L("&Window"))); + if (viewMenu) menubar->Append(viewMenu, _(L("&View"))); // Add additional menus from C++ wxGetApp().add_config_menu(menubar); - menubar->Append(helpMenu, L("&Help")); + menubar->Append(helpMenu, _(L("&Help"))); SetMenuBar(menubar); #ifdef __APPLE__ @@ -550,7 +557,7 @@ void MainFrame::quick_slice(const int qs) } // show processbar dialog - m_progress_dialog = new wxProgressDialog(_(L("Slicing…")), _(L("Processing ")) + input_file_basename + "…", + m_progress_dialog = new wxProgressDialog(_(L("Slicing")) + dots, _(L("Processing ")) + input_file_basename + "…", 100, this, 4); m_progress_dialog->Pulse(); { @@ -846,7 +853,7 @@ void MainFrame::on_value_changed(wxCommandEvent& event) void MainFrame::update_ui_from_settings() { bool bp_on = wxGetApp().app_config->get("background_processing") == "1"; - m_menu_item_reslice_now->Enable(!bp_on); +// m_menu_item_reslice_now->Enable(!bp_on); m_plater->sidebar().show_reslice(!bp_on); m_plater->sidebar().Layout(); if (m_plater) diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index 9549069039f..31ae5d1c72e 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -62,6 +62,7 @@ class MainFrame : public wxFrame bool can_save() const; bool can_export_model() const; bool can_export_gcode() const; + bool can_slice() const; bool can_change_view() const; bool can_select() const; bool can_delete() const; diff --git a/src/slic3r/GUI/OptionsGroup.cpp b/src/slic3r/GUI/OptionsGroup.cpp index 72c6f676bd2..4952398f301 100644 --- a/src/slic3r/GUI/OptionsGroup.cpp +++ b/src/slic3r/GUI/OptionsGroup.cpp @@ -231,11 +231,11 @@ void OptionsGroup::append_line(const Line& line, wxStaticText** full_Label/* = n wxSizer* sizer_tmp = sizer; // add label if any if (option.label != "") { - wxString str_label = _(option.label); +// wxString str_label = _(option.label); //! To correct translation by context have to use wxGETTEXT_IN_CONTEXT macro from wxWidget 3.1.1 -// wxString str_label = (option.label == "Top" || option.label == "Bottom") ? -// wxGETTEXT_IN_CONTEXT("Layers", wxString(option.label.c_str()): -// L_str(option.label); + wxString str_label = (option.label == "Top" || option.label == "Bottom") ? + wxGETTEXT_IN_CONTEXT("Layers", wxString(option.label)) : + _(option.label); label = new wxStaticText(parent(), wxID_ANY, str_label + ":", wxDefaultPosition, wxDefaultSize); label->SetFont(label_font); sizer_tmp->Add(label, 0, /*wxALIGN_RIGHT |*/ wxALIGN_CENTER_VERTICAL, 0); diff --git a/src/slic3r/GUI/OptionsGroup.hpp b/src/slic3r/GUI/OptionsGroup.hpp index 9097dcab60e..93151f33e8e 100644 --- a/src/slic3r/GUI/OptionsGroup.hpp +++ b/src/slic3r/GUI/OptionsGroup.hpp @@ -1,7 +1,7 @@ #ifndef slic3r_OptionsGroup_hpp_ #define slic3r_OptionsGroup_hpp_ -#include +//#include #include #include //#include @@ -11,7 +11,7 @@ #include "libslic3r/Config.hpp" #include "libslic3r/PrintConfig.hpp" -#include "libslic3r/libslic3r.h" +// #include "libslic3r/libslic3r.h" #include "Field.hpp" #include "GUI_App.hpp" diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 96a6b1cff49..84a84cf107c 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -114,7 +114,7 @@ ObjectInfo::ObjectInfo(wxWindow *parent) : grid_sizer->AddGrowableCol(3, 1); auto init_info_label = [parent, grid_sizer](wxStaticText **info_label, wxString text_label) { - auto *text = new wxStaticText(parent, wxID_ANY, text_label); + auto *text = new wxStaticText(parent, wxID_ANY, text_label+":"); text->SetFont(wxGetApp().small_font()); *info_label = new wxStaticText(parent, wxID_ANY, ""); (*info_label)->SetFont(wxGetApp().small_font()); @@ -122,13 +122,13 @@ ObjectInfo::ObjectInfo(wxWindow *parent) : grid_sizer->Add(*info_label, 0); }; - init_info_label(&info_size, _(L("Size:"))); - init_info_label(&info_volume, _(L("Volume:"))); - init_info_label(&info_facets, _(L("Facets:"))); - init_info_label(&info_materials, _(L("Materials:"))); + init_info_label(&info_size, _(L("Size"))); + init_info_label(&info_volume, _(L("Volume"))); + init_info_label(&info_facets, _(L("Facets"))); + init_info_label(&info_materials, _(L("Materials"))); Add(grid_sizer, 0, wxEXPAND); - auto *info_manifold_text = new wxStaticText(parent, wxID_ANY, _(L("Manifold:"))); + auto *info_manifold_text = new wxStaticText(parent, wxID_ANY, _(L("Manifold"))); info_manifold_text->SetFont(wxGetApp().small_font()); info_manifold = new wxStaticText(parent, wxID_ANY, ""); info_manifold->SetFont(wxGetApp().small_font()); @@ -602,7 +602,7 @@ Sidebar::Sidebar(Plater *parent) scrolled_sizer->Add(p->sliced_info, 0, wxEXPAND | wxTOP | wxLEFT, 20); // Buttons underneath the scrolled area - p->btn_export_gcode = new wxButton(this, wxID_ANY, _(L("Export G-code…"))); + p->btn_export_gcode = new wxButton(this, wxID_ANY, _(L("Export G-code")) + dots); p->btn_export_gcode->SetFont(wxGetApp().bold_font()); p->btn_reslice = new wxButton(this, wxID_ANY, _(L("Slice now"))); p->btn_reslice->SetFont(wxGetApp().bold_font()); @@ -792,7 +792,7 @@ void Sidebar::show_info_sizer() wxString tooltip = wxString::Format(_(L("Auto-repaired (%d errors)")), errors); p->object_info->info_manifold->SetLabel(tooltip); - tooltip += wxString::Format(_(L(":\n%d degenerate facets, %d edges fixed, %d facets removed, " + tooltip += ":\n" + wxString::Format(_(L("%d degenerate facets, %d edges fixed, %d facets removed, " "%d facets added, %d facets reversed, %d backwards edges")), stats.degenerate_facets, stats.edges_fixed, stats.facets_removed, stats.facets_added, stats.facets_reversed, stats.backwards_edges); @@ -849,7 +849,7 @@ void Sidebar::show_sliced_info_sizer(const bool show) if (ps.estimated_normal_print_time == "N/A" && ps.estimated_silent_print_time == "N/A") p->sliced_info->SetTextAndShow(siEstimatedTime, "N/A"); else { - new_label = "Estimated printing time :"; + new_label = _(L("Estimated printing time")) +" :"; info_text = ""; if (ps.estimated_normal_print_time != "N/A") { new_label += wxString::Format("\n - %s", _(L("normal mode"))); @@ -1301,7 +1301,7 @@ std::vector Plater::priv::load_files(const std::vector& input_ } } - const auto loading = _(L("Loading…")); + const auto loading = _(L("Loading")) + dots; wxProgressDialog dlg(loading, loading); dlg.Pulse(); @@ -1362,14 +1362,14 @@ std::vector Plater::priv::load_files(const std::vector& input_ // The model should now be initialized if (model.looks_like_multipart_object()) { -// wxMessageDialog dlg(q, _(L( -// "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" -// )), _(L("Multi-part object detected")), wxICON_WARNING | wxYES | wxNO); -// if (dlg.ShowModal() == wxID_YES) { + wxMessageDialog dlg(q, _(L( + "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" + )), _(L("Multi-part object detected")), wxICON_WARNING | wxYES | wxNO); + if (dlg.ShowModal() == wxID_YES) { model.convert_multipart_object(nozzle_dmrs->values.size()); -// } + } } if (type_3mf || type_any_amf) { @@ -2343,14 +2343,14 @@ bool Plater::priv::init_object_menu() bool Plater::priv::init_common_menu(wxMenu* menu, const bool is_part/* = false*/) { - wxMenuItem* item_delete = append_menu_item(menu, wxID_ANY, _(L("Delete\tDel")), _(L("Remove the selected object")), + wxMenuItem* item_delete = append_menu_item(menu, wxID_ANY, _(L("Delete")) + "\tDel", _(L("Remove the selected object")), [this](wxCommandEvent&) { q->remove_selected(); }, "brick_delete.png"); if (!is_part){ - wxMenuItem* item_increase = append_menu_item(menu, wxID_ANY, _(L("Increase copies\t+")), _(L("Place one more copy of the selected object")), + wxMenuItem* item_increase = append_menu_item(menu, wxID_ANY, _(L("Increase copies")) + "\t+", _(L("Place one more copy of the selected object")), [this](wxCommandEvent&) { q->increase_instances(); }, "add.png"); - wxMenuItem* item_decrease = append_menu_item(menu, wxID_ANY, _(L("Decrease copies\t-")), _(L("Remove one copy of the selected object")), + wxMenuItem* item_decrease = append_menu_item(menu, wxID_ANY, _(L("Decrease copies")) + "\t-", _(L("Remove one copy of the selected object")), [this](wxCommandEvent&) { q->decrease_instances(); }, "delete.png"); - wxMenuItem* item_set_number_of_copies = append_menu_item(menu, wxID_ANY, _(L("Set number of copies…")), _(L("Change the number of copies of the selected object")), + wxMenuItem* item_set_number_of_copies = append_menu_item(menu, wxID_ANY, _(L("Set number of copies")) + dots, _(L("Change the number of copies of the selected object")), [this](wxCommandEvent&) { q->set_number_of_copies(); }, "textfield.png"); if (q != nullptr) { @@ -2363,7 +2363,7 @@ bool Plater::priv::init_common_menu(wxMenu* menu, const bool is_part/* = false*/ append_menu_item(menu, wxID_ANY, _(L("Reload from Disk")), _(L("Reload the selected file from Disk")), [this](wxCommandEvent&) { reload_from_disk(); }); - append_menu_item(menu, wxID_ANY, _(L("Export object as STL…")), _(L("Export this single object as STL file")), + append_menu_item(menu, wxID_ANY, _(L("Export object as STL")) + dots, _(L("Export this single object as STL file")), [this](wxCommandEvent&) { q->export_stl(true); }); } menu->AppendSeparator(); @@ -2407,7 +2407,7 @@ bool Plater::priv::complit_init_object_menu() // append_menu_item(&object_menu, wxID_ANY, _(L("Reload from Disk")), _(L("Reload the selected file from Disk")), // [this](wxCommandEvent&) { reload_from_disk(); }); // -// append_menu_item(&object_menu, wxID_ANY, _(L("Export object as STL…")), _(L("Export this single object as STL file")), +// append_menu_item(&object_menu, wxID_ANY, _(L("Export object as STL")) + dots, _(L("Export this single object as STL file")), // [this](wxCommandEvent&) { q->export_stl(true); }); // Append "Add..." popupmenu diff --git a/src/slic3r/GUI/Preset.cpp b/src/slic3r/GUI/Preset.cpp index 102b0610e74..d4ee9cf5fd6 100644 --- a/src/slic3r/GUI/Preset.cpp +++ b/src/slic3r/GUI/Preset.cpp @@ -1153,11 +1153,11 @@ std::vector PresetCollection::merge_presets(PresetCollection &&othe std::string PresetCollection::name() const { switch (this->type()) { - case Preset::TYPE_PRINT: return "print"; - case Preset::TYPE_FILAMENT: return "filament"; - case Preset::TYPE_SLA_PRINT: return "SLA print"; - case Preset::TYPE_SLA_MATERIAL: return "SLA material"; - case Preset::TYPE_PRINTER: return "printer"; + case Preset::TYPE_PRINT: return L("print"); + case Preset::TYPE_FILAMENT: return L("filament"); + case Preset::TYPE_SLA_PRINT: return L("SLA print"); + case Preset::TYPE_SLA_MATERIAL: return L("SLA material"); + case Preset::TYPE_PRINTER: return L("printer"); default: return "invalid"; } } diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 452e3bf2022..012c72c47f3 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2012,7 +2012,7 @@ PageShp TabPrinter::build_kinematics_page() if (m_use_silent_mode) { // Legend for OptionsGroups - auto optgroup = page->new_optgroup(_(L(""))); + auto optgroup = page->new_optgroup(""); optgroup->set_show_modified_btns_val(false); optgroup->label_width = 230; auto line = Line{ "", "" }; @@ -2562,19 +2562,20 @@ bool Tab::may_discard_current_dirty_preset(PresetCollection* presets /*= nullptr std::string type_name = presets->name(); wxString tab = " "; wxString name = old_preset.is_default ? - _(L("Default ")) + type_name + _(L(" preset")) : - (type_name + _(L(" preset\n")) + tab + old_preset.name); + wxString::Format(_(L("Default preset (%s)")), _(type_name)) : //_(L("Default ")) + type_name + _(L(" preset")) : + wxString::Format(_(L("Preset (%s)")), _(type_name)) + "\n" + tab + old_preset.name; //type_name + _(L(" preset\n")) + tab + old_preset.name; + // Collect descriptions of the dirty options. wxString changes; for (const std::string &opt_key : presets->current_dirty_options()) { const ConfigOptionDef &opt = m_config->def()->options.at(opt_key); - std::string name = ""; + /*std::string*/wxString name = ""; if (! opt.category.empty()) - name += opt.category + " > "; + name += _(opt.category) + " > "; name += !opt.full_label.empty() ? - opt.full_label : - opt.label; - changes += tab + from_u8(name) + "\n"; + _(opt.full_label) : + _(opt.label); + changes += tab + /*from_u8*/(name) + "\n"; } // Show a confirmation dialog with the list of dirty options. wxString message = name + "\n\n"; @@ -2588,7 +2589,7 @@ bool Tab::may_discard_current_dirty_preset(PresetCollection* presets /*= nullptr message += _(L("and it has the following unsaved changes:")); } auto confirm = new wxMessageDialog(parent(), - message + "\n" + changes + _(L("\n\nDiscard changes and continue anyway?")), + message + "\n" + changes + "\n\n" + _(L("Discard changes and continue anyway?")), _(L("Unsaved Changes")), wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION); return confirm->ShowModal() == wxID_YES; } @@ -2600,8 +2601,8 @@ bool Tab::may_switch_to_SLA_preset() if (wxGetApp().obj_list()->has_multi_part_objects()) { show_info( parent(), - _(L("It's impossible to print multi-part object(s) with SLA technology.")) + - _(L("\n\nPlease check your object list before preset changing.")), + _(L("It's impossible to print multi-part object(s) with SLA technology.")) + "\n\n" + + _(L("Please check your object list before preset changing.")), _(L("Attention!")) ); return false; } From 012c681e6785149b025b2224e3ec5892ae590441 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 21 Jan 2019 12:36:34 +0100 Subject: [PATCH 128/189] Sidebar visual hints set as default --- src/libslic3r/Technologies.hpp | 2 -- src/slic3r/GUI/3DScene.cpp | 2 -- src/slic3r/GUI/3DScene.hpp | 2 -- src/slic3r/GUI/GLCanvas3D.cpp | 15 --------------- src/slic3r/GUI/GLCanvas3D.hpp | 10 ---------- 5 files changed, 31 deletions(-) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 0002db306e6..09577410dd7 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -26,8 +26,6 @@ #define ENABLE_NONCUSTOM_DATA_VIEW_RENDERING (0 && ENABLE_1_42_0_ALPHA1) // Renders a small sphere in the center of the bounding box of the current selection when no gizmo is active #define ENABLE_RENDER_SELECTION_CENTER (0 && ENABLE_1_42_0_ALPHA1) -// Show visual hints in the 3D scene when sidebar matrix fields have focus -#define ENABLE_SIDEBAR_VISUAL_HINTS (1 && ENABLE_1_42_0_ALPHA1) // Separate rendering for opaque and transparent volumes #define ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING (1 && ENABLE_1_42_0_ALPHA1) diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index c6265f27569..f08e8fcd42b 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -1678,7 +1678,6 @@ void _3DScene::point3_to_verts(const Vec3crd& point, double width, double height GUI::GLCanvas3DManager _3DScene::s_canvas_mgr; -#if ENABLE_SIDEBAR_VISUAL_HINTS GLModel::GLModel() : m_useVBOs(false) #if ENABLE_PRINT_BED_MODELS @@ -1977,7 +1976,6 @@ bool GLCurvedArrow::on_init(bool useVBOs) m_volume.finalize_geometry(m_useVBOs); return true; } -#endif // ENABLE_SIDEBAR_VISUAL_HINTS #if ENABLE_PRINT_BED_MODELS bool GLBed::on_init_from_file(const std::string& filename, bool useVBOs) diff --git a/src/slic3r/GUI/3DScene.hpp b/src/slic3r/GUI/3DScene.hpp index 1ea69a22f69..dd713dd4179 100644 --- a/src/slic3r/GUI/3DScene.hpp +++ b/src/slic3r/GUI/3DScene.hpp @@ -485,7 +485,6 @@ class GLVolumeCollection GLVolumeCollection& operator=(const GLVolumeCollection &); }; -#if ENABLE_SIDEBAR_VISUAL_HINTS class GLModel { protected: @@ -552,7 +551,6 @@ class GLCurvedArrow : public GLModel protected: virtual bool on_init(bool useVBOs); }; -#endif // ENABLE_SIDEBAR_VISUAL_HINTS #if ENABLE_PRINT_BED_MODELS class GLBed : public GLModel diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 0719c57418a..5f8d879cb17 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -72,11 +72,8 @@ static const float DEFAULT_BG_DARK_COLOR[3] = { 0.478f, 0.478f, 0.478f }; static const float DEFAULT_BG_LIGHT_COLOR[3] = { 0.753f, 0.753f, 0.753f }; static const float ERROR_BG_DARK_COLOR[3] = { 0.478f, 0.192f, 0.039f }; static const float ERROR_BG_LIGHT_COLOR[3] = { 0.753f, 0.192f, 0.039f }; - -#if ENABLE_SIDEBAR_VISUAL_HINTS static const float UNIFORM_SCALE_COLOR[3] = { 1.0f, 0.38f, 0.0f }; static const float AXES_COLOR[3][3] = { { 1.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 1.0f } }; -#endif // ENABLE_SIDEBAR_VISUAL_HINTS namespace Slic3r { namespace GUI { @@ -1320,7 +1317,6 @@ void GLCanvas3D::Selection::set_volumes(GLVolumePtrs* volumes) _update_valid(); } -#if ENABLE_SIDEBAR_VISUAL_HINTS bool GLCanvas3D::Selection::init(bool useVBOs) { if (!m_arrow.init(useVBOs)) @@ -1334,7 +1330,6 @@ bool GLCanvas3D::Selection::init(bool useVBOs) m_curved_arrow.set_scale(5.0 * Vec3d::Ones()); return true; } -#endif // ENABLE_SIDEBAR_VISUAL_HINTS void GLCanvas3D::Selection::set_model(Model* model) { @@ -2115,7 +2110,6 @@ void GLCanvas3D::Selection::render_center() const } #endif // ENABLE_RENDER_SELECTION_CENTER -#if ENABLE_SIDEBAR_VISUAL_HINTS void GLCanvas3D::Selection::render_sidebar_hints(const std::string& sidebar_field) const { if (sidebar_field.empty()) @@ -2170,7 +2164,6 @@ void GLCanvas3D::Selection::render_sidebar_hints(const std::string& sidebar_fiel ::glDisable(GL_LIGHTING); } -#endif // ENABLE_SIDEBAR_VISUAL_HINTS bool GLCanvas3D::Selection::requires_local_axes() const { @@ -2575,7 +2568,6 @@ void GLCanvas3D::Selection::_render_bounding_box(const BoundingBoxf3& box, float ::glEnd(); } -#if ENABLE_SIDEBAR_VISUAL_HINTS void GLCanvas3D::Selection::_render_sidebar_position_hints(const std::string& sidebar_field) const { if (boost::ends_with(sidebar_field, "x")) @@ -2671,7 +2663,6 @@ void GLCanvas3D::Selection::_render_sidebar_scale_hint(Axis axis) const void GLCanvas3D::Selection::_render_sidebar_size_hint(Axis axis, double length) const { } -#endif // ENABLE_SIDEBAR_VISUAL_HINTS void GLCanvas3D::Selection::_synchronize_unselected_instances(bool including_z) { @@ -3947,10 +3938,8 @@ bool GLCanvas3D::init(bool useVBOs, bool use_legacy_opengl) if (!_init_toolbar()) return false; -#if ENABLE_SIDEBAR_VISUAL_HINTS if (!m_selection.init(m_use_VBOs)) return false; -#endif // ENABLE_SIDEBAR_VISUAL_HINTS post_event(SimpleEvent(EVT_GLCANVAS_INIT)); @@ -4317,9 +4306,7 @@ void GLCanvas3D::render() // this position is used later into on_mouse() to drag the objects m_mouse.scene_position = _mouse_to_3d(m_mouse.position.cast()); -#if ENABLE_SIDEBAR_VISUAL_HINTS _render_selection_sidebar_hints(); -#endif // ENABLE_SIDEBAR_VISUAL_HINTS _render_current_gizmo(); #if ENABLE_SHOW_CAMERA_TARGET @@ -6633,7 +6620,6 @@ void GLCanvas3D::_render_sla_slices() const } } -#if ENABLE_SIDEBAR_VISUAL_HINTS void GLCanvas3D::_render_selection_sidebar_hints() const { if (m_use_VBOs) @@ -6644,7 +6630,6 @@ void GLCanvas3D::_render_selection_sidebar_hints() const if (m_use_VBOs) m_shader.stop_using(); } -#endif // ENABLE_SIDEBAR_VISUAL_HINTS void GLCanvas3D::_update_volumes_hover_state() const { diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 3a05a48caea..3f3f507a310 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -528,10 +528,8 @@ class GLCanvas3D #if ENABLE_RENDER_SELECTION_CENTER GLUquadricObj* m_quadric; #endif // ENABLE_RENDER_SELECTION_CENTER -#if ENABLE_SIDEBAR_VISUAL_HINTS mutable GLArrow m_arrow; mutable GLCurvedArrow m_curved_arrow; -#endif // ENABLE_SIDEBAR_VISUAL_HINTS public: Selection(); @@ -540,9 +538,7 @@ class GLCanvas3D #endif // ENABLE_RENDER_SELECTION_CENTER void set_volumes(GLVolumePtrs* volumes); -#if ENABLE_SIDEBAR_VISUAL_HINTS bool init(bool useVBOs); -#endif // ENABLE_SIDEBAR_VISUAL_HINTS Model* get_model() const { return m_model; } void set_model(Model* model); @@ -620,9 +616,7 @@ class GLCanvas3D #if ENABLE_RENDER_SELECTION_CENTER void render_center() const; #endif // ENABLE_RENDER_SELECTION_CENTER -#if ENABLE_SIDEBAR_VISUAL_HINTS void render_sidebar_hints(const std::string& sidebar_field) const; -#endif // ENABLE_SIDEBAR_VISUAL_HINTS bool requires_local_axes() const; @@ -640,7 +634,6 @@ class GLCanvas3D void _render_selected_volumes() const; void _render_synchronized_volumes() const; void _render_bounding_box(const BoundingBoxf3& box, float* color) const; -#if ENABLE_SIDEBAR_VISUAL_HINTS void _render_sidebar_position_hints(const std::string& sidebar_field) const; void _render_sidebar_rotation_hints(const std::string& sidebar_field) const; void _render_sidebar_scale_hints(const std::string& sidebar_field) const; @@ -649,7 +642,6 @@ class GLCanvas3D void _render_sidebar_rotation_hint(Axis axis) const; void _render_sidebar_scale_hint(Axis axis) const; void _render_sidebar_size_hint(Axis axis, double length) const; -#endif // ENABLE_SIDEBAR_VISUAL_HINTS void _synchronize_unselected_instances(bool including_z = false); void _synchronize_unselected_volumes(); void _ensure_on_bed(); @@ -1072,9 +1064,7 @@ class GLCanvas3D void _render_camera_target() const; #endif // ENABLE_SHOW_CAMERA_TARGET void _render_sla_slices() const; -#if ENABLE_SIDEBAR_VISUAL_HINTS void _render_selection_sidebar_hints() const; -#endif // ENABLE_SIDEBAR_VISUAL_HINTS void _update_volumes_hover_state() const; void _update_gizmos_data(); From db1428dcae5d9d2fa45df33824e2345b43b8fa9b Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 21 Jan 2019 12:53:01 +0100 Subject: [PATCH 129/189] Improved transparent volumes rendering set as default --- src/libslic3r/Technologies.hpp | 6 ++---- src/slic3r/GUI/3DScene.cpp | 34 -------------------------------- src/slic3r/GUI/3DScene.hpp | 7 ------- src/slic3r/GUI/GLCanvas3D.cpp | 36 ---------------------------------- 4 files changed, 2 insertions(+), 81 deletions(-) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 09577410dd7..85b7df56d3d 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -9,6 +9,8 @@ #define ENABLE_SHOW_CAMERA_TARGET 0 // Log debug messages to console when changing selection #define ENABLE_SELECTION_DEBUG_OUTPUT 0 +// Renders a small sphere in the center of the bounding box of the current selection when no gizmo is active +#define ENABLE_RENDER_SELECTION_CENTER 0 //==================== // 1.42.0.alpha1 techs @@ -24,10 +26,6 @@ #define ENABLE_SLA_SUPPORT_GIZMO_MOD (1 && ENABLE_1_42_0_ALPHA1) // Use wxDataViewRender instead of wxDataViewCustomRenderer #define ENABLE_NONCUSTOM_DATA_VIEW_RENDERING (0 && ENABLE_1_42_0_ALPHA1) -// Renders a small sphere in the center of the bounding box of the current selection when no gizmo is active -#define ENABLE_RENDER_SELECTION_CENTER (0 && ENABLE_1_42_0_ALPHA1) -// Separate rendering for opaque and transparent volumes -#define ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING (1 && ENABLE_1_42_0_ALPHA1) //==================== // 1.42.0.alpha2 techs diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index f08e8fcd42b..a96731e46a8 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -541,9 +541,7 @@ int GLVolumeCollection::load_object_volume( color[2] = 1.0f; } color[3] = model_volume->is_model_part() ? 1.f : 0.5f; */ -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING color[3] = model_volume->is_model_part() ? 1.f : 0.5f; -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING this->volumes.emplace_back(new GLVolume(color)); GLVolume &v = *this->volumes.back(); v.set_color_from_model_volume(model_volume); @@ -687,7 +685,6 @@ int GLVolumeCollection::load_wipe_tower_preview( return int(this->volumes.size() - 1); } -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING typedef std::pair GLVolumeWithZ; typedef std::vector GLVolumesWithZList; static GLVolumesWithZList volumes_to_render(const GLVolumePtrs& volumes, GLVolumeCollection::ERenderType type, std::function filter_func) @@ -724,18 +721,13 @@ static GLVolumesWithZList volumes_to_render(const GLVolumePtrs& volumes, GLVolum } void GLVolumeCollection::render_VBOs(GLVolumeCollection::ERenderType type, bool disable_cullface, std::function filter_func) const -#else -void GLVolumeCollection::render_VBOs() const -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING { ::glEnable(GL_BLEND); ::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); ::glCullFace(GL_BACK); -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING if (disable_cullface) ::glDisable(GL_CULL_FACE); -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING ::glEnableClientState(GL_VERTEX_ARRAY); ::glEnableClientState(GL_NORMAL_ARRAY); @@ -758,19 +750,11 @@ void GLVolumeCollection::render_VBOs() const if (z_range_id != -1) ::glUniform2fv(z_range_id, 1, (const GLfloat*)z_range); -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING GLVolumesWithZList to_render = volumes_to_render(this->volumes, type, filter_func); for (GLVolumeWithZ& volume : to_render) { volume.first->set_render_color(); volume.first->render_VBOs(color_id, print_box_detection_id, print_box_worldmatrix_id); } -#else - for (GLVolume *volume : this->volumes) - if (! filter_func || filter_func(*volume)) { - volume->set_render_color(); - volume->render_VBOs(color_id, print_box_detection_id, print_box_worldmatrix_id); - } -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING ::glBindBuffer(GL_ARRAY_BUFFER, 0); ::glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); @@ -778,54 +762,36 @@ void GLVolumeCollection::render_VBOs() const ::glDisableClientState(GL_VERTEX_ARRAY); ::glDisableClientState(GL_NORMAL_ARRAY); -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING if (disable_cullface) ::glEnable(GL_CULL_FACE); -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING ::glDisable(GL_BLEND); } -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING void GLVolumeCollection::render_legacy(ERenderType type, bool disable_cullface) const -#else -void GLVolumeCollection::render_legacy() const -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glCullFace(GL_BACK); -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING if (disable_cullface) ::glDisable(GL_CULL_FACE); -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_NORMAL_ARRAY); -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING GLVolumesWithZList to_render = volumes_to_render(this->volumes, type, std::function()); for (GLVolumeWithZ& volume : to_render) { volume.first->set_render_color(); volume.first->render_legacy(); } -#else - for (GLVolume *volume : this->volumes) - { - volume->set_render_color(); - volume->render_legacy(); - } -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_NORMAL_ARRAY); -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING if (disable_cullface) ::glEnable(GL_CULL_FACE); -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING glDisable(GL_BLEND); } diff --git a/src/slic3r/GUI/3DScene.hpp b/src/slic3r/GUI/3DScene.hpp index dd713dd4179..e9340bd6e24 100644 --- a/src/slic3r/GUI/3DScene.hpp +++ b/src/slic3r/GUI/3DScene.hpp @@ -388,7 +388,6 @@ typedef std::vector GLVolumePtrs; class GLVolumeCollection { -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING public: enum ERenderType : unsigned char { @@ -398,7 +397,6 @@ class GLVolumeCollection }; private: -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING // min and max vertex of the print box volume float print_box_min[3]; float print_box_max[3]; @@ -442,13 +440,8 @@ class GLVolumeCollection int obj_idx, float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool use_VBOs, bool size_unknown, float brim_width); // Render the volumes by OpenGL. -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING void render_VBOs(ERenderType type, bool disable_cullface, std::function filter_func = std::function()) const; void render_legacy(ERenderType type, bool disable_cullface) const; -#else - void render_VBOs() const; - void render_legacy() const; -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING // Finalize the initialization of the geometry & indices, // upload the geometry and indices to OpenGL VBO objects diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 5f8d879cb17..1599b1d4acc 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -4275,13 +4275,9 @@ void GLCanvas3D::render() ::glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); _render_background(); -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING // textured bed needs to be rendered after objects if the texture is transparent bool early_bed_render = is_custom_bed || (theta <= 90.0f); if (early_bed_render) -#else - if (is_custom_bed) // untextured bed needs to be rendered before objects -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING _render_bed(theta); _render_objects(); @@ -4290,11 +4286,7 @@ void GLCanvas3D::render() _render_axes(); -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING if (!early_bed_render) -#else - if (!is_custom_bed) // textured bed needs to be rendered after objects -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING _render_bed(theta); #if ENABLE_RENDER_SELECTION_CENTER @@ -6224,10 +6216,6 @@ void GLCanvas3D::_render_objects() const m_volumes.set_print_box((float)bed_bb.min(0), (float)bed_bb.min(1), 0.0f, (float)bed_bb.max(0), (float)bed_bb.max(1), (float)m_config->opt_float("max_print_height")); m_volumes.check_outside_state(m_config, nullptr); } -#if !ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - // do not cull backfaces to show broken geometry, if any - ::glDisable(GL_CULL_FACE); -#endif // !ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING } if (m_use_clipping_planes) @@ -6236,7 +6224,6 @@ void GLCanvas3D::_render_objects() const m_volumes.set_z_range(-FLT_MAX, FLT_MAX); m_shader.start_using(); -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING if (m_picking_enabled && m_layers_editing.is_enabled() && m_layers_editing.last_object_id != -1) { int object_id = m_layers_editing.last_object_id; m_volumes.render_VBOs(GLVolumeCollection::Opaque, false, [object_id](const GLVolume &volume) { @@ -6250,15 +6237,7 @@ void GLCanvas3D::_render_objects() const m_volumes.render_VBOs(GLVolumeCollection::Opaque, m_picking_enabled); } m_volumes.render_VBOs(GLVolumeCollection::Transparent, false); -#else - m_volumes.render_VBOs(); -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING m_shader.stop_using(); - -#if !ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - if (m_picking_enabled) - ::glEnable(GL_CULL_FACE); -#endif // !ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING } else { @@ -6270,24 +6249,9 @@ void GLCanvas3D::_render_objects() const ::glEnable(GL_CLIP_PLANE1); } -#if !ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - // do not cull backfaces to show broken geometry, if any - if (m_picking_enabled) - ::glDisable(GL_CULL_FACE); -#endif // !ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - -#if ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING // do not cull backfaces to show broken geometry, if any m_volumes.render_legacy(GLVolumeCollection::Opaque, m_picking_enabled); m_volumes.render_legacy(GLVolumeCollection::Transparent, false); -#else - m_volumes.render_legacy(); -#endif // ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - -#if !ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING - if (m_picking_enabled) - ::glEnable(GL_CULL_FACE); -#endif // !ENABLE_IMPROVED_TRANSPARENT_VOLUMES_RENDERING if (m_use_clipping_planes) { From 528546b6c8a00205344133621bf1ec4e2ce70419 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Mon, 21 Jan 2019 12:53:30 +0100 Subject: [PATCH 130/189] Place on bed should now correctly process instance mirror and respect transformations on subvolumes --- src/slic3r/GUI/GLCanvas3D.cpp | 9 ++++++--- src/slic3r/GUI/GLGizmo.cpp | 11 ++++------- src/slic3r/GUI/GLGizmo.hpp | 1 + 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 24998cd60b6..cec47c664bd 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1784,11 +1784,14 @@ void GLCanvas3D::Selection::flattening_rotate(const Vec3d& normal) for (unsigned int i : m_list) { - Transform3d wst = m_cache.volumes_data[i].get_instance_scale_matrix() * m_cache.volumes_data[i].get_volume_scale_matrix(); + Transform3d wst = m_cache.volumes_data[i].get_instance_scale_matrix(); Vec3d scaling_factor = Vec3d(1./wst(0,0), 1./wst(1,1), 1./wst(2,2)); - Vec3d rotation = Geometry::extract_euler_angles(m_cache.volumes_data[i].get_instance_rotation_matrix() * m_cache.volumes_data[i].get_volume_rotation_matrix()); - Vec3d transformed_normal = Geometry::assemble_transform(Vec3d::Zero(), rotation, scaling_factor) * normal; + Transform3d wmt = m_cache.volumes_data[i].get_instance_mirror_matrix(); + Vec3d mirror(wmt(0,0), wmt(1,1), wmt(2,2)); + + Vec3d rotation = Geometry::extract_euler_angles(m_cache.volumes_data[i].get_instance_rotation_matrix()); + Vec3d transformed_normal = Geometry::assemble_transform(Vec3d::Zero(), rotation, scaling_factor, mirror) * normal; transformed_normal.normalize(); Vec3d axis = transformed_normal(2) > 0.999f ? Vec3d(1., 0., 0.) : Vec3d(transformed_normal.cross(Vec3d(0., 0., -1.))); diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index 2ea7e677e4f..1f37b7aec69 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -1526,10 +1526,9 @@ void GLGizmoFlatten::update_planes() vol_ch.transform(vol->get_matrix()); ch.merge(vol_ch); } - ch = ch.convex_hull_3d(); m_planes.clear(); - const Transform3d& inst_matrix = m_model_object->instances.front()->get_matrix(); + const Transform3d& inst_matrix = m_model_object->instances.front()->get_matrix(true); // Following constants are used for discarding too small polygons. const float minimal_area = 5.f; // in square mm (world coordinates) @@ -1696,10 +1695,6 @@ void GLGizmoFlatten::update_planes() // Transform back to 3D (and also back to mesh coordinates) polygon = transform(polygon, inst_matrix.inverse() * m.inverse()); - - // make sure the points are in correct order: - if ( ((inst_matrix.inverse() * m.inverse()) * Vec3d(0., 0., 1.)).dot(normal) > 0.) - std::reverse(polygon.begin(),polygon.end()); } // We'll sort the planes by area and only keep the 254 largest ones (because of the picking pass limitations): @@ -1714,6 +1709,7 @@ void GLGizmoFlatten::update_planes() m_volumes_types.push_back(vol->type()); } m_first_instance_scale = m_model_object->instances.front()->get_scaling_factor(); + m_first_instance_mirror = m_model_object->instances.front()->get_mirror(); } @@ -1726,7 +1722,8 @@ bool GLGizmoFlatten::is_plane_update_necessary() const return true; // We want to recalculate when the scale changes - some planes could (dis)appear. - if (! m_model_object->instances.front()->get_scaling_factor().isApprox(m_first_instance_scale)) + if (! m_model_object->instances.front()->get_scaling_factor().isApprox(m_first_instance_scale) + || ! m_model_object->instances.front()->get_mirror().isApprox(m_first_instance_mirror)) return true; for (unsigned int i=0; i < m_model_object->volumes.size(); ++i) diff --git a/src/slic3r/GUI/GLGizmo.hpp b/src/slic3r/GUI/GLGizmo.hpp index ddd57b6455a..02b637a355e 100644 --- a/src/slic3r/GUI/GLGizmo.hpp +++ b/src/slic3r/GUI/GLGizmo.hpp @@ -405,6 +405,7 @@ class GLGizmoFlatten : public GLGizmoBase std::vector m_volumes_matrices; std::vector m_volumes_types; Vec3d m_first_instance_scale; + Vec3d m_first_instance_mirror; std::vector m_planes; mutable Vec3d m_starting_center; From ed1aad9de4196640bd7382fe9e275b5f23fd129d Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Mon, 21 Jan 2019 14:05:04 +0100 Subject: [PATCH 131/189] PURGING FINISHED gcode comment only emitted on layers where some purging was happening --- src/libslic3r/GCode.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 4d314004d68..67264b16ffe 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -1589,9 +1589,11 @@ void GCode::process_layer( auto objects_by_extruder_it = by_extruder.find(extruder_id); if (objects_by_extruder_it == by_extruder.end()) continue; + // We are almost ready to print. However, we must go through all the objects twice to print the the overridden extrusions first (infill/perimeter wiping feature): - for (int print_wipe_extrusions=const_cast(layer_tools).wiping_extrusions().is_anything_overridden(); print_wipe_extrusions>=0; --print_wipe_extrusions) { - if (print_wipe_extrusions == 0) + bool is_anything_overridden = const_cast(layer_tools).wiping_extrusions().is_anything_overridden(); + for (int print_wipe_extrusions = is_anything_overridden; print_wipe_extrusions>=0; --print_wipe_extrusions) { + if (is_anything_overridden && print_wipe_extrusions == 0) gcode+="; PURGING FINISHED\n"; for (ObjectByExtruder &object_by_extruder : objects_by_extruder_it->second) { @@ -1628,7 +1630,7 @@ void GCode::process_layer( m_layer = layers[layer_id].layer(); } for (ObjectByExtruder::Island &island : object_by_extruder.islands) { - const auto& by_region_specific = const_cast(layer_tools).wiping_extrusions().is_anything_overridden() ? island.by_region_per_copy(copy_id, extruder_id, print_wipe_extrusions) : island.by_region; + const auto& by_region_specific = is_anything_overridden ? island.by_region_per_copy(copy_id, extruder_id, print_wipe_extrusions) : island.by_region; if (print.config().infill_first) { gcode += this->extrude_infill(print, by_region_specific); From 412ae2865d9eaecf8134c96914c7eb04df4067db Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 21 Jan 2019 14:41:59 +0100 Subject: [PATCH 132/189] Fixed rendering of layer editing texture --- src/slic3r/GUI/GLCanvas3D.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index cec47c664bd..669418c0a6b 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1046,10 +1046,6 @@ void GLCanvas3D::LayersEditing::_render_active_object_annotations(const GLCanvas ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); ::glBindTexture(GL_TEXTURE_2D, m_z_texture_id); - ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); - ::glTexImage2D(GL_TEXTURE_2D, 1, GL_RGBA, half_w, half_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); - ::glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, m_layers_texture.data.data()); - ::glTexSubImage2D(GL_TEXTURE_2D, 1, 0, 0, half_w, half_h, GL_RGBA, GL_UNSIGNED_BYTE, m_layers_texture.data.data() + m_layers_texture.width * m_layers_texture.height * 4); // Render the color bar float l = bar_rect.get_left(); @@ -1058,6 +1054,7 @@ void GLCanvas3D::LayersEditing::_render_active_object_annotations(const GLCanvas float b = bar_rect.get_bottom(); ::glBegin(GL_QUADS); + ::glNormal3f(0.0f, 0.0f, 1.0f); ::glVertex3f(l, b, 0.0f); ::glVertex3f(r, b, 0.0f); ::glVertex3f(r, t, m_object_max_z); From b3d7bf1c1e5b042d94ff20682de2da6bf8426932 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Fri, 11 Jan 2019 18:09:21 +0100 Subject: [PATCH 133/189] Fix window geometry persistence #1557 --- src/slic3r/GUI/GUI.cpp | 1 + src/slic3r/GUI/GUI_App.cpp | 109 ++++++++++++++++++++++------------- src/slic3r/GUI/GUI_App.hpp | 10 ++-- src/slic3r/GUI/GUI_Utils.cpp | 19 ++++-- src/slic3r/GUI/GUI_Utils.hpp | 5 +- src/slic3r/GUI/MainFrame.cpp | 21 ++----- 6 files changed, 100 insertions(+), 65 deletions(-) diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index bb5ab29e0d4..bccf211eff9 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -348,6 +348,7 @@ bool get_current_screen_size(wxWindow *window, unsigned &width, unsigned &height return true; } +// XXX: remove these void save_window_size(wxTopLevelWindow *window, const std::string &name) { const wxSize size = window->GetSize(); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 9618aaf005a..861312f82b7 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -143,7 +143,6 @@ bool GUI_App::OnInit() init_fonts(); // application frame - std::cerr << "Creating main frame..." << std::endl; if (wxImage::FindHandler(wxBITMAP_TYPE_PNG) == nullptr) wxImage::AddHandler(new wxPNGHandler()); mainframe = new MainFrame(); @@ -370,6 +369,33 @@ void GUI_App::update_ui_from_settings() mainframe->update_ui_from_settings(); } +void GUI_App::persist_window_geometry(wxTopLevelWindow *window) +{ + const std::string name = into_u8(window->GetName()); + + window->Bind(wxEVT_CLOSE_WINDOW, [=](wxCloseEvent &event) { + window_pos_save(window, name); + event.Skip(); + }); + + window_pos_restore(window, name); +#ifdef _WIN32 + // On windows, the wxEVT_SHOW is not received if the window is created maximized + // cf. https://groups.google.com/forum/#!topic/wx-users/c7ntMt6piRI + // so we sanitize the position right away + window_pos_sanitize(window); +#else + // On other platforms on the other hand it's needed to wait before the window is actually on screen + // and some initial round of events is complete otherwise position / display index is not reported correctly. + window->Bind(wxEVT_SHOW, [=](wxShowEvent &event) { + CallAfter([=]() { + window_pos_sanitize(window); + }); + event.Skip(); + }); +#endif +} + void GUI_App::load_project(wxWindow *parent, wxString& input_file) { input_file.Clear(); @@ -404,45 +430,6 @@ void GUI_App::CallAfter(std::function cb) callback_register.unlock(); } -void GUI_App::window_pos_save(wxTopLevelWindow* window, const std::string &name) -{ - if (name.empty()) { return; } - const auto config_key = (boost::format("window_%1%") % name).str(); - - WindowMetrics metrics = WindowMetrics::from_window(window); - app_config->set(config_key, metrics.serialize()); - app_config->save(); -} - -void GUI_App::window_pos_restore(wxTopLevelWindow* window, const std::string &name) -{ - if (name.empty()) { return; } - const auto config_key = (boost::format("window_%1%") % name).str(); - - if (! app_config->has(config_key)) { return; } - - auto metrics = WindowMetrics::deserialize(app_config->get(config_key)); - if (! metrics) { return; } - - window->SetSize(metrics->get_rect()); - window->Maximize(metrics->get_maximized()); -} - -void GUI_App::window_pos_sanitize(wxTopLevelWindow* window) -{ - const auto display_idx = wxDisplay::GetFromWindow(window); - if (display_idx == wxNOT_FOUND) { return; } - - const auto display = wxDisplay(display_idx).GetClientArea(); - - auto metrics = WindowMetrics::from_window(window); - - metrics.sanitize_for_display(display); - if (window->GetScreenRect() != metrics.get_rect()) { - window->SetSize(metrics.get_rect()); - } -} - // select language from the list of installed languages bool GUI_App::select_language( wxArrayString & names, wxArrayLong & identifiers) @@ -789,6 +776,48 @@ wxNotebook* GUI_App::tab_panel() const return mainframe->m_tabpanel; } +void GUI_App::window_pos_save(wxTopLevelWindow* window, const std::string &name) +{ + if (name.empty()) { return; } + const auto config_key = (boost::format("window_%1%") % name).str(); + + WindowMetrics metrics = WindowMetrics::from_window(window); + app_config->set(config_key, metrics.serialize()); + app_config->save(); +} + +void GUI_App::window_pos_restore(wxTopLevelWindow* window, const std::string &name) +{ + if (name.empty()) { return; } + const auto config_key = (boost::format("window_%1%") % name).str(); + + if (! app_config->has(config_key)) { return; } + + auto metrics = WindowMetrics::deserialize(app_config->get(config_key)); + if (! metrics) { return; } + + window->SetSize(metrics->get_rect()); + window->Maximize(metrics->get_maximized()); +} + +void GUI_App::window_pos_sanitize(wxTopLevelWindow* window) +{ + unsigned display_idx = wxDisplay::GetFromWindow(window); + wxRect display; + if (display_idx == wxNOT_FOUND) { + display = wxDisplay(0u).GetClientArea(); + window->Move(display.GetTopLeft()); + } else { + display = wxDisplay(display_idx).GetClientArea(); + } + + auto metrics = WindowMetrics::from_window(window); + metrics.sanitize_for_display(display); + if (window->GetScreenRect() != metrics.get_rect()) { + window->SetSize(metrics.get_rect()); + } +} + // static method accepting a wxWindow object as first parameter // void warning_catcher{ // my($self, $message_dialog) = @_; diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index a0e20d7d404..6d81b37956f 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -121,13 +121,11 @@ class GUI_App : public wxApp // wxMessageDialog* message_dialog, const std::string& err); // void notify(/*message*/); + + void persist_window_geometry(wxTopLevelWindow *window); void update_ui_from_settings(); void CallAfter(std::function cb); - void window_pos_save(wxTopLevelWindow* window, const std::string &name); - void window_pos_restore(wxTopLevelWindow* window, const std::string &name); - void window_pos_sanitize(wxTopLevelWindow* window); - bool select_language(wxArrayString & names, wxArrayLong & identifiers); bool load_language(); void save_language(); @@ -172,6 +170,10 @@ class GUI_App : public wxApp PrintHostJobQueue& printhost_job_queue() { return *m_printhost_job_queue.get(); } +private: + void window_pos_save(wxTopLevelWindow* window, const std::string &name); + void window_pos_restore(wxTopLevelWindow* window, const std::string &name); + void window_pos_sanitize(wxTopLevelWindow* window); }; DECLARE_APP(GUI_App) diff --git a/src/slic3r/GUI/GUI_Utils.cpp b/src/slic3r/GUI/GUI_Utils.cpp index 43b3c38f71d..db02644590d 100644 --- a/src/slic3r/GUI/GUI_Utils.cpp +++ b/src/slic3r/GUI/GUI_Utils.cpp @@ -120,19 +120,28 @@ boost::optional WindowMetrics::deserialize(const std::string &str void WindowMetrics::sanitize_for_display(const wxRect &screen_rect) { rect = rect.Intersect(screen_rect); + + // Prevent the window from going too far towards the right and/or bottom edge + // It's hardcoded here that the threshold is 80% of the screen size + rect.x = std::min(rect.x, screen_rect.x + 4*screen_rect.width/5); + rect.y = std::min(rect.y, screen_rect.y + 4*screen_rect.height/5); } -std::string WindowMetrics::serialize() +std::string WindowMetrics::serialize() const { return (boost::format("%1%; %2%; %3%; %4%; %5%") - % rect.GetX() - % rect.GetY() - % rect.GetWidth() - % rect.GetHeight() + % rect.x + % rect.y + % rect.width + % rect.height % static_cast(maximized) ).str(); } +std::ostream& operator<<(std::ostream &os, const WindowMetrics& metrics) +{ + return os << '(' << metrics.serialize() << ')'; +} } diff --git a/src/slic3r/GUI/GUI_Utils.hpp b/src/slic3r/GUI/GUI_Utils.hpp index 256d4725382..8ca4d9383ff 100644 --- a/src/slic3r/GUI/GUI_Utils.hpp +++ b/src/slic3r/GUI/GUI_Utils.hpp @@ -3,6 +3,7 @@ #include #include +#include #include @@ -149,9 +150,11 @@ class WindowMetrics bool get_maximized() const { return maximized; } void sanitize_for_display(const wxRect &screen_rect); - std::string serialize(); + std::string serialize() const; }; +std::ostream& operator<<(std::ostream &os, const WindowMetrics& metrics); + }} diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 326d59c5e08..8192de17e92 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -31,7 +31,7 @@ namespace Slic3r { namespace GUI { MainFrame::MainFrame() : -wxFrame(NULL, wxID_ANY, SLIC3R_BUILD, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE), +wxFrame(NULL, wxID_ANY, SLIC3R_BUILD, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, "mainframe"), m_printhost_queue_dlg(new PrintHostQueueDialog(this)) { // Load the icon either from the exe, or from the ico file. @@ -80,8 +80,7 @@ wxFrame(NULL, wxID_ANY, SLIC3R_BUILD, wxDefaultPosition, wxDefaultSize, wxDEFAUL event.Veto(); return; } - // save window size - wxGetApp().window_pos_save(this, "mainframe"); + // Save the slic3r.ini.Usually the ini file is saved from "on idle" callback, // but in rare cases it may not have been called yet. wxGetApp().app_config->save(); @@ -93,18 +92,9 @@ wxFrame(NULL, wxID_ANY, SLIC3R_BUILD, wxDefaultPosition, wxDefaultSize, wxDEFAUL event.Skip(); }); - // NB: Restoring the window position is done in a two-phase manner here, - // first the saved position is restored as-is and validation is done after the window is shown - // and initial round of events is complete, because on some platforms that is the only way - // to get an accurate window position & size. - wxGetApp().window_pos_restore(this, "mainframe"); - Bind(wxEVT_SHOW, [this](wxShowEvent&) { - CallAfter([this]() { - wxGetApp().window_pos_sanitize(this); - }); - }); + wxGetApp().persist_window_geometry(this); - update_ui_from_settings(); + update_ui_from_settings(); // FIXME (?) } void MainFrame::init_tabpanel() @@ -447,7 +437,8 @@ void MainFrame::init_menubar() SetMenuBar(menubar); #ifdef __APPLE__ - // This fixes a bug (?) on Mac OS where the quit command doesn't emit window close events + // This fixes a bug on Mac OS where the quit command doesn't emit window close events + // wx bug: https://trac.wxwidgets.org/ticket/18328 wxMenu *apple_menu = menubar->OSXGetAppleMenu(); if (apple_menu != nullptr) { apple_menu->Bind(wxEVT_MENU, [this](wxCommandEvent &) { From 984b1bc1c16f24fe3cf9300582f027df3d6948f9 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 17 Jan 2019 17:41:07 +0100 Subject: [PATCH 134/189] GUI_App: Remove custom CallAfter --- src/slic3r/GUI/GUI_App.cpp | 29 ----------------------------- src/slic3r/GUI/GUI_App.hpp | 6 ------ 2 files changed, 35 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 861312f82b7..9991fee751d 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -164,27 +164,8 @@ bool GUI_App::OnInit() // to correct later layouts }); - // This makes CallAfter() work Bind(wxEVT_IDLE, [this](wxIdleEvent& event) { - std::function cur_cb{ nullptr }; - // try to get the mutex. If we can't, just skip this idle event and get the next one. - if (!callback_register.try_lock()) return; - // pop callback - if (m_cb.size() != 0) { - cur_cb = m_cb.top(); - m_cb.pop(); - } - // unlock mutex - this->callback_register.unlock(); - - try { // call the function if it's not nullptr; - if (cur_cb != nullptr) cur_cb(); - } - catch (std::exception& e) { - std::cerr << "Exception thrown: " << e.what() << std::endl; - } - if (app_config->dirty()) app_config->save(); @@ -420,16 +401,6 @@ void GUI_App::import_model(wxWindow *parent, wxArrayString& input_files) dialog.GetPaths(input_files); } -void GUI_App::CallAfter(std::function cb) -{ - // set mutex - callback_register.lock(); - // push function onto stack - m_cb.emplace(cb); - // unset mutex - callback_register.unlock(); -} - // select language from the list of installed languages bool GUI_App::select_language( wxArrayString & names, wxArrayLong & identifiers) diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index 6d81b37956f..c398c449eaa 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -73,11 +73,6 @@ class GUI_App : public wxApp { bool app_conf_exists{ false }; - // Lock to guard the callback stack - std::mutex callback_register; - // callbacks registered to run during idle event. - std::stack> m_cb{}; - wxColour m_color_label_modified; wxColour m_color_label_sys; wxColour m_color_label_default; @@ -124,7 +119,6 @@ class GUI_App : public wxApp void persist_window_geometry(wxTopLevelWindow *window); void update_ui_from_settings(); - void CallAfter(std::function cb); bool select_language(wxArrayString & names, wxArrayLong & identifiers); bool load_language(); From 0d9f26f10b2ceaa9be326859012f55e0a323588b Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 17 Jan 2019 18:06:47 +0100 Subject: [PATCH 135/189] GUI: Remove old window size persistence code --- src/slic3r/GUI/GUI.cpp | 45 ------------------------------------------ src/slic3r/GUI/GUI.hpp | 5 ----- 2 files changed, 50 deletions(-) diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index bccf211eff9..0ff4ed161ab 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -348,51 +348,6 @@ bool get_current_screen_size(wxWindow *window, unsigned &width, unsigned &height return true; } -// XXX: remove these -void save_window_size(wxTopLevelWindow *window, const std::string &name) -{ - const wxSize size = window->GetSize(); - const wxPoint pos = window->GetPosition(); - const auto maximized = window->IsMaximized() ? "1" : "0"; - - get_app_config()->set((boost::format("window_%1%_size") % name).str(), (boost::format("%1%;%2%") % size.GetWidth() % size.GetHeight()).str()); - get_app_config()->set((boost::format("window_%1%_maximized") % name).str(), maximized); -} - -void restore_window_size(wxTopLevelWindow *window, const std::string &name) -{ - // XXX: This still doesn't behave nicely in some situations (mostly on Linux). - // The problem is that it's hard to obtain window position with respect to screen geometry reliably - // from wxWidgets. Sometimes wxWidgets claim a window is located on a different screen than on which - // it's actually visible. I suspect this has something to do with window initialization (maybe we - // restore window geometry too early), but haven't yet found a workaround. - - const auto display_idx = wxDisplay::GetFromWindow(window); - if (display_idx == wxNOT_FOUND) { return; } - - const auto display = wxDisplay(display_idx).GetClientArea(); - std::vector pair; - - try { - const auto key_size = (boost::format("window_%1%_size") % name).str(); - if (get_app_config()->has(key_size)) { - if (unescape_strings_cstyle(get_app_config()->get(key_size), pair) && pair.size() == 2) { - auto width = boost::lexical_cast(pair[0]); - auto height = boost::lexical_cast(pair[1]); - - window->SetSize(width, height); - } - } - } catch(const boost::bad_lexical_cast &) {} - - // Maximizing should be the last thing to do. - // This ensure the size and position are sane when the user un-maximizes the window. - const auto key_maximized = (boost::format("window_%1%_maximized") % name).str(); - if (get_app_config()->get(key_maximized) == "1") { - window->Maximize(true); - } -} - void about() { AboutDialog dlg; diff --git a/src/slic3r/GUI/GUI.hpp b/src/slic3r/GUI/GUI.hpp index 79b21b503ec..e33be8f58ca 100644 --- a/src/slic3r/GUI/GUI.hpp +++ b/src/slic3r/GUI/GUI.hpp @@ -70,11 +70,6 @@ boost::filesystem::path into_path(const wxString &str); // Returns the dimensions of the screen on which the main frame is displayed bool get_current_screen_size(wxWindow *window, unsigned &width, unsigned &height); -// Save window size and maximized status into AppConfig -void save_window_size(wxTopLevelWindow *window, const std::string &name); -// Restore the above -void restore_window_size(wxTopLevelWindow *window, const std::string &name); - // Display an About dialog extern void about(); // Ask the destop to open the datadir using the default file explorer. From 1685a30ee0601ca97647bfa69e74b82898b2be29 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Mon, 21 Jan 2019 15:03:20 +0100 Subject: [PATCH 136/189] Added static asserts on classes initialized by memset to make sure it is possible to do --- src/libslic3r/Fill/FillBase.hpp | 1 + src/libslic3r/Slicing.hpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/libslic3r/Fill/FillBase.hpp b/src/libslic3r/Fill/FillBase.hpp index b67d14339bb..5ff6d4a313f 100644 --- a/src/libslic3r/Fill/FillBase.hpp +++ b/src/libslic3r/Fill/FillBase.hpp @@ -38,6 +38,7 @@ struct FillParams // in this case we don't try to make more continuous paths bool complete; }; +static_assert(std::is_trivially_copyable::value, "FillParams class is not POD (and it should be - see constructor)."); class Fill { diff --git a/src/libslic3r/Slicing.hpp b/src/libslic3r/Slicing.hpp index 395fedc9f51..bd3bf7c0bd6 100644 --- a/src/libslic3r/Slicing.hpp +++ b/src/libslic3r/Slicing.hpp @@ -6,6 +6,7 @@ #include #include #include +#include #include "libslic3r.h" namespace Slic3r @@ -91,6 +92,8 @@ struct SlicingParameters coordf_t object_print_z_min; coordf_t object_print_z_max; }; +static_assert(std::is_trivially_copyable::value, "SlicingParameters class is not POD (and it should be - see constructor)."); + // The two slicing parameters lead to the same layering as long as the variable layer thickness is not in action. inline bool equal_layering(const SlicingParameters &sp1, const SlicingParameters &sp2) From fe8a149fb4d84aa5882daeabab22be736cd35789 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 21 Jan 2019 15:40:41 +0100 Subject: [PATCH 137/189] Fix of SPE-765 Suppress the dialog closing by clicking on a logo. --- src/slic3r/GUI/AboutDialog.cpp | 2 +- src/slic3r/GUI/SysInfoDialog.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/AboutDialog.cpp b/src/slic3r/GUI/AboutDialog.cpp index a4bb6c814a5..08c8839c7e0 100644 --- a/src/slic3r/GUI/AboutDialog.cpp +++ b/src/slic3r/GUI/AboutDialog.cpp @@ -115,7 +115,7 @@ AboutDialog::AboutDialog() vsizer->Add(buttons, 0, wxEXPAND | wxRIGHT | wxBOTTOM, 3); // this->Bind(wxEVT_LEFT_DOWN, &AboutDialog::onCloseDialog, this); - logo->Bind(wxEVT_LEFT_DOWN, &AboutDialog::onCloseDialog, this); +// logo->Bind(wxEVT_LEFT_DOWN, &AboutDialog::onCloseDialog, this); SetSizer(main_sizer); main_sizer->SetSizeHints(this); diff --git a/src/slic3r/GUI/SysInfoDialog.cpp b/src/slic3r/GUI/SysInfoDialog.cpp index 5da74b4bb9d..fd8ab5f934b 100644 --- a/src/slic3r/GUI/SysInfoDialog.cpp +++ b/src/slic3r/GUI/SysInfoDialog.cpp @@ -121,7 +121,7 @@ SysInfoDialog::SysInfoDialog() main_sizer->Add(buttons, 0, wxEXPAND | wxRIGHT | wxBOTTOM, 3); // this->Bind(wxEVT_LEFT_DOWN, &SysInfoDialog::onCloseDialog, this); - logo->Bind(wxEVT_LEFT_DOWN, &SysInfoDialog::onCloseDialog, this); +// logo->Bind(wxEVT_LEFT_DOWN, &SysInfoDialog::onCloseDialog, this); SetSizer(main_sizer); main_sizer->SetSizeHints(this); From 5dafad38161154b822fd79891311ed839f11920c Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 21 Jan 2019 15:42:33 +0100 Subject: [PATCH 138/189] Fix of SPE-777 Added a flag to optimize the checking if the volume is splittable --- src/libslic3r/Model.hpp | 9 +++++++++ src/slic3r/GUI/GUI_ObjectList.cpp | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index 477b64b7353..d707c858337 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -315,6 +315,9 @@ class ModelVolume : public ModelBase // Extruder ID is only valid for FFF. Returns -1 for SLA or if the extruder ID is not applicable (support volumes). int extruder_id() const; + void set_splittable(const int val) { m_is_splittable = val; } + int is_splittable() const { return m_is_splittable; } + // Split this volume, append the result to the object owning this volume. // Return the number of volumes created from this one. // This is useful to assign different materials to different volumes of an object. @@ -387,6 +390,12 @@ class ModelVolume : public ModelBase TriangleMesh m_convex_hull; Geometry::Transformation m_transformation; + // flag to optimize the checking if the volume is splittable + // -1 -> is unknown value (before first cheking) + // 0 -> is not splittable + // 1 -> is splittable + int m_is_splittable {-1}; + ModelVolume(ModelObject *object, const TriangleMesh &mesh) : mesh(mesh), m_type(MODEL_PART), object(object) { if (mesh.stl.stats.number_of_facets > 1) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 24aa5e45ca6..3426fd02a48 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -1105,10 +1105,14 @@ bool ObjectList::is_splittable() if (!get_volume_by_item(item, volume) || !volume) return false; + if (volume->is_splittable() != -1) // if is_splittable value is already known + return volume->is_splittable() == 0 ? false : true; + TriangleMeshPtrs meshptrs = volume->mesh.split(); bool splittable = meshptrs.size() > 1; for (TriangleMesh* m : meshptrs) { delete m; } + volume->set_splittable(splittable ? 1 : 0); return splittable; } From ceb08d6380ea8bc64516dae55e896c8b8b67836e Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 21 Jan 2019 17:02:16 +0100 Subject: [PATCH 139/189] Variable layer height editing: Smarter updates of the SlicingParameters (update on ScheduleBackgroundProcessing or on object selection change) --- src/slic3r/GUI/GLCanvas3D.cpp | 64 ++++++++++++++--------------------- src/slic3r/GUI/GLCanvas3D.hpp | 6 +++- src/slic3r/GUI/Plater.cpp | 9 +++-- 3 files changed, 36 insertions(+), 43 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 24998cd60b6..e92a0cf11f1 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -821,7 +821,7 @@ GLCanvas3D::LayersEditing::LayersEditing() , m_z_texture_id(0) , m_model_object(nullptr) , m_object_max_z(0.f) - , m_slicing_parameters(new SlicingParameters) + , m_slicing_parameters(nullptr) , m_layer_height_profile_modified(false) , state(Unknown) , band_width(2.0f) @@ -861,13 +861,16 @@ bool GLCanvas3D::LayersEditing::init(const std::string& vertex_shader_filename, void GLCanvas3D::LayersEditing::select_object(const Model &model, int object_id) { - m_model_object = (object_id >= 0) ? model.objects[object_id] : nullptr; - m_object_max_z = (m_model_object == nullptr) ? 0.f : m_model_object->bounding_box().max.z(); - if (m_model_object == nullptr || this->last_object_id != object_id) { + const ModelObject *model_object_new = (object_id >= 0) ? model.objects[object_id] : nullptr; + if (model_object_new == nullptr || this->last_object_id != object_id || m_model_object != model_object_new || m_model_object->id() != model_object_new->id()) { m_layer_height_profile.clear(); m_layer_height_profile_modified = false; + delete m_slicing_parameters; + m_slicing_parameters = nullptr; } this->last_object_id = object_id; + m_model_object = model_object_new; + m_object_max_z = (m_model_object == nullptr) ? 0.f : m_model_object->bounding_box().max.z(); } bool GLCanvas3D::LayersEditing::is_allowed() const @@ -1072,49 +1075,24 @@ void GLCanvas3D::LayersEditing::_render_profile(const Rect& bar_rect) const { //FIXME show some kind of legend. - // Get a maximum layer height value. - //FIXME This is a duplicate code of Slicing.cpp. - double layer_height_max = DBL_MAX; - const std::vector& nozzle_diameters = dynamic_cast(m_config->option("nozzle_diameter"))->values; - const std::vector& layer_heights_min = dynamic_cast(m_config->option("min_layer_height"))->values; - const std::vector& layer_heights_max = dynamic_cast(m_config->option("max_layer_height"))->values; - for (unsigned int i = 0; i < (unsigned int)nozzle_diameters.size(); ++i) - { - double lh_min = (layer_heights_min[i] == 0.0) ? 0.07 : std::max(0.01, layer_heights_min[i]); - double lh_max = (layer_heights_max[i] == 0.0) ? (0.75 * nozzle_diameters[i]) : layer_heights_max[i]; - layer_height_max = std::min(layer_height_max, std::max(lh_min, lh_max)); - } - // Make the vertical bar a bit wider so the layer height curve does not touch the edge of the bar region. - layer_height_max *= 1.12; - - // Get global layer height. - double layer_height = dynamic_cast(m_config->option("layer_height"))->value; - // Override the global layer height with object's layer height if set. - const ConfigOption *opt_object_layer_height = m_model_object->config.option("layer_height"); - if (opt_object_layer_height != nullptr) - layer_height = dynamic_cast(opt_object_layer_height)->value; - float l = bar_rect.get_left(); - float w = bar_rect.get_right() - l; - float b = bar_rect.get_bottom(); - float t = bar_rect.get_top(); - float h = t - b; - float scale_x = w / (float)layer_height_max; - float scale_y = h / m_object_max_z; - float x = l + (float)layer_height * scale_x; + assert(m_slicing_parameters != nullptr); + float scale_x = bar_rect.get_width() / (float)(1.12 * m_slicing_parameters->max_layer_height); + float scale_y = bar_rect.get_height() / m_object_max_z; + float x = bar_rect.get_left() + (float)m_slicing_parameters->layer_height * scale_x; // Baseline ::glColor3f(0.0f, 0.0f, 0.0f); ::glBegin(GL_LINE_STRIP); - ::glVertex2f(x, b); - ::glVertex2f(x, t); + ::glVertex2f(x, bar_rect.get_bottom()); + ::glVertex2f(x, bar_rect.get_top()); ::glEnd(); // Curve ::glColor3f(0.0f, 0.0f, 1.0f); ::glBegin(GL_LINE_STRIP); for (unsigned int i = 0; i < m_layer_height_profile.size(); i += 2) - ::glVertex2f(l + (float)m_layer_height_profile[i + 1] * scale_x, b + (float)m_layer_height_profile[i] * scale_y); + ::glVertex2f(bar_rect.get_left() + (float)m_layer_height_profile[i + 1] * scale_x, bar_rect.get_bottom() + (float)m_layer_height_profile[i] * scale_y); ::glEnd(); } @@ -1188,7 +1166,7 @@ void GLCanvas3D::LayersEditing::render_volumes(const GLCanvas3D& canvas, const G void GLCanvas3D::LayersEditing::adjust_layer_height_profile() { - *m_slicing_parameters = PrintObject::slicing_parameters(*m_config, *m_model_object); + this->update_slicing_parameters(); PrintObject::update_layer_height_profile(*m_model_object, *m_slicing_parameters, m_layer_height_profile); Slic3r::adjust_layer_height_profile(*m_slicing_parameters, m_layer_height_profile, this->last_z, this->strength, this->band_width, this->last_action); m_layer_height_profile_modified = true; @@ -1197,9 +1175,9 @@ void GLCanvas3D::LayersEditing::adjust_layer_height_profile() void GLCanvas3D::LayersEditing::generate_layer_height_texture() { - // Always try to update the layer height profile. + this->update_slicing_parameters(); + // Always try to update the layer height profile. bool update = ! m_layers_texture.valid; - *m_slicing_parameters = PrintObject::slicing_parameters(*m_config, *m_model_object); if (PrintObject::update_layer_height_profile(*m_model_object, *m_slicing_parameters, m_layer_height_profile)) { // Initialized to the default value. m_layer_height_profile_modified = false; @@ -1236,6 +1214,14 @@ void GLCanvas3D::LayersEditing::accept_changes(GLCanvas3D& canvas) m_layer_height_profile_modified = false; } +void GLCanvas3D::LayersEditing::update_slicing_parameters() +{ + if (m_slicing_parameters == nullptr) { + m_slicing_parameters = new SlicingParameters(); + *m_slicing_parameters = PrintObject::slicing_parameters(*m_config, *m_model_object); + } +} + const Point GLCanvas3D::Mouse::Drag::Invalid_2D_Point(INT_MAX, INT_MAX); const Vec3d GLCanvas3D::Mouse::Drag::Invalid_3D_Point(DBL_MAX, DBL_MAX, DBL_MAX); #if ENABLE_MOVE_MIN_THRESHOLD diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 6c6ea9af85b..fb1f49ad143 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -89,6 +89,9 @@ class Rect float get_bottom() const; void set_bottom(float bottom); + + float get_width() const { return m_right - m_left; } + float get_height() const { return m_top - m_bottom; } }; wxDECLARE_EVENT(EVT_GLCANVAS_OBJECT_SELECT, SimpleEvent); @@ -343,7 +346,7 @@ class GLCanvas3D ~LayersEditing(); bool init(const std::string& vertex_shader_filename, const std::string& fragment_shader_filename); - void set_config(const DynamicPrintConfig* config) { m_config = config; } + void set_config(const DynamicPrintConfig* config) { m_config = config; delete m_slicing_parameters; m_slicing_parameters = nullptr; } void select_object(const Model &model, int object_id); bool is_allowed() const; @@ -375,6 +378,7 @@ class GLCanvas3D void _render_reset_texture(const Rect& reset_rect) const; void _render_active_object_annotations(const GLCanvas3D& canvas, const Rect& bar_rect) const; void _render_profile(const Rect& bar_rect) const; + void update_slicing_parameters(); }; struct Mouse diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index ab23a124dd0..cd928eed101 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1089,9 +1089,10 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) "printhost_apikey", "printhost_cafile", "nozzle_diameter", "single_extruder_multi_material", "wipe_tower", "wipe_tower_x", "wipe_tower_y", "wipe_tower_width", "wipe_tower_rotation_angle", "extruder_colour", "filament_colour", "max_print_height", "printer_model", "printer_technology", - // The following three layer height config values are passed here for View3D::m_canvas to receive - // layer height updates for the layer height. - "min_layer_height", "max_layer_height", "layer_height", "first_layer_height" + // These values are necessary to construct SlicingParameters by the Canvas3D variable layer height editor. + "layer_height", "first_layer_height", "min_layer_height", "max_layer_height", + "brim_width", "perimeters", "perimeter_extruder", "fill_density", "infill_extruder", "top_solid_layers", "bottom_solid_layers", "solid_infill_extruder", + "support_material", "support_material_extruder", "support_material_interface_extruder", "support_material_contact_distance", "raft_layers" })) , sidebar(new Sidebar(q)) , delayed_scene_refresh(false) @@ -1856,6 +1857,8 @@ void Plater::priv::schedule_background_process() { // Trigger the timer event after 0.5s this->background_process_timer.Start(500, wxTIMER_ONE_SHOT); + // Notify the Canvas3D that something has changed, so it may invalidate some of the layer editing stuff. + this->view3D->get_canvas3d()->set_config(this->config); } void Plater::priv::update_print_volume_state() From bd80304f393919d485382424cd07a8bfb6a535e1 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 21 Jan 2019 17:51:37 +0100 Subject: [PATCH 140/189] Added missing headers. --- src/libslic3r/Fill/FillBase.hpp | 2 ++ src/libslic3r/Slicing.hpp | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/Fill/FillBase.hpp b/src/libslic3r/Fill/FillBase.hpp index 5ff6d4a313f..77799f6faca 100644 --- a/src/libslic3r/Fill/FillBase.hpp +++ b/src/libslic3r/Fill/FillBase.hpp @@ -6,6 +6,8 @@ #include #include +#include + #include "../libslic3r.h" #include "../BoundingBox.hpp" #include "../PrintConfig.hpp" diff --git a/src/libslic3r/Slicing.hpp b/src/libslic3r/Slicing.hpp index bd3bf7c0bd6..028605fd5d9 100644 --- a/src/libslic3r/Slicing.hpp +++ b/src/libslic3r/Slicing.hpp @@ -3,10 +3,11 @@ #ifndef slic3r_Slicing_hpp_ #define slic3r_Slicing_hpp_ +#include +#include #include +#include #include -#include -#include #include "libslic3r.h" namespace Slic3r From a7c876a9bb479145e99ce881b795737c26ee8477 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 21 Jan 2019 17:36:25 +0100 Subject: [PATCH 141/189] Fix main frame window restore position on Mac #493 --- src/slic3r/GUI/MainFrame.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 8192de17e92..9c74861c939 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -70,8 +70,14 @@ wxFrame(NULL, wxID_ANY, SLIC3R_BUILD, wxDefaultPosition, wxDefaultSize, wxDEFAUL sizer->SetSizeHints(this); SetSizer(sizer); Fit(); +#ifdef __APPLE__ + // Using SetMinSize() on Mac messes up the window position in some cases + // cf. https://groups.google.com/forum/#!topic/wx-users/yUKPBBfXWO0 + SetSize(wxSize(760, 490)); +#else SetMinSize(wxSize(760, 490)); SetSize(GetMinSize()); +#endif Layout(); // declare events From d5f47cbcad3d2fa39e37d8bbafbb07f6f3b2503e Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Tue, 22 Jan 2019 10:38:14 +0100 Subject: [PATCH 142/189] Fix usage of is_trivially_copyable on older GCC --- src/libslic3r/Fill/FillBase.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libslic3r/Fill/FillBase.hpp b/src/libslic3r/Fill/FillBase.hpp index 77799f6faca..d43ac8b44bb 100644 --- a/src/libslic3r/Fill/FillBase.hpp +++ b/src/libslic3r/Fill/FillBase.hpp @@ -40,7 +40,11 @@ struct FillParams // in this case we don't try to make more continuous paths bool complete; }; +#if (!defined __GNUC__) || __GNUC__ > 4 +// Older GCCs don't have std::is_trivially_copyable +// cf. https://gcc.gnu.org/onlinedocs/gcc-4.9.4/libstdc++/manual/manual/status.html#status.iso.2011 static_assert(std::is_trivially_copyable::value, "FillParams class is not POD (and it should be - see constructor)."); +#endif class Fill { From 6937c21f4b70470aad7829771446e97d32beb96d Mon Sep 17 00:00:00 2001 From: bubnikv Date: Tue, 22 Jan 2019 12:14:26 +0100 Subject: [PATCH 143/189] Fixed updates of the variable layer height texture on config change and when the reset button on the variable layer height bar is pressed. --- src/slic3r/GUI/GLCanvas3D.cpp | 18 +++++++++++++++++- src/slic3r/GUI/GLCanvas3D.hpp | 5 +++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index a0382b38274..0bd3d26ca64 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -859,6 +859,14 @@ bool GLCanvas3D::LayersEditing::init(const std::string& vertex_shader_filename, return true; } +void GLCanvas3D::LayersEditing::set_config(const DynamicPrintConfig* config) +{ + m_config = config; + delete m_slicing_parameters; + m_slicing_parameters = nullptr; + m_layers_texture.valid = false; +} + void GLCanvas3D::LayersEditing::select_object(const Model &model, int object_id) { const ModelObject *model_object_new = (object_id >= 0) ? model.objects[object_id] : nullptr; @@ -867,6 +875,7 @@ void GLCanvas3D::LayersEditing::select_object(const Model &model, int object_id) m_layer_height_profile_modified = false; delete m_slicing_parameters; m_slicing_parameters = nullptr; + m_layers_texture.valid = false; } this->last_object_id = object_id; m_model_object = model_object_new; @@ -1170,6 +1179,13 @@ void GLCanvas3D::LayersEditing::adjust_layer_height_profile() m_layers_texture.valid = false; } +void GLCanvas3D::LayersEditing::reset_layer_height_profile() +{ + const_cast(m_model_object)->layer_height_profile.clear(); + m_layer_height_profile.clear(); + m_layers_texture.valid = false; +} + void GLCanvas3D::LayersEditing::generate_layer_height_texture() { this->update_slicing_parameters(); @@ -5101,7 +5117,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) if (evt.LeftDown()) { // A volume is selected and the mouse is inside the reset button. Reset the ModelObject's layer height profile. - m_model->objects[layer_editing_object_idx]->layer_height_profile.clear(); + m_layers_editing.reset_layer_height_profile(); // Index 2 means no editing, just wait for mouse up event. m_layers_editing.state = LayersEditing::Completed; diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index fb1f49ad143..38f02ff8fcd 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -346,7 +346,7 @@ class GLCanvas3D ~LayersEditing(); bool init(const std::string& vertex_shader_filename, const std::string& fragment_shader_filename); - void set_config(const DynamicPrintConfig* config) { m_config = config; delete m_slicing_parameters; m_slicing_parameters = nullptr; } + void set_config(const DynamicPrintConfig* config); void select_object(const Model &model, int object_id); bool is_allowed() const; @@ -358,9 +358,9 @@ class GLCanvas3D void render_overlay(const GLCanvas3D& canvas) const; void render_volumes(const GLCanvas3D& canvas, const GLVolumeCollection& volumes) const; - void generate_layer_height_texture(); void adjust_layer_height_profile(); void accept_changes(GLCanvas3D& canvas); + void reset_layer_height_profile(); static float get_cursor_z_relative(const GLCanvas3D& canvas); static bool bar_rect_contains(const GLCanvas3D& canvas, float x, float y); @@ -374,6 +374,7 @@ class GLCanvas3D private: bool _is_initialized() const; + void generate_layer_height_texture(); void _render_tooltip_texture(const GLCanvas3D& canvas, const Rect& bar_rect, const Rect& reset_rect) const; void _render_reset_texture(const Rect& reset_rect) const; void _render_active_object_annotations(const GLCanvas3D& canvas, const Rect& bar_rect) const; From a85db038be618a313df68e1df3ac33c3c6061685 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Tue, 22 Jan 2019 11:12:50 +0100 Subject: [PATCH 144/189] Fix usage of is_trivially_copyable on older GCC (for real this time) --- src/libslic3r/Fill/FillBase.hpp | 7 ++----- src/libslic3r/Slicing.hpp | 3 ++- src/libslic3r/Utils.hpp | 10 ++++++++++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/libslic3r/Fill/FillBase.hpp b/src/libslic3r/Fill/FillBase.hpp index d43ac8b44bb..8bf6c368986 100644 --- a/src/libslic3r/Fill/FillBase.hpp +++ b/src/libslic3r/Fill/FillBase.hpp @@ -11,6 +11,7 @@ #include "../libslic3r.h" #include "../BoundingBox.hpp" #include "../PrintConfig.hpp" +#include "../Utils.hpp" namespace Slic3r { @@ -40,11 +41,7 @@ struct FillParams // in this case we don't try to make more continuous paths bool complete; }; -#if (!defined __GNUC__) || __GNUC__ > 4 -// Older GCCs don't have std::is_trivially_copyable -// cf. https://gcc.gnu.org/onlinedocs/gcc-4.9.4/libstdc++/manual/manual/status.html#status.iso.2011 -static_assert(std::is_trivially_copyable::value, "FillParams class is not POD (and it should be - see constructor)."); -#endif +static_assert(IsTriviallyCopyable::value, "FillParams class is not POD (and it should be - see constructor)."); class Fill { diff --git a/src/libslic3r/Slicing.hpp b/src/libslic3r/Slicing.hpp index 028605fd5d9..09452785035 100644 --- a/src/libslic3r/Slicing.hpp +++ b/src/libslic3r/Slicing.hpp @@ -10,6 +10,7 @@ #include #include "libslic3r.h" +#include "Utils.hpp" namespace Slic3r { @@ -93,7 +94,7 @@ struct SlicingParameters coordf_t object_print_z_min; coordf_t object_print_z_max; }; -static_assert(std::is_trivially_copyable::value, "SlicingParameters class is not POD (and it should be - see constructor)."); +static_assert(IsTriviallyCopyable::value, "SlicingParameters class is not POD (and it should be - see constructor)."); // The two slicing parameters lead to the same layering as long as the variable layer thickness is not in action. diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp index cfae9edd1ae..ed12d055941 100644 --- a/src/libslic3r/Utils.hpp +++ b/src/libslic3r/Utils.hpp @@ -159,6 +159,16 @@ template size_t next_highest_power_of_2(T v, extern std::string xml_escape(std::string text); +#if defined __GNUC__ & __GNUC__ < 5 +// Older GCCs don't have std::is_trivially_copyable +// cf. https://gcc.gnu.org/onlinedocs/gcc-4.9.4/libstdc++/manual/manual/status.html#status.iso.2011 +#warning "GCC version < 5, faking std::is_trivially_copyable" +template struct IsTriviallyCopyable { static constexpr bool value = true; }; +#else +template struct IsTriviallyCopyable : public std::is_trivially_copyable {}; +#endif + + class ScopeGuard { public: From 94b5f9c567b7948a05fa47ff24af78137add6fef Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 22 Jan 2019 16:40:10 +0100 Subject: [PATCH 145/189] Implemented splitting of object instances by : - drag & drop outside of any object - set as a separated Object (context menu) --- src/slic3r/GUI/GUI_ObjectList.cpp | 71 +++++++++++++++++++++++-------- src/slic3r/GUI/GUI_ObjectList.hpp | 18 +++++--- src/slic3r/GUI/Plater.cpp | 33 +++++++++++--- src/slic3r/GUI/Plater.hpp | 1 + 4 files changed, 96 insertions(+), 27 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 3426fd02a48..2d96c35e774 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -97,7 +97,7 @@ void ObjectList::create_objects_ctrl() // temporary workaround for the correct behavior of the Scrolled sidebar panel: // 1. set a height of the list to some big value // 2. change it to the normal min value (200) after first whole App updating/layouting - SetMinSize(wxSize(-1, 1500)); // #ys_FIXME + SetMinSize(wxSize(-1, 3000)); // #ys_FIXME m_sizer = new wxBoxSizer(wxVERTICAL); m_sizer->Add(this, 1, wxGROW | wxLEFT, 20); @@ -445,13 +445,21 @@ void ObjectList::OnBeginDrag(wxDataViewEvent &event) // only allow drags for item, not containers if (multiple_selection() || GetSelection()!=item || - m_objects_model->GetParent(item) == wxDataViewItem(0) || - m_objects_model->GetItemType(item) != itVolume ) { + m_objects_model->GetParent(item) == wxDataViewItem(0)) { + event.Veto(); + return; + } + + const ItemType& type = m_objects_model->GetItemType(item); + if (!(type & (itVolume | itInstance))) { event.Veto(); return; } - m_dragged_data.init(m_objects_model->GetObjectIdByItem(item), m_objects_model->GetVolumeIdByItem(item)); + m_dragged_data.init(m_objects_model->GetObjectIdByItem(item), + type&itVolume ? m_objects_model->GetVolumeIdByItem(item) : + m_objects_model->GetInstanceIdByItem(item), + type); /* Under MSW or OSX, DnD moves an item to the place of another selected item * But under GTK, DnD moves an item between another two items. @@ -470,31 +478,41 @@ void ObjectList::OnBeginDrag(wxDataViewEvent &event) event.SetDragFlags(wxDrag_DefaultMove); // allows both copy and move; } +bool ObjectList::can_drop(const wxDataViewItem& item) const +{ + return m_dragged_data.type() == itInstance && !item.IsOk() || + m_dragged_data.type() == itVolume && item.IsOk() && + m_objects_model->GetItemType(item) == itVolume && + m_dragged_data.obj_idx() == m_objects_model->GetObjectIdByItem(item); +} + void ObjectList::OnDropPossible(wxDataViewEvent &event) { - wxDataViewItem item(event.GetItem()); + const wxDataViewItem& item = event.GetItem(); - // only allow drags for item or background, not containers - if (!item.IsOk() || - m_objects_model->GetParent(item) == wxDataViewItem(0) || - m_objects_model->GetItemType(item) != itVolume || - m_dragged_data.obj_idx() != m_objects_model->GetObjectIdByItem(item)) + if (!can_drop(item)) event.Veto(); } void ObjectList::OnDrop(wxDataViewEvent &event) { - wxDataViewItem item(event.GetItem()); + const wxDataViewItem& item = event.GetItem(); - if (!item.IsOk() || m_objects_model->GetParent(item) == wxDataViewItem(0) || - m_objects_model->GetItemType(item) != itVolume || - m_dragged_data.obj_idx() != m_objects_model->GetObjectIdByItem(item)) { + if (!can_drop(item)) + { event.Veto(); m_dragged_data.clear(); return; } - const int from_volume_id = m_dragged_data.vol_idx(); + if (m_dragged_data.type() == itInstance) + { + instance_to_separated_object(m_dragged_data.obj_idx(), m_dragged_data.sub_obj_idx()); + m_dragged_data.clear(); + return; + } + + const int from_volume_id = m_dragged_data.sub_obj_idx(); int to_volume_id = m_objects_model->GetVolumeIdByItem(item); // It looks like a fixed in current version of the wxWidgets @@ -506,7 +524,7 @@ void ObjectList::OnDrop(wxDataViewEvent &event) // if (to_volume_id > from_volume_id) to_volume_id--; // #endif // __WXGTK__ - auto& volumes = (*m_objects)[/*m_selected_object_id*/m_dragged_data.obj_idx()]->volumes; + auto& volumes = (*m_objects)[m_dragged_data.obj_idx()]->volumes; auto delta = to_volume_id < from_volume_id ? -1 : 1; int cnt = 0; for (int id = from_volume_id; cnt < abs(from_volume_id - to_volume_id); id += delta, cnt++) @@ -516,7 +534,7 @@ void ObjectList::OnDrop(wxDataViewEvent &event) m_objects_model->GetParent(item))); m_parts_changed = true; - parts_changed(/*m_selected_object_id*/m_dragged_data.obj_idx()); + parts_changed(m_dragged_data.obj_idx()); m_dragged_data.clear(); } @@ -1729,6 +1747,25 @@ void ObjectList::update_settings_items() UnselectAll(); } +void ObjectList::instance_to_separated_object(const int obj_idx, const int inst_idx) +{ + // create new object from selected instance + ModelObject* model_object = (*m_objects)[obj_idx]->get_model()->add_object(*(*m_objects)[obj_idx]); + for (int i = model_object->instances.size() - 1; i >= 0; i--) + { + if (i == inst_idx) + continue; + model_object->delete_instance(i); + } + + // Add new object to the object_list + add_object_to_list(m_objects->size() - 1); + + // delete selected instance from the object + del_subobject_from_object(obj_idx, inst_idx, itInstance); + delete_instance_from_list(obj_idx, inst_idx); +} + void ObjectList::ItemValueChanged(wxDataViewEvent &event) { if (event.GetColumn() == 0) diff --git a/src/slic3r/GUI/GUI_ObjectList.hpp b/src/slic3r/GUI/GUI_ObjectList.hpp index 7631782dfc2..21db30ad535 100644 --- a/src/slic3r/GUI/GUI_ObjectList.hpp +++ b/src/slic3r/GUI/GUI_ObjectList.hpp @@ -56,22 +56,27 @@ class ObjectList : public wxDataViewCtrl struct dragged_item_data { - void init(const int obj_idx, const int vol_idx) { + void init(const int obj_idx, const int subobj_idx, const ItemType type) { m_obj_idx = obj_idx; - m_vol_idx = vol_idx; + m_subobj_idx = subobj_idx; + m_type = type; } void clear() { m_obj_idx = -1; - m_vol_idx = -1; + m_subobj_idx = -1; + m_type = itUndef; } int obj_idx() const { return m_obj_idx; } - int vol_idx() const { return m_vol_idx; } + int sub_obj_idx() const { return m_subobj_idx; } + ItemType type() const { return m_type; } private: int m_obj_idx = -1; - int m_vol_idx = -1; + int m_subobj_idx = -1; + ItemType m_type = itUndef; + } m_dragged_data; wxBoxSizer *m_sizer {nullptr}; @@ -222,6 +227,8 @@ class ObjectList : public wxDataViewCtrl bool has_multi_part_objects(); void update_settings_items(); + void instance_to_separated_object(const int obj_idx, const int inst_idx); + private: void OnChar(wxKeyEvent& event); void OnContextMenu(wxDataViewEvent &event); @@ -229,6 +236,7 @@ class ObjectList : public wxDataViewCtrl void OnBeginDrag(wxDataViewEvent &event); void OnDropPossible(wxDataViewEvent &event); void OnDrop(wxDataViewEvent &event); + bool can_drop(const wxDataViewItem& item) const ; void ItemValueChanged(wxDataViewEvent &event); void OnEditingDone(wxDataViewEvent &event); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index da11044bccb..17f5a2a6361 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1063,6 +1063,7 @@ struct Plater::priv bool can_delete_object() const; bool can_increase_instances() const; bool can_decrease_instances() const; + bool can_set_instance_to_object() const; bool can_split_to_objects() const; bool can_split_to_volumes() const; bool can_split() const; @@ -2359,11 +2360,17 @@ bool Plater::priv::init_common_menu(wxMenu* menu, const bool is_part/* = false*/ [this](wxCommandEvent&) { q->decrease_instances(); }, "delete.png"); wxMenuItem* item_set_number_of_copies = append_menu_item(menu, wxID_ANY, _(L("Set number of copies")) + dots, _(L("Change the number of copies of the selected object")), [this](wxCommandEvent&) { q->set_number_of_copies(); }, "textfield.png"); + + menu->AppendSeparator(); + wxMenuItem* item_instance_to_object = append_menu_item(menu, wxID_ANY, _(L("Set as a Separated Object")) + dots, _(L("Set an Instance as a Separate Object")), + [this](wxCommandEvent&) { q->instance_to_separated_object(); }, ""); + if (q != nullptr) { q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_increase_instances()); }, item_increase->GetId()); q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_decrease_instances()); }, item_decrease->GetId()); q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_increase_instances()); }, item_set_number_of_copies->GetId()); + q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_set_instance_to_object()); }, item_instance_to_object->GetId()); } menu->AppendSeparator(); @@ -2426,9 +2433,9 @@ bool Plater::priv::complit_init_object_menu() // ui updates needs to be binded to the parent panel if (q != nullptr) { - q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split/*_to_objects() || can_split_to_volumes*/()); }, item_split->GetId()); - q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split/*_to_objects*/()); }, item_split_objects->GetId()); - q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split/*_to_volumes*/()); }, item_split_volumes->GetId()); + q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split()); }, item_split->GetId()); + q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split()); }, item_split_objects->GetId()); + q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split()); }, item_split_volumes->GetId()); } return true; } @@ -2447,7 +2454,7 @@ bool Plater::priv::complit_init_sla_object_menu() // ui updates needs to be binded to the parent panel if (q != nullptr) { - q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split/*_to_objects*/()); }, item_split->GetId()); + q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split()); }, item_split->GetId()); } return true; @@ -2466,7 +2473,7 @@ bool Plater::priv::complit_init_part_menu() // ui updates needs to be binded to the parent panel if (q != nullptr) { - q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split/*_to_volumes*/()); }, item_split->GetId()); + q->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_split()); }, item_split->GetId()); } return true; @@ -2534,6 +2541,12 @@ bool Plater::priv::can_increase_instances() const return (0 <= obj_idx) && (obj_idx < (int)model.objects.size()); } +bool Plater::priv::can_set_instance_to_object() const +{ + const int obj_idx = get_selected_object_idx(); + return (0 <= obj_idx) && (obj_idx < (int)model.objects.size()) && (model.objects[obj_idx]->instances.size() > 1); +} + bool Plater::priv::can_decrease_instances() const { int obj_idx = get_selected_object_idx(); @@ -2760,6 +2773,16 @@ void Plater::set_number_of_copies(/*size_t num*/) decrease_instances(-diff); } +void Plater::instance_to_separated_object() +{ + const int obj_idx = p->get_selected_object_idx(); + const int inst_idx = p->get_selection().get_instance_idx(); + if (obj_idx == -1 || inst_idx == -1) + return; + + sidebar().obj_list()->instance_to_separated_object(obj_idx, inst_idx); +} + bool Plater::is_selection_empty() const { return p->get_selection().is_empty(); diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index 7b19d6f313b..a0655ed550b 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -136,6 +136,7 @@ class Plater: public wxPanel void increase_instances(size_t num = 1); void decrease_instances(size_t num = 1); void set_number_of_copies(/*size_t num*/); + void instance_to_separated_object(); bool is_selection_empty() const; void cut(size_t obj_idx, size_t instance_idx, coordf_t z, bool keep_upper = true, bool keep_lower = true, bool rotate_lower = false); From 1ea51aeb2eae8cc51f2ddfbee3d3d310c8ccefe7 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 23 Jan 2019 09:12:22 +0100 Subject: [PATCH 146/189] Euler angles calculated as described in http://www.gregslabaugh.net/publications/euler.pdf --- src/libslic3r/Geometry.cpp | 69 ++++++++++++++------------------------ 1 file changed, 26 insertions(+), 43 deletions(-) diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index 5f1b81b899e..c84169676a2 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1182,59 +1182,42 @@ Transform3d assemble_transform(const Vec3d& translation, const Vec3d& rotation, Vec3d extract_euler_angles(const Eigen::Matrix& rotation_matrix) { #if ENABLE_NEW_EULER_ANGLES + // see: http://www.gregslabaugh.net/publications/euler.pdf auto is_approx = [](double value, double test_value) -> bool { return std::abs(value - test_value) < EPSILON; }; - bool x_only = is_approx(rotation_matrix(0, 0), 1.0) && is_approx(rotation_matrix(0, 1), 0.0) && is_approx(rotation_matrix(0, 2), 0.0) && is_approx(rotation_matrix(1, 0), 0.0) && is_approx(rotation_matrix(2, 0), 0.0); - bool y_only = is_approx(rotation_matrix(0, 1), 0.0) && is_approx(rotation_matrix(1, 0), 0.0) && is_approx(rotation_matrix(1, 1), 1.0) && is_approx(rotation_matrix(1, 2), 0.0) && is_approx(rotation_matrix(2, 1), 0.0); - bool z_only = is_approx(rotation_matrix(0, 2), 0.0) && is_approx(rotation_matrix(1, 2), 0.0) && is_approx(rotation_matrix(2, 0), 0.0) && is_approx(rotation_matrix(2, 1), 0.0) && is_approx(rotation_matrix(2, 2), 1.0); -// bool xy_only = is_approx(rotation_matrix(0, 1), 0.0); // Rx * Ry - bool yx_only = is_approx(rotation_matrix(1, 0), 0.0); // Ry * Rx -// bool xz_only = is_approx(rotation_matrix(0, 2), 0.0); // Rx * Rz -// bool zx_only = is_approx(rotation_matrix(2, 0), 0.0); // Rz * Rx -// bool yz_only = is_approx(rotation_matrix(1, 2), 0.0); // Ry * Rz -// bool zy_only = is_approx(rotation_matrix(2, 1), 0.0); // Rz * Ry - - Vec3d angles = Vec3d::Zero(); - if (x_only || y_only || z_only) + Vec3d angles1 = Vec3d::Zero(); + Vec3d angles2 = Vec3d::Zero(); + if (is_approx(std::abs(rotation_matrix(2, 0)), 1.0)) { - angles = rotation_matrix.eulerAngles(0, 1, 2); - if (x_only && (std::abs(angles(1)) == (double)PI) && (std::abs(angles(2)) == (double)PI)) + angles1(2) = 0.0; + if (rotation_matrix(2, 0) > 0.0) // == +1.0 { - angles(0) -= (double)PI; - angles(1) = 0.0; - angles(2) = 0.0; + angles1(1) = -0.5 * (double)PI; + angles1(0) = -angles1(2) + ::atan2(-rotation_matrix(0, 1), -rotation_matrix(0, 2)); } + else // == -1.0 + { + angles1(1) = 0.5 * (double)PI; + angles1(0) = angles1(2) + ::atan2(rotation_matrix(0, 1), rotation_matrix(0, 2)); + } + angles2 = angles1; } else { - double cy_abs = ::sqrt(sqr(rotation_matrix(0, 0)) + sqr(rotation_matrix(1, 0))); - angles(0) = ::atan2(rotation_matrix(2, 1), rotation_matrix(2, 2)); - angles(1) = ::atan2(-rotation_matrix(2, 0), cy_abs); - angles(2) = ::atan2(rotation_matrix(1, 0), rotation_matrix(0, 0)); - if (yx_only && (angles(2) == (double)PI)) - { - angles(0) -= (double)PI; - angles(1) = (double)PI - angles(1); - angles(2) = 0.0; - } + angles1(1) = -::asin(rotation_matrix(2, 0)); + double inv_cos1 = 1.0 / ::cos(angles1(1)); + angles1(0) = ::atan2(rotation_matrix(2, 1) * inv_cos1, rotation_matrix(2, 2) * inv_cos1); + angles1(2) = ::atan2(rotation_matrix(1, 0) * inv_cos1, rotation_matrix(0, 0) * inv_cos1); + + angles2(1) = (double)PI - angles1(1); + double inv_cos2 = 1.0 / ::cos(angles2(1)); + angles2(0) = ::atan2(rotation_matrix(2, 1) * inv_cos2, rotation_matrix(2, 2) * inv_cos2); + angles2(2) = ::atan2(rotation_matrix(1, 0) * inv_cos2, rotation_matrix(0, 0) * inv_cos2); } -// // debug check -// Geometry::Transformation t; -// t.set_rotation(angles); -// if (!t.get_matrix().matrix().block(0, 0, 3, 3).isApprox(rotation_matrix)) -// { -// std::cout << "something went wrong in extracting euler angles from matrix" << std::endl; -// -//// Eigen::Matrix m = t.get_matrix().matrix().block(0, 0, 3, 3); -//// for (int r = 0; r < 3; ++r) -//// { -//// for (int c = 0; c < 3; ++c) -//// { -//// std::cout << r << ", " << c << ": " << m(r, c) << " - " << rotation_matrix(r, c) << std::endl; -//// } -//// } -// } + // The following euristic seems to work fine, but there may be use cases were it does not + // We'll need to modify it if/when we'll meet such use cases + Vec3d angles = (angles1.cwiseAbs().minCoeff() <= angles2.cwiseAbs().minCoeff()) ? angles1 : angles2; #else auto y_only = [](const Eigen::Matrix& matrix) -> bool { return (matrix(0, 1) == 0.0) && (matrix(1, 0) == 0.0) && (matrix(1, 1) == 1.0) && (matrix(1, 2) == 0.0) && (matrix(2, 1) == 0.0); From bf0232308b5b8584ec036ba1626b0539f93f9e3b Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 23 Jan 2019 09:29:50 +0100 Subject: [PATCH 147/189] Place on face - fix of updating on selection change --- src/slic3r/GUI/GLGizmo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index 1f37b7aec69..d45dbf2ed83 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -1511,7 +1511,7 @@ void GLGizmoFlatten::set_flattening_data(const ModelObject* model_object) bool object_changed = m_model_object != model_object; m_model_object = model_object; - if (object_changed && is_plane_update_necessary()) + if (object_changed || is_plane_update_necessary()) update_planes(); } From 78a9e6036ac767fa3772bf1d81b843ec88b48b19 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 23 Jan 2019 09:42:04 +0100 Subject: [PATCH 148/189] Fix of previous commit --- src/slic3r/GUI/GLGizmo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index d45dbf2ed83..7efb8786c60 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -1511,7 +1511,7 @@ void GLGizmoFlatten::set_flattening_data(const ModelObject* model_object) bool object_changed = m_model_object != model_object; m_model_object = model_object; - if (object_changed || is_plane_update_necessary()) + if (model_object && (object_changed || is_plane_update_necessary())) update_planes(); } From fde299bf808347aa1748b503c71039bce9ee5e5d Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Tue, 22 Jan 2019 17:52:14 +0100 Subject: [PATCH 149/189] I18N: wx 3.0 back-compat for translations with context, fix #1694 --- src/slic3r/GUI/I18N.hpp | 20 +++++++++++++++++++- src/slic3r/GUI/OptionsGroup.cpp | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/I18N.hpp b/src/slic3r/GUI/I18N.hpp index c86ff7501cc..a899eaa59df 100644 --- a/src/slic3r/GUI/I18N.hpp +++ b/src/slic3r/GUI/I18N.hpp @@ -2,6 +2,10 @@ #define _(s) Slic3r::GUI::I18N::translate((s)) #endif /* _ */ +#ifndef _CTX +#define _CTX(s, ctx) Slic3r::GUI::I18N::translate((s), (ctx)) +#endif /* _ */ + #ifndef L // !!! If you needed to translate some wxString, // !!! please use _(L(string)) @@ -21,6 +25,7 @@ #define slic3r_GUI_I18N_hpp_ #include +#include namespace Slic3r { namespace GUI { @@ -29,7 +34,20 @@ namespace I18N { inline wxString translate(const wchar_t *s) { return wxGetTranslation(s); } inline wxString translate(const std::string &s) { return wxGetTranslation(wxString(s.c_str(), wxConvUTF8)); } inline wxString translate(const std::wstring &s) { return wxGetTranslation(s.c_str()); } -} + +#if wxCHECK_VERSION(3, 1, 1) + #define _wxGetTranslation_ctx(S, CTX) wxGetTranslation((S), wxEmptyString, (CTX)) +#else + #define _wxGetTranslation_ctx(S, CTX) ((void)(CTX), wxGetTranslation((S))) +#endif + + inline wxString translate(const char *s, const char* ctx) { return _wxGetTranslation_ctx(wxString(s, wxConvUTF8), ctx); } + inline wxString translate(const wchar_t *s, const char* ctx) { return _wxGetTranslation_ctx(s, ctx); } + inline wxString translate(const std::string &s, const char* ctx) { return _wxGetTranslation_ctx(wxString(s.c_str(), wxConvUTF8), ctx); } + inline wxString translate(const std::wstring &s, const char* ctx) { return _wxGetTranslation_ctx(s.c_str(), ctx); } + +#undef _wxGetTranslation_ctx +} // Return translated std::string as a wxString wxString L_str(const std::string &str); diff --git a/src/slic3r/GUI/OptionsGroup.cpp b/src/slic3r/GUI/OptionsGroup.cpp index 4952398f301..78bbe4fecf7 100644 --- a/src/slic3r/GUI/OptionsGroup.cpp +++ b/src/slic3r/GUI/OptionsGroup.cpp @@ -234,7 +234,7 @@ void OptionsGroup::append_line(const Line& line, wxStaticText** full_Label/* = n // wxString str_label = _(option.label); //! To correct translation by context have to use wxGETTEXT_IN_CONTEXT macro from wxWidget 3.1.1 wxString str_label = (option.label == "Top" || option.label == "Bottom") ? - wxGETTEXT_IN_CONTEXT("Layers", wxString(option.label)) : + _CTX(option.label, "Layers") : _(option.label); label = new wxStaticText(parent(), wxID_ANY, str_label + ":", wxDefaultPosition, wxDefaultSize); label->SetFont(label_font); From cc9cf7f39e2fed77b6b5f76c8225afee873e11ab Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 23 Jan 2019 11:08:18 +0100 Subject: [PATCH 150/189] Fixed unselected instance synchronization when rotating using rotate gizmo --- src/libslic3r/Geometry.cpp | 17 ++++++----------- src/slic3r/GUI/GLCanvas3D.cpp | 4 ++-- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index c84169676a2..db64f97a7fc 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1189,17 +1189,12 @@ Vec3d extract_euler_angles(const Eigen::Matrix& Vec3d angles2 = Vec3d::Zero(); if (is_approx(std::abs(rotation_matrix(2, 0)), 1.0)) { - angles1(2) = 0.0; - if (rotation_matrix(2, 0) > 0.0) // == +1.0 - { - angles1(1) = -0.5 * (double)PI; - angles1(0) = -angles1(2) + ::atan2(-rotation_matrix(0, 1), -rotation_matrix(0, 2)); - } - else // == -1.0 - { - angles1(1) = 0.5 * (double)PI; - angles1(0) = angles1(2) + ::atan2(rotation_matrix(0, 1), rotation_matrix(0, 2)); - } + // the handling of singular cases deviates from the cited paper + // the following code works better when rotating an object with the gizmo after having + // changed its orientation using the place on bed gizmo + angles1(0) = 0.0; + angles1(1) = 0.5 * (double)PI; + angles1(2) = angles1(0) + ::atan2(rotation_matrix(0, 1), rotation_matrix(0, 2)); angles2 = angles1; } else diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 42899b96b78..47da5574a39 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2408,7 +2408,7 @@ void GLCanvas3D::Selection::_update_type() void GLCanvas3D::Selection::_set_caches() { m_cache.volumes_data.clear(); - for (unsigned int i : m_list) + for (unsigned int i = 0; i < (unsigned int)m_volumes->size(); ++i) { const GLVolume* v = (*m_volumes)[i]; m_cache.volumes_data.emplace(i, VolumeCache(v->get_volume_transformation(), v->get_instance_transformation())); @@ -2699,7 +2699,7 @@ void GLCanvas3D::Selection::_synchronize_unselected_instances(bool including_z) if ((v->object_idx() != object_idx) || (v->instance_idx() == instance_idx)) continue; - v->set_instance_rotation(Vec3d(rotation(0), rotation(1), including_z ? rotation(2) : v->get_instance_rotation()(2))); + v->set_instance_rotation(Vec3d(rotation(0), rotation(1), including_z ? rotation(2) : m_cache.volumes_data[j].get_instance_rotation()(2) + rotation(2))); v->set_instance_scaling_factor(scaling_factor); v->set_instance_mirror(mirror); From fbf5460ac24d47ef9d00237d1756f4e23673df65 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 23 Jan 2019 11:38:13 +0100 Subject: [PATCH 151/189] Fixed gizmo update when selecting objects using the sidebar table --- src/slic3r/GUI/GLCanvas3D.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 0bd3d26ca64..82f4fd4f736 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -5822,6 +5822,7 @@ void GLCanvas3D::set_camera_zoom(float zoom) void GLCanvas3D::update_gizmos_on_off_state() { set_as_dirty(); + _update_gizmos_data(); m_gizmos.update_on_off_state(get_selection()); } From d5b354c053854ed1f109af437bf1a09b4850b1c6 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 23 Jan 2019 12:45:58 +0100 Subject: [PATCH 152/189] Apply anisotropic filtering to bed textures --- src/libslic3r/Technologies.hpp | 2 ++ src/slic3r/GUI/GLCanvas3D.cpp | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 05bb076165d..75913ad1e9b 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -62,3 +62,5 @@ #define ENABLE_GENERIC_SUBPARTS_PLACEMENT (1 && ENABLE_1_42_0_ALPHA4) // Reworked management of bed shape changes #define ENABLE_REWORKED_BED_SHAPE_CHANGE (1 && ENABLE_1_42_0_ALPHA4) +// Use anisotropic filtering on bed plate texture +#define ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES (1 && ENABLE_1_42_0_ALPHA4) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 82f4fd4f736..012c3191d33 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -545,6 +545,11 @@ void GLCanvas3D::Bed::_render_prusa(const std::string &key, float theta) const std::string model_path = resources_dir() + "/models/" + key; #endif // ENABLE_PRINT_BED_MODELS +#if ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES + GLfloat max_anisotropy = 0.0f; + ::glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &max_anisotropy); +#endif // ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES + std::string filename = tex_path + "_top.png"; if ((m_top_texture.get_id() == 0) || (m_top_texture.get_source() != filename)) { @@ -553,6 +558,14 @@ void GLCanvas3D::Bed::_render_prusa(const std::string &key, float theta) const _render_custom(); return; } +#if ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES + if (max_anisotropy > 0.0f) + { + ::glBindTexture(GL_TEXTURE_2D, m_top_texture.get_id()); + ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, max_anisotropy); + ::glBindTexture(GL_TEXTURE_2D, 0); + } +#endif // ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES } filename = tex_path + "_bottom.png"; @@ -563,6 +576,14 @@ void GLCanvas3D::Bed::_render_prusa(const std::string &key, float theta) const _render_custom(); return; } +#if ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES + if (max_anisotropy > 0.0f) + { + ::glBindTexture(GL_TEXTURE_2D, m_bottom_texture.get_id()); + ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, max_anisotropy); + ::glBindTexture(GL_TEXTURE_2D, 0); + } +#endif // ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES } #if ENABLE_PRINT_BED_MODELS From 0af11c51e38089da839942ab2d1fd442bfb0e8b2 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 23 Jan 2019 14:00:03 +0100 Subject: [PATCH 153/189] Fixed update on reset of the variable layer height profile. Fixed update of the layer height profile on PrintObject when changing profiles. Fixed crash due to the layer height editing refactoring & wipe tower. --- src/libslic3r/Print.cpp | 91 ++++++++++++++++++++-------------- src/libslic3r/Print.hpp | 6 +-- src/libslic3r/PrintObject.cpp | 11 ++-- src/libslic3r/TriangleMesh.cpp | 18 +++++++ src/slic3r/GUI/GLCanvas3D.cpp | 5 +- src/slic3r/GUI/GLCanvas3D.hpp | 2 +- 6 files changed, 82 insertions(+), 51 deletions(-) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index acaba9d6a68..1ef6c7b84ff 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1125,7 +1125,7 @@ std::string Print::validate() const // Check horizontal clearance. { Polygons convex_hulls_other; - for (PrintObject *object : m_objects) { + for (const PrintObject *object : m_objects) { // Get convex hull of all meshes assigned to this print object. Polygon convex_hull; { @@ -1186,46 +1186,63 @@ std::string Print::validate() const return L("The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter and Repetier G-code flavors."); if (! m_config.use_relative_e_distances) return L("The Wipe Tower is currently only supported with the relative extruder addressing (use_relative_e_distances=1)."); - SlicingParameters slicing_params0 = m_objects.front()->slicing_parameters(); - const PrintObject* tallest_object = m_objects.front(); // let's find the tallest object - for (const auto* object : m_objects) - if (*(object->layer_height_profile.end()-2) > *(tallest_object->layer_height_profile.end()-2) ) - tallest_object = object; + if (m_objects.size() > 1) { + bool has_custom_layering = false; + std::vector> layer_height_profiles; + for (const PrintObject *object : m_objects) { + has_custom_layering = ! object->model_object()->layer_height_ranges.empty() || ! object->model_object()->layer_height_profile.empty(); + if (has_custom_layering) { + layer_height_profiles.assign(m_objects.size(), std::vector()); + break; + } + } + SlicingParameters slicing_params0 = m_objects.front()->slicing_parameters(); + size_t tallest_object_idx = 0; + if (has_custom_layering) + PrintObject::update_layer_height_profile(*m_objects.front()->model_object(), slicing_params0, layer_height_profiles.front()); + for (size_t i = 1; i < m_objects.size(); ++ i) { + const PrintObject *object = m_objects[i]; + const SlicingParameters slicing_params = object->slicing_parameters(); + if (std::abs(slicing_params.first_print_layer_height - slicing_params0.first_print_layer_height) > EPSILON || + std::abs(slicing_params.layer_height - slicing_params0.layer_height ) > EPSILON) + return L("The Wipe Tower is only supported for multiple objects if they have equal layer heigths"); + if (slicing_params.raft_layers() != slicing_params0.raft_layers()) + return L("The Wipe Tower is only supported for multiple objects if they are printed over an equal number of raft layers"); + if (object->config().support_material_contact_distance != m_objects.front()->config().support_material_contact_distance) + return L("The Wipe Tower is only supported for multiple objects if they are printed with the same support_material_contact_distance"); + if (! equal_layering(slicing_params, slicing_params0)) + return L("The Wipe Tower is only supported for multiple objects if they are sliced equally."); + if (has_custom_layering) { + PrintObject::update_layer_height_profile(*object->model_object(), slicing_params, layer_height_profiles[i]); + if (*(layer_height_profiles[i].end()-2) > *(layer_height_profiles[tallest_object_idx].end()-2)) + tallest_object_idx = i; + } + } - for (PrintObject *object : m_objects) { - SlicingParameters slicing_params = object->slicing_parameters(); - if (std::abs(slicing_params.first_print_layer_height - slicing_params0.first_print_layer_height) > EPSILON || - std::abs(slicing_params.layer_height - slicing_params0.layer_height ) > EPSILON) - return L("The Wipe Tower is only supported for multiple objects if they have equal layer heigths"); - if (slicing_params.raft_layers() != slicing_params0.raft_layers()) - return L("The Wipe Tower is only supported for multiple objects if they are printed over an equal number of raft layers"); - if (object->config().support_material_contact_distance != m_objects.front()->config().support_material_contact_distance) - return L("The Wipe Tower is only supported for multiple objects if they are printed with the same support_material_contact_distance"); - if (! equal_layering(slicing_params, slicing_params0)) - return L("The Wipe Tower is only supported for multiple objects if they are sliced equally."); - - if (m_config.variable_layer_height) { // comparing layer height profiles - bool failed = false; - // layer_height_profile should be set by Print::apply(). - if (tallest_object->layer_height_profile.size() >= object->layer_height_profile.size()) { - int i = 0; - while (i < object->layer_height_profile.size() && i < tallest_object->layer_height_profile.size()) { - if (std::abs(tallest_object->layer_height_profile[i] - object->layer_height_profile[i])) { - failed = true; - break; + if (has_custom_layering) { + const std::vector &layer_height_profile_tallest = layer_height_profiles[tallest_object_idx]; + for (size_t idx_object = 0; idx_object < m_objects.size(); ++ idx_object) { + const PrintObject *object = m_objects[idx_object]; + const std::vector &layer_height_profile = layer_height_profiles[idx_object]; + bool failed = false; + if (layer_height_profile_tallest.size() >= layer_height_profile.size()) { + int i = 0; + while (i < layer_height_profile.size() && i < layer_height_profile_tallest.size()) { + if (std::abs(layer_height_profile_tallest[i] - layer_height_profile[i])) { + failed = true; + break; + } + ++ i; + if (i == layer_height_profile.size() - 2) // this element contains this objects max z + if (layer_height_profile_tallest[i] > layer_height_profile[i]) // the difference does not matter in this case + ++ i; } - ++i; - if (i == object->layer_height_profile.size()-2) // this element contains this objects max z - if (tallest_object->layer_height_profile[i] > object->layer_height_profile[i]) // the difference does not matter in this case - ++i; - } + } else + failed = true; + if (failed) + return L("The Wipe tower is only supported if all objects have the same layer height profile"); } - else - failed = true; - - if (failed) - return L("The Wipe tower is only supported if all objects have the same layer height profile"); } } } diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index d0591e764d7..3de91818a65 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -83,10 +83,6 @@ class PrintObject : public PrintObjectBaseWithState> region_volumes; - // Profile of increasing z to a layer height, to be linearly interpolated when calculating the layers. - // The pairs of are packed into a 1D array. - std::vector layer_height_profile; - // this is set to true when LayerRegion->slices is split in top/internal/bottom // so that next call to make_perimeters() performs a union() before computing loops bool typed_slices; @@ -175,7 +171,7 @@ class PrintObject : public PrintObjectBaseWithState &layer_height_profile); std::string _fix_slicing_errors(); void _simplify_slices(double distance); void _make_perimeters(); diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 9dd10112365..d516153a92d 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -64,8 +64,6 @@ PrintObject::PrintObject(Print* print, ModelObject* model_object, bool add_insta } this->set_copies(copies); } - - this->layer_height_profile = model_object->layer_height_profile; } PrintBase::ApplyStatus PrintObject::set_copies(const Points &points) @@ -105,9 +103,10 @@ void PrintObject::slice() if (! this->set_started(posSlice)) return; m_print->set_status(10, "Processing triangulated mesh"); - this->update_layer_height_profile(*this->model_object(), this->slicing_parameters(), this->layer_height_profile); + std::vector layer_height_profile; + this->update_layer_height_profile(*this->model_object(), this->slicing_parameters(), layer_height_profile); m_print->throw_if_canceled(); - this->_slice(); + this->_slice(layer_height_profile); m_print->throw_if_canceled(); // Fix the model. //FIXME is this the right place to do? It is done repeateadly at the UI and now here at the backend. @@ -1438,7 +1437,7 @@ bool PrintObject::update_layer_height_profile(const ModelObject &model_object, c // Resulting expolygons of layer regions are marked as Internal. // // this should be idempotent -void PrintObject::_slice() +void PrintObject::_slice(const std::vector &layer_height_profile) { BOOST_LOG_TRIVIAL(info) << "Slicing objects..." << log_memory_info(); @@ -1457,7 +1456,7 @@ void PrintObject::_slice() { this->clear_layers(); // Object layers (pairs of bottom/top Z coordinate), without the raft. - std::vector object_layers = generate_object_layers(slicing_params, this->layer_height_profile); + std::vector object_layers = generate_object_layers(slicing_params, layer_height_profile); // Reserve object layers for the raft. Last layer of the raft is the contact layer. int id = int(slicing_params.raft_layers()); slice_zs.reserve(object_layers.size()); diff --git a/src/libslic3r/TriangleMesh.cpp b/src/libslic3r/TriangleMesh.cpp index 8a0a087c025..ff8c2028944 100644 --- a/src/libslic3r/TriangleMesh.cpp +++ b/src/libslic3r/TriangleMesh.cpp @@ -99,6 +99,8 @@ TriangleMesh& TriangleMesh::operator=(const TriangleMesh &other) return *this; } +// #define SLIC3R_TRACE_REPAIR + void TriangleMesh::repair() { if (this->repaired) return; @@ -109,7 +111,9 @@ void TriangleMesh::repair() BOOST_LOG_TRIVIAL(debug) << "TriangleMesh::repair() started"; // checking exact +#ifdef SLIC3R_TRACE_REPAIR BOOST_LOG_TRIVIAL(trace) << "\tstl_check_faces_exact"; +#endif /* SLIC3R_TRACE_REPAIR */ stl_check_facets_exact(&stl); stl.stats.facets_w_1_bad_edge = (stl.stats.connected_facets_2_edge - stl.stats.connected_facets_3_edge); stl.stats.facets_w_2_bad_edge = (stl.stats.connected_facets_1_edge - stl.stats.connected_facets_2_edge); @@ -124,7 +128,9 @@ void TriangleMesh::repair() for (int i = 0; i < iterations; i++) { if (stl.stats.connected_facets_3_edge < stl.stats.number_of_facets) { //printf("Checking nearby. Tolerance= %f Iteration=%d of %d...", tolerance, i + 1, iterations); +#ifdef SLIC3R_TRACE_REPAIR BOOST_LOG_TRIVIAL(trace) << "\tstl_check_faces_nearby"; +#endif /* SLIC3R_TRACE_REPAIR */ stl_check_facets_nearby(&stl, tolerance); //printf(" Fixed %d edges.\n", stl.stats.edges_fixed - last_edges_fixed); //last_edges_fixed = stl.stats.edges_fixed; @@ -137,7 +143,9 @@ void TriangleMesh::repair() // remove_unconnected if (stl.stats.connected_facets_3_edge < stl.stats.number_of_facets) { +#ifdef SLIC3R_TRACE_REPAIR BOOST_LOG_TRIVIAL(trace) << "\tstl_remove_unconnected_facets"; +#endif /* SLIC3R_TRACE_REPAIR */ stl_remove_unconnected_facets(&stl); } @@ -146,26 +154,36 @@ void TriangleMesh::repair() // Don't fill holes, the current algorithm does more harm than good on complex holes. // Rather let the slicing algorithm close gaps in 2D slices. if (stl.stats.connected_facets_3_edge < stl.stats.number_of_facets) { +#ifdef SLIC3R_TRACE_REPAIR BOOST_LOG_TRIVIAL(trace) << "\tstl_fill_holes"; +#endif /* SLIC3R_TRACE_REPAIR */ stl_fill_holes(&stl); stl_clear_error(&stl); } #endif // normal_directions +#ifdef SLIC3R_TRACE_REPAIR BOOST_LOG_TRIVIAL(trace) << "\tstl_fix_normal_directions"; +#endif /* SLIC3R_TRACE_REPAIR */ stl_fix_normal_directions(&stl); // normal_values +#ifdef SLIC3R_TRACE_REPAIR BOOST_LOG_TRIVIAL(trace) << "\tstl_fix_normal_values"; +#endif /* SLIC3R_TRACE_REPAIR */ stl_fix_normal_values(&stl); // always calculate the volume and reverse all normals if volume is negative +#ifdef SLIC3R_TRACE_REPAIR BOOST_LOG_TRIVIAL(trace) << "\tstl_calculate_volume"; +#endif /* SLIC3R_TRACE_REPAIR */ stl_calculate_volume(&stl); // neighbors +#ifdef SLIC3R_TRACE_REPAIR BOOST_LOG_TRIVIAL(trace) << "\tstl_verify_neighbors"; +#endif /* SLIC3R_TRACE_REPAIR */ stl_verify_neighbors(&stl); this->repaired = true; diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 0bd3d26ca64..6a3e3b47eb7 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1179,11 +1179,12 @@ void GLCanvas3D::LayersEditing::adjust_layer_height_profile() m_layers_texture.valid = false; } -void GLCanvas3D::LayersEditing::reset_layer_height_profile() +void GLCanvas3D::LayersEditing::reset_layer_height_profile(GLCanvas3D& canvas) { const_cast(m_model_object)->layer_height_profile.clear(); m_layer_height_profile.clear(); m_layers_texture.valid = false; + canvas.post_event(SimpleEvent(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS)); } void GLCanvas3D::LayersEditing::generate_layer_height_texture() @@ -5117,7 +5118,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) if (evt.LeftDown()) { // A volume is selected and the mouse is inside the reset button. Reset the ModelObject's layer height profile. - m_layers_editing.reset_layer_height_profile(); + m_layers_editing.reset_layer_height_profile(*this); // Index 2 means no editing, just wait for mouse up event. m_layers_editing.state = LayersEditing::Completed; diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 38f02ff8fcd..ab53d50481a 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -360,7 +360,7 @@ class GLCanvas3D void adjust_layer_height_profile(); void accept_changes(GLCanvas3D& canvas); - void reset_layer_height_profile(); + void reset_layer_height_profile(GLCanvas3D& canvas); static float get_cursor_z_relative(const GLCanvas3D& canvas); static bool bar_rect_contains(const GLCanvas3D& canvas, float x, float y); From 5ed475a7307a939e2bfc2e76a2c3e723f780b985 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 23 Jan 2019 14:22:33 +0100 Subject: [PATCH 154/189] Little optimization when creating a SLA support mesh for preview. --- src/libslic3r/SLA/SLASupportTree.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/libslic3r/SLA/SLASupportTree.cpp b/src/libslic3r/SLA/SLASupportTree.cpp index 6477010fda4..1d7858ead01 100644 --- a/src/libslic3r/SLA/SLASupportTree.cpp +++ b/src/libslic3r/SLA/SLASupportTree.cpp @@ -738,45 +738,46 @@ class SLASupportTree::Impl { const TriangleMesh& merged_mesh() const { if(meshcache_valid) return meshcache; - meshcache = TriangleMesh(); + Contour3D merged; for(auto& head : heads()) { if(m_ctl.stopcondition()) break; - if(head.is_valid()) { - auto&& m = mesh(head.mesh); - meshcache.merge(m); - } + if(head.is_valid()) + merged.merge(head.mesh); } for(auto& stick : pillars()) { if(m_ctl.stopcondition()) break; - meshcache.merge(mesh(stick.mesh)); - meshcache.merge(mesh(stick.base)); + merged.merge(stick.mesh); + merged.merge(stick.base); } for(auto& j : junctions()) { if(m_ctl.stopcondition()) break; - meshcache.merge(mesh(j.mesh)); + merged.merge(j.mesh); } for(auto& cb : compact_bridges()) { if(m_ctl.stopcondition()) break; - meshcache.merge(mesh(cb.mesh)); + merged.merge(cb.mesh); } for(auto& bs : bridges()) { if(m_ctl.stopcondition()) break; - meshcache.merge(mesh(bs.mesh)); + merged.merge(bs.mesh); } + if(m_ctl.stopcondition()) { // In case of failure we have to return an empty mesh meshcache = TriangleMesh(); return meshcache; } + meshcache = mesh(merged); + // TODO: Is this necessary? - meshcache.repair(); + //meshcache.repair(); BoundingBoxf3&& bb = meshcache.bounding_box(); model_height = bb.max(Z) - bb.min(Z); From 7c3319ede2c54f04f602c1cac46807ae83e46bd1 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 23 Jan 2019 14:27:11 +0100 Subject: [PATCH 155/189] Place on bed optimization --- src/slic3r/GUI/GLGizmo.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/GLGizmo.cpp b/src/slic3r/GUI/GLGizmo.cpp index 7efb8786c60..2eba6f741e9 100644 --- a/src/slic3r/GUI/GLGizmo.cpp +++ b/src/slic3r/GUI/GLGizmo.cpp @@ -1585,15 +1585,17 @@ void GLGizmoFlatten::update_planes() m_planes.pop_back(); } + // Let's prepare transformation of the normal vector from mesh to instance coordinates. + Geometry::Transformation t(inst_matrix); + Vec3d scaling = t.get_scaling_factor(); + t.set_scaling_factor(Vec3d(1./scaling(0), 1./scaling(1), 1./scaling(2))); + // Now we'll go through all the polygons, transform the points into xy plane to process them: for (unsigned int polygon_id=0; polygon_id < m_planes.size(); ++polygon_id) { Pointf3s& polygon = m_planes[polygon_id].vertices; const Vec3d& normal = m_planes[polygon_id].normal; - // let's transform the normal accodring to the instance matrix: - Geometry::Transformation t(inst_matrix); - Vec3d scaling = t.get_scaling_factor(); - t.set_scaling_factor(Vec3d(1./(scaling(0)*scaling(0)), 1./(scaling(0)*scaling(0)), 1./(scaling(0)*scaling(0)))); + // transform the normal according to the instance matrix: Vec3d normal_transformed = t.get_matrix() * normal; // We are going to rotate about z and y to flatten the plane From d3fa82e41b5500874d37d0e6855954a4112806af Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Wed, 23 Jan 2019 14:38:05 +0100 Subject: [PATCH 156/189] Fix assert on empty datadir --- src/slic3r/GUI/GUI_App.cpp | 2 ++ src/slic3r/GUI/MainFrame.cpp | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 9991fee751d..462f3c32865 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -194,6 +194,8 @@ bool GUI_App::OnInit() preset_updater->slic3r_update_notify(); } preset_updater->sync(preset_bundle); + + load_current_presets(); }); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 9c74861c939..46a46e950d9 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -155,7 +155,6 @@ void MainFrame::create_preset_tabs() add_created_tab(new TabSLAPrint(m_tabpanel)); add_created_tab(new TabSLAMaterial(m_tabpanel)); add_created_tab(new TabPrinter(m_tabpanel)); - GUI::wxGetApp().load_current_presets(); } void MainFrame::add_created_tab(Tab* panel) From 90235ac38654935af3b1105d83a8807c7f89b6b8 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 23 Jan 2019 15:29:18 +0100 Subject: [PATCH 157/189] Fixed layer height profile access from Perl XS --- xs/xsp/Print.xsp | 2 -- 1 file changed, 2 deletions(-) diff --git a/xs/xsp/Print.xsp b/xs/xsp/Print.xsp index aa90a3ad98d..b8662dcd820 100644 --- a/xs/xsp/Print.xsp +++ b/xs/xsp/Print.xsp @@ -49,8 +49,6 @@ _constant() Ref config() %code%{ RETVAL = &THIS->config(); %}; Points copies(); - std::vector layer_height_profile() - %code%{ RETVAL = THIS->layer_height_profile; %}; Clone bounding_box(); Points _shifted_copies() From 322b954c1c61c082eea8c7ac5fdb3729a423388a Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 23 Jan 2019 15:52:08 +0100 Subject: [PATCH 158/189] Added model for sl1 bed --- resources/models/sl1_bed.stl | Bin 0 -> 472884 bytes src/libslic3r/Technologies.hpp | 2 +- src/slic3r/GUI/GLCanvas3D.cpp | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 resources/models/sl1_bed.stl diff --git a/resources/models/sl1_bed.stl b/resources/models/sl1_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..28601b288a29535686acf800bc517a6e5777c806 GIT binary patch literal 472884 zcmb@v3Ah|pwZ7jXB4lDPAVV0$aG4Xx;LX74Cfy*DU;t?l6@e>=2>cu_Dj4K2d1Z(S ziV~Gs5HJviG$aR47lX(kLINT10{{KhuGQ<^)pdaTJpbs?_4HbAeYLCh zu=cL0R{Q_=-?I~IwT~~HmL2}wynzJ^r!|h*eROO4**|U8Y6s6baLVY`)vcd4mwn-& zIs5E1x;1~%J^AmQ_L3{6Wjnm%gna1fwP$Ke~0&hNf}RM<-^Z z_gv7uFYFaPBvv|XbZhL}Oyl9Nj?Y#ezpOhpl$->k4!vY_>$A=+0G?`QGb1KbnDz*OylGoL-g*o?0c6?YtTbt z){jTG-nFS|yl?EX?p@y%N-*lcv13}>zjS9&j{C+e>#i5da!9Bp^pM!-En`~0 zy!Xzc953v;pu5FKCT4%UCM6j4*!#w`Ubxvb&fR@Mcl`q#Pwx~%H z#-bd*y?frkI-wm-40}ZniDNbyi*j6f%k282q2$k(2u3~r(XlumGjE$+pE_xBc3L3l zAyGeKEY8Q-yDz9ee$d3MRw5X6_=RIpuRgTzg8C_kOw6)Sa(YNy@WZjFSKT$2)xZ1A z@!3m1NC`&W_sCeZkJbju>PLNRd^QwnJ3S;$etIn0$6mYE8k@9g+2)}|kzmw;qsF0~ z-#@+9IJ;5H?h7@M9un(pI1cUnlGDdGmWEb!OlapM81>aD}k3+xv(tk{D zEbGqh-Wqyp5{%mG&~X?)7H&7W@saChcV~oh&_m+ToXVB*Sjet7^S+fV9vco-~PjcCN>t&T~L3js3qnhk)Qtq?=AZFFb+1t zI9S&>$Zau7b@~&FO(TqhjW7<@H4f54LiPBU51Pi&jauU!p;cM?ux&9)ZS(YZ{;Vj+ zxK^$4>@Ky&=ZaQq9ujJguk7%%q8vl(EURyI-uT9Mik`s;MyXf&%g0UQoItGkjq#0# zi{8gPB-F3$e2!@}_gYYYIJCnHiyqDhMyYq*@>0_{bk7C#a}Jx>*yr-t@0y2%`p5N_ zo5tyP&91*^`sBvk62T~q5}&@)G-ljAyS`-F}UF{wj=vSr`ZF8V5-* zO0x{>T|4bxePCjC<}M5BcZ7bI9uk@-c)#13I5~Un*4g!LiC`4xaGiD-2eU8^)-?{& zLxS_RPP>?44%TXeIbriCjU{Gt)|V3@TK@)<`5+07k3Ee(f>GStRD&K8(zEd~)gZwr z9`#g%9un!unHM_z&ug!pn4CdIu`Z+<^pN0amzIMBqgba?4SGm$d`vY+Fp8}?)u4w& zI&#{vQY|6DDE2X_20bLwk&_xE7{$KQHFO5)A(4)p)F8nq_W7=%lG8(i<6}T5s$;(TVH$bK;US?q{l)~NRL6YvgBtXZ zP@V24RB{rGQXTWv4{FduLUsC$2}Y@o`RWHX=pmsx{l)~NRL6Yv!!%TKdPt~F_Y*pU zBp9Vy>8l^6A%Y$fs?%>wFiN%ES3jVU*@{Q4ws4MROR`01T|;)#J~DdB#QcyazCIz^ zqHL9-pP;8qC{Ij@a6U2;mc1&Sr zl&wk~HHR+Oz$^b_=y39U1{K4Gf{in3LTgcww9XS-tywz)_`gyue&(NiY0 zTAL7qWkR$?*<2(cat(UQgjSssBG(`x+oEhPk`TEDJ!L|x=LwN(kdSRrHWx{VT!Wr6 z(bqn54HB{~%H|^d8uauL;c7-gwxVn#iW(&7sUo7rJs*FhyXQ(ro)F44m6%jRd z3>tsF@cLnCkTBcI;Vbkcv|aO55mBQkdDqHegwcx9QSg-_67*CNQ6sd!Osz^9B+OP+ zel~k6UL@$LBBDl76EkU$Fk4ZomA-OEf}ScOYMk_z>Dk9tot|ruFk4Y-UA_WIf}ScO zY7{*~u0g_VMX8tYl~fY+R1s0*xDP+l{rk#CUlArjPZbe0ik>>xAYrzm z)NA|7HVJyFh^V2qp&GAqPQq+OY4p*YDz-rq^i&Z&jRDgjVYZ?)?s_?bMvtJUiijGa z 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�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 E2SFoUY5)KL literal 0 HcmV?d00001 diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 75913ad1e9b..b02def9888b 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -45,7 +45,7 @@ // Improves navigation between sidebar fields #define ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION (1 && ENABLE_1_42_0_ALPHA2) // Adds print bed models to 3D scene -#define ENABLE_PRINT_BED_MODELS (0 && ENABLE_1_42_0_ALPHA2) +#define ENABLE_PRINT_BED_MODELS (1 && ENABLE_1_42_0_ALPHA2) #endif // _technologies_h_ diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 293c88e028d..794ebf08a3a 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -591,7 +591,7 @@ void GLCanvas3D::Bed::_render_prusa(const std::string &key, float theta) const { filename = model_path + "_bed.stl"; if ((m_model.get_filename() != filename) && m_model.init_from_file(filename, useVBOs)) - m_model.center_around(m_bounding_box.center() - Vec3d(0.0, 0.0, 1.0 + 0.5 * m_model.get_bounding_box().size()(2))); + m_model.center_around(m_bounding_box.center() - Vec3d(0.0, 0.0, 0.1 + 0.5 * m_model.get_bounding_box().size()(2))); if (!m_model.get_filename().empty()) { From 8fd6194403f8522c05182051be06d8e3ec10a815 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 23 Jan 2019 16:01:37 +0100 Subject: [PATCH 159/189] Improved Instance splitting : - Added icon and context menu for Instance. - Added multiple selection and splitting for the instances (add new object with selected instances) --- src/slic3r/GUI/GLCanvas3D.cpp | 3 +- src/slic3r/GUI/GUI_ObjectList.cpp | 110 +++++++++++++++++++++++++----- src/slic3r/GUI/GUI_ObjectList.hpp | 28 ++++++-- src/slic3r/GUI/Plater.cpp | 13 +--- src/slic3r/GUI/Plater.hpp | 1 - src/slic3r/GUI/wxExtensions.cpp | 2 +- src/slic3r/GUI/wxExtensions.hpp | 1 + 7 files changed, 121 insertions(+), 37 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 794ebf08a3a..1a6c3b5b0c1 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -5273,7 +5273,8 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) if (m_volumes.volumes[m_hover_volume_id]->hover && !m_volumes.volumes[m_hover_volume_id]->is_wipe_tower) { // forces the selection of the volume - m_selection.add(m_hover_volume_id); + if (!m_selection.is_multiple_full_instance()) + m_selection.add(m_hover_volume_id); m_gizmos.update_on_off_state(m_selection); post_event(SimpleEvent(EVT_GLCANVAS_OBJECT_SELECT)); _update_gizmos_data(); diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 2d96c35e774..a880b2cbe18 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -51,6 +51,7 @@ ObjectList::ObjectList(wxWindow* parent) : create_object_popupmenu(&m_menu_object); create_part_popupmenu(&m_menu_part); create_sla_object_popupmenu(&m_menu_sla_object); + create_instance_popupmenu(&m_menu_instance); // describe control behavior Bind(wxEVT_DATAVIEW_SELECTION_CHANGED, [this](wxEvent& event) { @@ -400,15 +401,28 @@ void ObjectList::OnContextMenu(wxDataViewEvent&) void ObjectList::show_context_menu() { + if (multiple_selection() && selected_instances_of_same_object()) + { + wxGetApp().plater()->PopupMenu(&m_menu_instance); + + wxGetApp().plater()->Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { + evt.Enable(can_split_instances()); }, m_menu_item_split_instances->GetId()); + return; + } + const auto item = GetSelection(); if (item) { - if (!(m_objects_model->GetItemType(item) & (itObject | itVolume))) + const ItemType type = m_objects_model->GetItemType(item); + if (!(type & (itObject | itVolume | itInstance))) return; - wxMenu* menu = m_objects_model->GetParent(item) != wxDataViewItem(0) ? &m_menu_part : + + wxMenu* menu = type & itInstance ? &m_menu_instance : + m_objects_model->GetParent(item) != wxDataViewItem(0) ? &m_menu_part : wxGetApp().plater()->printer_technology() == ptFFF ? &m_menu_object : &m_menu_sla_object; - append_menu_item_settings(menu); + if (!(type & itInstance)) + append_menu_item_settings(menu); wxGetApp().plater()->PopupMenu(menu); @@ -443,9 +457,11 @@ void ObjectList::OnBeginDrag(wxDataViewEvent &event) { const wxDataViewItem item(event.GetItem()); - // only allow drags for item, not containers - if (multiple_selection() || GetSelection()!=item || - m_objects_model->GetParent(item) == wxDataViewItem(0)) { + const bool mult_sel = multiple_selection(); + + if (mult_sel && !selected_instances_of_same_object() || + !mult_sel && (GetSelection() != item || + m_objects_model->GetParent(item) == wxDataViewItem(0) ) ) { event.Veto(); return; } @@ -456,7 +472,17 @@ void ObjectList::OnBeginDrag(wxDataViewEvent &event) return; } - m_dragged_data.init(m_objects_model->GetObjectIdByItem(item), + if (mult_sel) + { + m_dragged_data.init(m_objects_model->GetObjectIdByItem(item),type); + std::set& sub_obj_idxs = m_dragged_data.inst_idxs(); + wxDataViewItemArray sels; + GetSelections(sels); + for (auto sel : sels ) + sub_obj_idxs.insert(m_objects_model->GetInstanceIdByItem(sel)); + } + else + m_dragged_data.init(m_objects_model->GetObjectIdByItem(item), type&itVolume ? m_objects_model->GetVolumeIdByItem(item) : m_objects_model->GetInstanceIdByItem(item), type); @@ -507,7 +533,7 @@ void ObjectList::OnDrop(wxDataViewEvent &event) if (m_dragged_data.type() == itInstance) { - instance_to_separated_object(m_dragged_data.obj_idx(), m_dragged_data.sub_obj_idx()); + instances_to_separated_object(m_dragged_data.obj_idx(), m_dragged_data.inst_idxs()); m_dragged_data.clear(); return; } @@ -759,6 +785,12 @@ wxMenuItem* ObjectList::append_menu_item_change_type(wxMenu* menu) } +wxMenuItem* ObjectList::append_menu_item_instance_to_object(wxMenu* menu) +{ + return append_menu_item(menu, wxID_ANY, _(L("Set as a Separated Object")), "", + [this](wxCommandEvent&) { split_instances(); }, "", menu); +} + void ObjectList::create_object_popupmenu(wxMenu *menu) { append_menu_items_add_volume(menu); @@ -787,6 +819,11 @@ void ObjectList::create_part_popupmenu(wxMenu *menu) menu->AppendSeparator(); } +void ObjectList::create_instance_popupmenu(wxMenu*menu) +{ + m_menu_item_split_instances = append_menu_item_instance_to_object(menu); +} + wxMenu* ObjectList::create_settings_popupmenu(wxMenu *parent_menu) { wxMenu *menu = new wxMenu; @@ -1134,6 +1171,27 @@ bool ObjectList::is_splittable() return splittable; } +bool ObjectList::selected_instances_of_same_object() +{ + wxDataViewItemArray sels; + GetSelections(sels); + + const int obj_idx = m_objects_model->GetObjectIdByItem(sels.front()); + + for (auto item : sels) { + if (! (m_objects_model->GetItemType(item) & itInstance) || + obj_idx != m_objects_model->GetObjectIdByItem(item)) + return false; + } + return true; +} + +bool ObjectList::can_split_instances() +{ + const GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); + return selection.is_multiple_full_instance() || selection.is_single_full_instance(); +} + void ObjectList::part_settings_changed() { m_part_settings_changed = true; @@ -1437,7 +1495,7 @@ bool ObjectList::multiple_selection() const void ObjectList::update_selections() { - auto& selection = wxGetApp().plater()->canvas3D()->get_selection(); + const GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); wxDataViewItemArray sels; // We doesn't update selection if SettingsItem for the current object/part is selected @@ -1523,7 +1581,7 @@ void ObjectList::update_selections() void ObjectList::update_selections_on_canvas() { - auto& selection = wxGetApp().plater()->canvas3D()->get_selection(); + GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); const int sel_cnt = GetSelectedItemsCount(); if (sel_cnt == 0) { @@ -1747,23 +1805,41 @@ void ObjectList::update_settings_items() UnselectAll(); } -void ObjectList::instance_to_separated_object(const int obj_idx, const int inst_idx) +void ObjectList::instances_to_separated_object(const int obj_idx, const std::set& inst_idxs) { // create new object from selected instance ModelObject* model_object = (*m_objects)[obj_idx]->get_model()->add_object(*(*m_objects)[obj_idx]); - for (int i = model_object->instances.size() - 1; i >= 0; i--) + for (int inst_idx = model_object->instances.size() - 1; inst_idx >= 0; inst_idx--) { - if (i == inst_idx) + if (find(inst_idxs.begin(), inst_idxs.end(), inst_idx) != inst_idxs.end()) continue; - model_object->delete_instance(i); + model_object->delete_instance(inst_idx); } // Add new object to the object_list add_object_to_list(m_objects->size() - 1); - // delete selected instance from the object - del_subobject_from_object(obj_idx, inst_idx, itInstance); - delete_instance_from_list(obj_idx, inst_idx); + for (std::set::const_reverse_iterator it = inst_idxs.rbegin(); it != inst_idxs.rend(); ++it) + { + // delete selected instance from the object + del_subobject_from_object(obj_idx, *it, itInstance); + delete_instance_from_list(obj_idx, *it); + } +} + +void ObjectList::split_instances() +{ + const GLCanvas3D::Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); + const int obj_idx = selection.get_object_idx(); + if (obj_idx == -1) + return; + + const int inst_idx = selection.get_instance_idx(); + const std::set inst_idxs = inst_idx < 0 ? + selection.get_instance_idxs() : + std::set{ inst_idx }; + + instances_to_separated_object(obj_idx, inst_idxs); } void ObjectList::ItemValueChanged(wxDataViewEvent &event) diff --git a/src/slic3r/GUI/GUI_ObjectList.hpp b/src/slic3r/GUI/GUI_ObjectList.hpp index 21db30ad535..f24eb95b002 100644 --- a/src/slic3r/GUI/GUI_ObjectList.hpp +++ b/src/slic3r/GUI/GUI_ObjectList.hpp @@ -58,23 +58,34 @@ class ObjectList : public wxDataViewCtrl { void init(const int obj_idx, const int subobj_idx, const ItemType type) { m_obj_idx = obj_idx; - m_subobj_idx = subobj_idx; + m_type = type; + if (m_type&itVolume) + m_vol_idx = subobj_idx; + else + m_inst_idxs.insert(subobj_idx); + } + + void init(const int obj_idx, const ItemType type) { + m_obj_idx = obj_idx; m_type = type; } void clear() { m_obj_idx = -1; - m_subobj_idx = -1; + m_vol_idx = -1; + m_inst_idxs.clear(); m_type = itUndef; } int obj_idx() const { return m_obj_idx; } - int sub_obj_idx() const { return m_subobj_idx; } + int sub_obj_idx() const { return m_vol_idx; } ItemType type() const { return m_type; } + std::set& inst_idxs() { return m_inst_idxs; } private: int m_obj_idx = -1; - int m_subobj_idx = -1; + int m_vol_idx = -1; + std::set m_inst_idxs{}; ItemType m_type = itUndef; } m_dragged_data; @@ -96,9 +107,11 @@ class ObjectList : public wxDataViewCtrl wxMenu m_menu_object; wxMenu m_menu_part; wxMenu m_menu_sla_object; + wxMenu m_menu_instance; wxMenuItem* m_menu_item_split { nullptr }; wxMenuItem* m_menu_item_split_part { nullptr }; wxMenuItem* m_menu_item_settings { nullptr }; + wxMenuItem* m_menu_item_split_instances { nullptr }; std::vector m_bmp_vector; @@ -153,9 +166,11 @@ class ObjectList : public wxDataViewCtrl wxMenuItem* append_menu_item_split(wxMenu* menu); wxMenuItem* append_menu_item_settings(wxMenu* menu); wxMenuItem* append_menu_item_change_type(wxMenu* menu); + wxMenuItem* append_menu_item_instance_to_object(wxMenu* menu); void create_object_popupmenu(wxMenu *menu); void create_sla_object_popupmenu(wxMenu*menu); void create_part_popupmenu(wxMenu*menu); + void create_instance_popupmenu(wxMenu*menu); wxMenu* create_settings_popupmenu(wxMenu *parent_menu); void update_opt_keys(t_config_option_keys& t_optopt_keys); @@ -171,6 +186,8 @@ class ObjectList : public wxDataViewCtrl void split(); bool get_volume_by_item(const wxDataViewItem& item, ModelVolume*& volume); bool is_splittable(); + bool selected_instances_of_same_object(); + bool can_split_instances(); wxPoint get_mouse_position_in_control(); wxBoxSizer* get_sizer() {return m_sizer;} @@ -227,7 +244,8 @@ class ObjectList : public wxDataViewCtrl bool has_multi_part_objects(); void update_settings_items(); - void instance_to_separated_object(const int obj_idx, const int inst_idx); + void instances_to_separated_object(const int obj_idx, const std::set& inst_idx); + void split_instances(); private: void OnChar(wxKeyEvent& event); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 17f5a2a6361..24471e254a3 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2362,8 +2362,7 @@ bool Plater::priv::init_common_menu(wxMenu* menu, const bool is_part/* = false*/ [this](wxCommandEvent&) { q->set_number_of_copies(); }, "textfield.png"); menu->AppendSeparator(); - wxMenuItem* item_instance_to_object = append_menu_item(menu, wxID_ANY, _(L("Set as a Separated Object")) + dots, _(L("Set an Instance as a Separate Object")), - [this](wxCommandEvent&) { q->instance_to_separated_object(); }, ""); + wxMenuItem* item_instance_to_object = sidebar->obj_list()->append_menu_item_instance_to_object(menu); if (q != nullptr) { @@ -2773,16 +2772,6 @@ void Plater::set_number_of_copies(/*size_t num*/) decrease_instances(-diff); } -void Plater::instance_to_separated_object() -{ - const int obj_idx = p->get_selected_object_idx(); - const int inst_idx = p->get_selection().get_instance_idx(); - if (obj_idx == -1 || inst_idx == -1) - return; - - sidebar().obj_list()->instance_to_separated_object(obj_idx, inst_idx); -} - bool Plater::is_selection_empty() const { return p->get_selection().is_empty(); diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index a0655ed550b..7b19d6f313b 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -136,7 +136,6 @@ class Plater: public wxPanel void increase_instances(size_t num = 1); void decrease_instances(size_t num = 1); void set_number_of_copies(/*size_t num*/); - void instance_to_separated_object(); bool is_selection_empty() const; void cut(size_t obj_idx, size_t instance_idx, coordf_t z, bool keep_upper = true, bool keep_lower = true, bool rotate_lower = false); diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 52eb3180dd3..55c0b351f16 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -406,7 +406,7 @@ void PrusaObjectDataViewModelNode::set_object_action_icon() { m_action_icon = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("add_object.png")), wxBITMAP_TYPE_PNG); } void PrusaObjectDataViewModelNode::set_part_action_icon() { - m_action_icon = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var("cog.png")), wxBITMAP_TYPE_PNG); + m_action_icon = wxBitmap(Slic3r::GUI::from_u8(Slic3r::var(m_type == itVolume ? "cog.png" : "brick_go.png")), wxBITMAP_TYPE_PNG); } Slic3r::GUI::BitmapCache *m_bitmap_cache = nullptr; diff --git a/src/slic3r/GUI/wxExtensions.hpp b/src/slic3r/GUI/wxExtensions.hpp index fcce18e100c..10709786c0c 100644 --- a/src/slic3r/GUI/wxExtensions.hpp +++ b/src/slic3r/GUI/wxExtensions.hpp @@ -275,6 +275,7 @@ class PrusaObjectDataViewModelNode else if (type == itInstance) { m_idx = parent->GetChildCount(); m_name = wxString::Format("Instance_%d", m_idx+1); + set_part_action_icon(); } } From 5a707a66b974597c3db169c557e3771f9334c403 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 23 Jan 2019 17:24:56 +0100 Subject: [PATCH 160/189] Adjustment of the offset from the print bed STLs to their textures. Changed the MK2.5 bed from MK2 to MK3. --- src/slic3r/GUI/GLCanvas3D.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 1a6c3b5b0c1..63b9864b719 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -513,14 +513,13 @@ GLCanvas3D::Bed::EType GLCanvas3D::Bed::_detect_type() const { if ((curr->vendor != nullptr) && (curr->vendor->name == "Prusa Research")) { - if (boost::contains(curr->name, "MK2")) + if (boost::contains(curr->name, "MK3") || boost::contains(curr->name, "MK2.5")) { - type = MK2; + type = MK3; break; - } - else if (boost::contains(curr->name, "MK3")) + } else if (boost::contains(curr->name, "MK2")) { - type = MK3; + type = MK2; break; } } @@ -590,8 +589,14 @@ void GLCanvas3D::Bed::_render_prusa(const std::string &key, float theta) const if (theta <= 90.0f) { filename = model_path + "_bed.stl"; - if ((m_model.get_filename() != filename) && m_model.init_from_file(filename, useVBOs)) - m_model.center_around(m_bounding_box.center() - Vec3d(0.0, 0.0, 0.1 + 0.5 * m_model.get_bounding_box().size()(2))); + if ((m_model.get_filename() != filename) && m_model.init_from_file(filename, useVBOs)) { + Vec3d offset = m_bounding_box.center() - Vec3d(0.0, 0.0, 0.1 + 0.5 * m_model.get_bounding_box().size()(2)); + if (key == "mk2") + offset.y() += 15. / 2.; + else if (key == "mk3") + offset += Vec3d(0., (19. - 8.) / 2., 2.); + m_model.center_around(offset); + } if (!m_model.get_filename().empty()) { From 9ca9e8dda58c2750549d75beddf009ca9828e414 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 24 Jan 2019 10:04:39 +0100 Subject: [PATCH 161/189] Another iteration on euler angles and instances synchronization --- src/libslic3r/Geometry.cpp | 20 ++++++++++++++------ src/slic3r/GUI/GLCanvas3D.cpp | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index db64f97a7fc..4cf4b5caa7a 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1182,19 +1182,27 @@ Transform3d assemble_transform(const Vec3d& translation, const Vec3d& rotation, Vec3d extract_euler_angles(const Eigen::Matrix& rotation_matrix) { #if ENABLE_NEW_EULER_ANGLES - // see: http://www.gregslabaugh.net/publications/euler.pdf + // reference: http://www.gregslabaugh.net/publications/euler.pdf auto is_approx = [](double value, double test_value) -> bool { return std::abs(value - test_value) < EPSILON; }; Vec3d angles1 = Vec3d::Zero(); Vec3d angles2 = Vec3d::Zero(); if (is_approx(std::abs(rotation_matrix(2, 0)), 1.0)) { - // the handling of singular cases deviates from the cited paper - // the following code works better when rotating an object with the gizmo after having - // changed its orientation using the place on bed gizmo angles1(0) = 0.0; - angles1(1) = 0.5 * (double)PI; - angles1(2) = angles1(0) + ::atan2(rotation_matrix(0, 1), rotation_matrix(0, 2)); + if (rotation_matrix(2, 0) > 0.0) // == +1.0 + { + angles1(1) = 0.5 * (double)PI; + angles1(2) = angles1(0) + ::atan2(rotation_matrix(0, 1), rotation_matrix(0, 2)); + + } + else // == -1.0 + { + angles1(1) = 0.5 * (double)PI; + angles1(2) = -angles1(0) - ::atan2(rotation_matrix(0, 1), rotation_matrix(0, 2)); + + } + angles2 = angles1; } else diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index f124390632a..4a149eea852 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2726,7 +2726,20 @@ void GLCanvas3D::Selection::_synchronize_unselected_instances(bool including_z) if ((v->object_idx() != object_idx) || (v->instance_idx() == instance_idx)) continue; - v->set_instance_rotation(Vec3d(rotation(0), rotation(1), including_z ? rotation(2) : m_cache.volumes_data[j].get_instance_rotation()(2) + rotation(2))); + auto is_approx = [](double value, double test_value) -> bool { return std::abs(value - test_value) < EPSILON; }; + + double z; + if (including_z) + // rotation comes from place on face -> force given z + z = rotation(2); + else if (is_approx(rotation(0), m_cache.volumes_data[j].get_instance_rotation()(0)) && is_approx(rotation(1), m_cache.volumes_data[j].get_instance_rotation()(1))) + // z only rotation -> keep instance z + z = v->get_instance_rotation()(2); + else + // generic rotation -> update instance z + z = m_cache.volumes_data[j].get_instance_rotation()(2) + rotation(2); + + v->set_instance_rotation(Vec3d(rotation(0), rotation(1), z)); v->set_instance_scaling_factor(scaling_factor); v->set_instance_mirror(mirror); From f07aba73cb4a18259a4fe5f4e4599c71b1fabc58 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 24 Jan 2019 10:24:10 +0100 Subject: [PATCH 162/189] Set uniformly scaling by default --- src/slic3r/GUI/GUI_ObjectManipulation.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.hpp b/src/slic3r/GUI/GUI_ObjectManipulation.hpp index d0afa528eb2..b30d3ef55a9 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.hpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.hpp @@ -75,7 +75,7 @@ class ObjectManipulation : public OG_Settings Vec3d m_new_scale; Vec3d m_new_size; bool m_new_enabled; - bool m_uniform_scale {false}; + bool m_uniform_scale {true}; PrusaLockButton* m_lock_bnt{ nullptr }; public: From aea6681adf122d514fecb668fa3a43aada76042a Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 24 Jan 2019 10:52:48 +0100 Subject: [PATCH 163/189] Fixed visual hints orientation for sidebar rotation fields and single full instance selection --- src/slic3r/GUI/GLCanvas3D.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 63b9864b719..f3de5a7391c 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2172,7 +2172,7 @@ void GLCanvas3D::Selection::render_sidebar_hints(const std::string& sidebar_fiel if (is_single_full_instance()) { ::glTranslated(center(0), center(1), center(2)); - if (boost::starts_with(sidebar_field, "scale") || boost::starts_with(sidebar_field, "size")) + if (!boost::starts_with(sidebar_field, "position")) { Transform3d orient_matrix = (*m_volumes)[*m_list.begin()]->get_instance_transformation().get_matrix(true, false, true, true); ::glMultMatrixd(orient_matrix.data()); @@ -2181,9 +2181,7 @@ void GLCanvas3D::Selection::render_sidebar_hints(const std::string& sidebar_fiel else if (is_single_volume() || is_single_modifier()) { Transform3d orient_matrix = (*m_volumes)[*m_list.begin()]->get_instance_transformation().get_matrix(true, false, true, true); - const Vec3d& offset = get_bounding_box().center(); - - ::glTranslated(offset(0), offset(1), offset(2)); + ::glTranslated(center(0), center(1), center(2)); ::glMultMatrixd(orient_matrix.data()); } else From a406a44946dd5df626e454b161173bd2f215e9de Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 24 Jan 2019 11:37:58 +0100 Subject: [PATCH 164/189] Sidebar object manipulation fields updated on idle event --- src/slic3r/GUI/GUI_App.cpp | 2 -- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 14 ++++---------- src/slic3r/GUI/GUI_ObjectManipulation.hpp | 2 -- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 462f3c32865..6ff6a37a462 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -169,10 +169,8 @@ bool GUI_App::OnInit() if (app_config->dirty()) app_config->save(); -#if !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION if (this->plater() != nullptr) this->obj_manipul()->update_if_dirty(); -#endif // !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION }); // On OS X the UI tends to freeze in weird ways if modal dialogs(config wizard, update notifications, ...) diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index 77bf29120ab..363294ce83e 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -327,15 +327,14 @@ void ObjectManipulation::update_settings_value(const GLCanvas3D::Selection& sele else reset_settings_value(); -#if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION - update_if_dirty(); -#else m_dirty = true; -#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } void ObjectManipulation::update_if_dirty() { + if (!m_dirty) + return; + #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION if (m_cache.move_label_string != _(m_new_move_label_string)+ ":") { @@ -414,9 +413,6 @@ void ObjectManipulation::update_if_dirty() else m_og->disable(); #else - if (! m_dirty) - return; - m_move_Label->SetLabel(_(m_new_move_label_string)); m_rotate_Label->SetLabel(_(m_new_rotate_label_string)); m_scale_Label->SetLabel(_(m_new_scale_label_string)); @@ -446,9 +442,9 @@ void ObjectManipulation::update_if_dirty() m_og->enable(); else m_og->disable(); +#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION m_dirty = false; -#endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } void ObjectManipulation::reset_settings_value() @@ -461,9 +457,7 @@ void ObjectManipulation::reset_settings_value() #if ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION m_cache.instance.reset(); #endif // ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION -#if !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION m_dirty = true; -#endif // !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION } void ObjectManipulation::change_position_value(const Vec3d& position) diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.hpp b/src/slic3r/GUI/GUI_ObjectManipulation.hpp index d0afa528eb2..09e6db15b78 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.hpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.hpp @@ -62,10 +62,8 @@ class ObjectManipulation : public OG_Settings wxStaticText* m_scale_Label = nullptr; wxStaticText* m_rotate_Label = nullptr; -#if !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION // Needs to be updated from OnIdle? bool m_dirty = false; -#endif // !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION // Cached labels for the delayed update, not localized! std::string m_new_move_label_string; std::string m_new_rotate_label_string; From 6044be77934d22ac350d1f0119c1ed5ae51b0398 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 24 Jan 2019 12:11:01 +0100 Subject: [PATCH 165/189] Fixed sidebar layouting after a creation of the App --- src/slic3r/GUI/GUI_App.cpp | 39 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 462f3c32865..1470c279e25 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -147,28 +147,27 @@ bool GUI_App::OnInit() wxImage::AddHandler(new wxPNGHandler()); mainframe = new MainFrame(); sidebar().obj_list()->init_objects(); // propagate model objects to object list -// update_mode(); // do that later +// update_mode(); // !!! do that later SetTopWindow(mainframe); m_printhost_job_queue.reset(new PrintHostJobQueue(mainframe->printhost_queue_dlg())); - CallAfter([this]() { - // temporary workaround for the correct behavior of the Scrolled sidebar panel - auto& panel = sidebar(); - if (panel.obj_list()->GetMinHeight() > 200) { - wxWindowUpdateLocker noUpdates_sidebar(&panel); - panel.obj_list()->SetMinSize(wxSize(-1, 200)); -// panel.Layout(); - } - update_mode(); // update view mode after fix of the object_list size - // to correct later layouts - }); - Bind(wxEVT_IDLE, [this](wxIdleEvent& event) { if (app_config->dirty()) app_config->save(); + // ! Temporary workaround for the correct behavior of the Scrolled sidebar panel + // Do this "manipulations" only once ( after (re)create of the application ) + if (sidebar().obj_list()->GetMinHeight() > 200) + { + wxWindowUpdateLocker noUpdates_sidebar(&sidebar()); + sidebar().obj_list()->SetMinSize(wxSize(-1, 200)); + + // !!! to correct later layouts + update_mode(); // update view mode after fix of the object_list size + } + #if !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION if (this->plater() != nullptr) this->obj_manipul()->update_if_dirty(); @@ -278,7 +277,7 @@ void GUI_App::recreate_GUI() MainFrame* topwindow = dynamic_cast(GetTopWindow()); mainframe = new MainFrame(); sidebar().obj_list()->init_objects(); // propagate model objects to object list -// update_mode(); // do that later + if (topwindow) { SetTopWindow(mainframe); topwindow->Destroy(); @@ -286,18 +285,6 @@ void GUI_App::recreate_GUI() m_printhost_job_queue.reset(new PrintHostJobQueue(mainframe->printhost_queue_dlg())); - CallAfter([this]() { - // temporary workaround for the correct behavior of the Scrolled sidebar panel - auto& panel = sidebar(); - if (panel.obj_list()->GetMinHeight() > 200) { - wxWindowUpdateLocker noUpdates_sidebar(&panel); - panel.obj_list()->SetMinSize(wxSize(-1, 200)); -// panel.Layout(); - } - update_mode(); // update view mode after fix of the object_list size - // to correct later layouts - }); - mainframe->Show(true); // On OSX the UI was not initialized correctly if the wizard was called From 8366ac4a07e607174c44cec2f2deeb097dc3e3ef Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 24 Jan 2019 13:32:45 +0100 Subject: [PATCH 166/189] Fixed output of volumes to .amf files --- src/libslic3r/Format/AMF.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index 83f931b0cf2..a9ebca80471 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -918,12 +918,14 @@ bool store_amf(const char *path, Model *model, const DynamicPrintConfig *config) auto &stl = volume->mesh.stl; if (stl.v_shared == nullptr) stl_generate_shared_vertices(&stl); - for (size_t i = 0; i < stl.stats.shared_vertices; ++ i) { + const Transform3d& matrix = volume->get_matrix(); + for (size_t i = 0; i < stl.stats.shared_vertices; ++i) { stream << " \n"; stream << " \n"; - stream << " " << stl.v_shared[i](0) << "\n"; - stream << " " << stl.v_shared[i](1) << "\n"; - stream << " " << stl.v_shared[i](2) << "\n"; + Vec3d v = matrix * stl.v_shared[i].cast(); + stream << " " << v(0) << "\n"; + stream << " " << v(1) << "\n"; + stream << " " << v(2) << "\n"; stream << " \n"; stream << " \n"; } From 772b22265c3b7743c14c5edd65202934076e9a2a Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 24 Jan 2019 15:17:39 +0100 Subject: [PATCH 167/189] Updated poly2tri library from https://github.com/jhasse/poly2tri --- src/poly2tri/common/shapes.cc | 29 ++++++++-------- src/poly2tri/common/shapes.h | 48 ++++++++++++++------------- src/poly2tri/common/utils.h | 17 +++++++--- src/poly2tri/poly2tri.h | 6 ++-- src/poly2tri/sweep/advancing_front.cc | 8 +++-- src/poly2tri/sweep/advancing_front.h | 6 ++-- src/poly2tri/sweep/cdt.cc | 6 ++-- src/poly2tri/sweep/cdt.h | 6 ++-- src/poly2tri/sweep/sweep.cc | 24 ++++---------- src/poly2tri/sweep/sweep.h | 6 ++-- src/poly2tri/sweep/sweep_context.cc | 11 +++--- src/poly2tri/sweep/sweep_context.h | 6 ++-- 12 files changed, 87 insertions(+), 86 deletions(-) diff --git a/src/poly2tri/common/shapes.cc b/src/poly2tri/common/shapes.cc index 54aeaba6a20..fe99a8d1a13 100644 --- a/src/poly2tri/common/shapes.cc +++ b/src/poly2tri/common/shapes.cc @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -29,10 +29,16 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "shapes.h" + +#include #include namespace p2t { +std::ostream& operator<<(std::ostream& out, const Point& point) { + return out << point.x << "," << point.y; +} + Triangle::Triangle(Point& a, Point& b, Point& c) { points_[0] = &a; points_[1] = &b; points_[2] = &c; @@ -150,7 +156,7 @@ void Triangle::Legalize(Point& opoint, Point& npoint) } } -int Triangle::Index(const Point* p) const +int Triangle::Index(const Point* p) { if (p == points_[0]) { return 0; @@ -163,7 +169,7 @@ int Triangle::Index(const Point* p) const return -1; } -int Triangle::EdgeIndex(const Point* p1, const Point* p2) const +int Triangle::EdgeIndex(const Point* p1, const Point* p2) { if (points_[0] == p1) { if (points_[1] == p2) { @@ -259,7 +265,7 @@ Triangle* Triangle::NeighborCCW(const Point& point) return neighbors_[1]; } -bool Triangle::GetConstrainedEdgeCCW(const Point& p) const +bool Triangle::GetConstrainedEdgeCCW(const Point& p) { if (&p == points_[0]) { return constrained_edge[2]; @@ -269,7 +275,7 @@ bool Triangle::GetConstrainedEdgeCCW(const Point& p) const return constrained_edge[1]; } -bool Triangle::GetConstrainedEdgeCW(const Point& p) const +bool Triangle::GetConstrainedEdgeCW(const Point& p) { if (&p == points_[0]) { return constrained_edge[1]; @@ -301,7 +307,7 @@ void Triangle::SetConstrainedEdgeCW(const Point& p, bool ce) } } -bool Triangle::GetDelunayEdgeCCW(const Point& p) const +bool Triangle::GetDelunayEdgeCCW(const Point& p) { if (&p == points_[0]) { return delaunay_edge[2]; @@ -311,7 +317,7 @@ bool Triangle::GetDelunayEdgeCCW(const Point& p) const return delaunay_edge[1]; } -bool Triangle::GetDelunayEdgeCW(const Point& p) const +bool Triangle::GetDelunayEdgeCW(const Point& p) { if (&p == points_[0]) { return delaunay_edge[1]; @@ -356,10 +362,7 @@ Triangle& Triangle::NeighborAcross(const Point& opoint) void Triangle::DebugPrint() { - using namespace std; - cout << points_[0]->x << "," << points_[0]->y << " "; - cout << points_[1]->x << "," << points_[1]->y << " "; - cout << points_[2]->x << "," << points_[2]->y << endl; + std::cout << *points_[0] << " " << *points_[1] << " " << *points_[2] << std::endl; } -} \ No newline at end of file +} diff --git a/src/poly2tri/common/shapes.h b/src/poly2tri/common/shapes.h index 3b8a5247eaf..7f0b1e76a82 100644 --- a/src/poly2tri/common/shapes.h +++ b/src/poly2tri/common/shapes.h @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -33,10 +33,10 @@ #ifndef SHAPES_H #define SHAPES_H -#include -#include -#include #include +#include +#include +#include namespace p2t { @@ -119,6 +119,8 @@ struct Point { }; +std::ostream& operator<<(std::ostream&, const Point&); + // Represents a simple polygon's edge struct Edge { @@ -130,13 +132,13 @@ struct Edge { if (p1.y > p2.y) { q = &p1; p = &p2; - } else if (p1.y == p2.y) { + } else if (std::abs(p1.y - p2.y) < 1e-10) { if (p1.x > p2.x) { q = &p1; p = &p2; - } else if (p1.x == p2.x) { + } else if (std::abs(p1.x - p2.x) < 1e-10) { // Repeat points - assert(false); + throw std::runtime_error("Edge::Edge: p1 == p2"); } } @@ -171,23 +173,23 @@ void MarkConstrainedEdge(int index); void MarkConstrainedEdge(Edge& edge); void MarkConstrainedEdge(Point* p, Point* q); -int Index(const Point* p) const; -int EdgeIndex(const Point* p1, const Point* p2) const; +int Index(const Point* p); +int EdgeIndex(const Point* p1, const Point* p2); Triangle* NeighborCW(const Point& point); Triangle* NeighborCCW(const Point& point); -bool GetConstrainedEdgeCCW(const Point& p) const; -bool GetConstrainedEdgeCW(const Point& p) const; +bool GetConstrainedEdgeCCW(const Point& p); +bool GetConstrainedEdgeCW(const Point& p); void SetConstrainedEdgeCCW(const Point& p, bool ce); void SetConstrainedEdgeCW(const Point& p, bool ce); -bool GetDelunayEdgeCCW(const Point& p) const; -bool GetDelunayEdgeCW(const Point& p) const; +bool GetDelunayEdgeCCW(const Point& p); +bool GetDelunayEdgeCW(const Point& p); void SetDelunayEdgeCCW(const Point& p, bool e); void SetDelunayEdgeCW(const Point& p, bool e); -bool Contains(const Point* p) const; -bool Contains(const Edge& e) const; -bool Contains(const Point* p, const Point* q) const; +bool Contains(const Point* p); +bool Contains(const Edge& e); +bool Contains(const Point* p, const Point* q); void Legalize(Point& point); void Legalize(Point& opoint, Point& npoint); /** @@ -198,7 +200,7 @@ void ClearNeighbor(const Triangle *triangle); void ClearNeighbors(); void ClearDelunayEdges(); -inline bool IsInterior() const; +inline bool IsInterior(); inline void IsInterior(bool b); Triangle& NeighborAcross(const Point& opoint); @@ -293,22 +295,22 @@ inline Triangle* Triangle::GetNeighbor(int index) return neighbors_[index]; } -inline bool Triangle::Contains(const Point* p) const +inline bool Triangle::Contains(const Point* p) { return p == points_[0] || p == points_[1] || p == points_[2]; } -inline bool Triangle::Contains(const Edge& e) const +inline bool Triangle::Contains(const Edge& e) { return Contains(e.p) && Contains(e.q); } -inline bool Triangle::Contains(const Point* p, const Point* q) const +inline bool Triangle::Contains(const Point* p, const Point* q) { return Contains(p) && Contains(q); } -inline bool Triangle::IsInterior() const +inline bool Triangle::IsInterior() { return interior_; } @@ -320,4 +322,4 @@ inline void Triangle::IsInterior(bool b) } -#endif \ No newline at end of file +#endif diff --git a/src/poly2tri/common/utils.h b/src/poly2tri/common/utils.h index 4bcb7636143..9a9e14a8a9a 100644 --- a/src/poly2tri/common/utils.h +++ b/src/poly2tri/common/utils.h @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -34,11 +34,18 @@ // Otherwise #defines like M_PI are undeclared under Visual Studio #ifndef _USE_MATH_DEFINES - #define _USE_MATH_DEFINES + #define _USE_MATH_DEFINES #endif /* _USE_MATH_DEFINES */ +#include "shapes.h" + +#include #include -#include + +// C99 removes M_PI from math.h +#ifndef M_PI +#define M_PI 3.14159265358979323846264338327 +#endif namespace p2t { @@ -121,4 +128,4 @@ bool InScanArea(const Point& pa, const Point& pb, const Point& pc, const Point& } -#endif \ No newline at end of file +#endif diff --git a/src/poly2tri/poly2tri.h b/src/poly2tri/poly2tri.h index 29a08d05285..c959d131f95 100644 --- a/src/poly2tri/poly2tri.h +++ b/src/poly2tri/poly2tri.h @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -35,4 +35,4 @@ #include "common/shapes.h" #include "sweep/cdt.h" -#endif \ No newline at end of file +#endif diff --git a/src/poly2tri/sweep/advancing_front.cc b/src/poly2tri/sweep/advancing_front.cc index 38723beef2f..66e2a5d0d39 100644 --- a/src/poly2tri/sweep/advancing_front.cc +++ b/src/poly2tri/sweep/advancing_front.cc @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -30,6 +30,8 @@ */ #include "advancing_front.h" +#include + namespace p2t { AdvancingFront::AdvancingFront(Node& head, Node& tail) @@ -105,4 +107,4 @@ AdvancingFront::~AdvancingFront() { } -} \ No newline at end of file +} diff --git a/src/poly2tri/sweep/advancing_front.h b/src/poly2tri/sweep/advancing_front.h index 645dcec97ea..3de07082434 100644 --- a/src/poly2tri/sweep/advancing_front.h +++ b/src/poly2tri/sweep/advancing_front.h @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -115,4 +115,4 @@ inline void AdvancingFront::set_search(Node* node) } -#endif \ No newline at end of file +#endif diff --git a/src/poly2tri/sweep/cdt.cc b/src/poly2tri/sweep/cdt.cc index 09d088ae396..8496aa1da41 100644 --- a/src/poly2tri/sweep/cdt.cc +++ b/src/poly2tri/sweep/cdt.cc @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -68,4 +68,4 @@ CDT::~CDT() delete sweep_; } -} \ No newline at end of file +} diff --git a/src/poly2tri/sweep/cdt.h b/src/poly2tri/sweep/cdt.h index ea3286d9a01..efeeda38897 100644 --- a/src/poly2tri/sweep/cdt.h +++ b/src/poly2tri/sweep/cdt.h @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -102,4 +102,4 @@ class CDT } -#endif \ No newline at end of file +#endif diff --git a/src/poly2tri/sweep/sweep.cc b/src/poly2tri/sweep/sweep.cc index 8d2b576e82d..45aa1db3b65 100644 --- a/src/poly2tri/sweep/sweep.cc +++ b/src/poly2tri/sweep/sweep.cc @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -28,19 +28,21 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #include "sweep.h" #include "sweep_context.h" #include "advancing_front.h" #include "../common/utils.h" +#include +#include + namespace p2t { // Triangulate simple polygon with holes void Sweep::Triangulate(SweepContext& tcx) { tcx.InitTriangulation(); - tcx.CreateAdvancingFront(nodes_); + tcx.CreateAdvancingFront(); // Sweep points; build mesh SweepPoints(tcx); // Clean up @@ -699,13 +701,6 @@ void Sweep::FlipEdgeEvent(SweepContext& tcx, Point& ep, Point& eq, Triangle* t, Triangle& ot = t->NeighborAcross(p); Point& op = *ot.OppositePoint(*t, p); - if (&ot == NULL) { - // If we want to integrate the fillEdgeEvent do it here - // With current implementation we should never get here - //throw new RuntimeException( "[BUG:FIXME] FLIP failed due to missing triangle"); - assert(0); - } - if (InScanArea(p, *t->PointCCW(p), *t->PointCW(p), op)) { // Lets rotate shared edge one vertex CW RotateTrianglePair(*t, p, ot, op); @@ -772,13 +767,6 @@ void Sweep::FlipScanEdgeEvent(SweepContext& tcx, Point& ep, Point& eq, Triangle& Triangle& ot = t.NeighborAcross(p); Point& op = *ot.OppositePoint(t, p); - if (&t.NeighborAcross(p) == NULL) { - // If we want to integrate the fillEdgeEvent do it here - // With current implementation we should never get here - //throw new RuntimeException( "[BUG:FIXME] FLIP failed due to missing triangle"); - assert(0); - } - if (InScanArea(eq, *flip_triangle.PointCCW(eq), *flip_triangle.PointCW(eq), op)) { // flip with new edge op->eq FlipEdgeEvent(tcx, eq, op, &ot, op); diff --git a/src/poly2tri/sweep/sweep.h b/src/poly2tri/sweep/sweep.h index 33e34a714a2..ccf4ef7b029 100644 --- a/src/poly2tri/sweep/sweep.h +++ b/src/poly2tri/sweep/sweep.h @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -282,4 +282,4 @@ class Sweep } -#endif \ No newline at end of file +#endif diff --git a/src/poly2tri/sweep/sweep_context.cc b/src/poly2tri/sweep/sweep_context.cc index a9f1fdf8e63..4a220dc8287 100644 --- a/src/poly2tri/sweep/sweep_context.cc +++ b/src/poly2tri/sweep/sweep_context.cc @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -120,10 +120,9 @@ Node& SweepContext::LocateNode(const Point& point) return *front_->LocateNode(point.x); } -void SweepContext::CreateAdvancingFront(const std::vector& nodes) +void SweepContext::CreateAdvancingFront() { - (void) nodes; // Initial triangle Triangle* triangle = new Triangle(*points_[0], *tail_, *head_); @@ -169,8 +168,8 @@ void SweepContext::MeshClean(Triangle& triangle) triangles.push_back(&triangle); while(!triangles.empty()){ - Triangle *t = triangles.back(); - triangles.pop_back(); + Triangle *t = triangles.back(); + triangles.pop_back(); if (t != NULL && !t->IsInterior()) { t->IsInterior(true); diff --git a/src/poly2tri/sweep/sweep_context.h b/src/poly2tri/sweep/sweep_context.h index ba0d06581d5..b6bc1cd828c 100644 --- a/src/poly2tri/sweep/sweep_context.h +++ b/src/poly2tri/sweep/sweep_context.h @@ -1,6 +1,6 @@ /* - * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors - * http://code.google.com/p/poly2tri/ + * Poly2Tri Copyright (c) 2009-2018, Poly2Tri Contributors + * https://github.com/jhasse/poly2tri * * All rights reserved. * @@ -70,7 +70,7 @@ Node& LocateNode(const Point& point); void RemoveNode(Node* node); -void CreateAdvancingFront(const std::vector& nodes); +void CreateAdvancingFront(); /// Try to map a node to all sides of this triangle that don't have a neighbor void MapTriangleToNodes(Triangle& t); From 584e8a8490f6dfc5fec5cee28ea66d3cbd017d4e Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 24 Jan 2019 15:18:16 +0100 Subject: [PATCH 168/189] Updated the polypartition library from https://github.com/ivanfratric/polypartition --- src/polypartition/polypartition.cpp | 275 ++++++------ src/polypartition/polypartition.h | 644 +++++++++++++++------------- 2 files changed, 483 insertions(+), 436 deletions(-) diff --git a/src/polypartition/polypartition.cpp b/src/polypartition/polypartition.cpp index 9c591725148..c1d6a4c83fa 100644 --- a/src/polypartition/polypartition.cpp +++ b/src/polypartition/polypartition.cpp @@ -25,6 +25,8 @@ #include #include #include +#include +#include using namespace std; @@ -66,21 +68,26 @@ void TPPLPoly::Triangle(TPPLPoint &p1, TPPLPoint &p2, TPPLPoint &p3) { points[2] = p3; } -TPPLPoly::TPPLPoly(const TPPLPoly &src) { +TPPLPoly::TPPLPoly(const TPPLPoly &src) : TPPLPoly() { hole = src.hole; numpoints = src.numpoints; - points = new TPPLPoint[numpoints]; - memcpy(points, src.points, numpoints*sizeof(TPPLPoint)); + + if(numpoints > 0) { + points = new TPPLPoint[numpoints]; + memcpy(points, src.points, numpoints*sizeof(TPPLPoint)); + } } TPPLPoly& TPPLPoly::operator=(const TPPLPoly &src) { - if(&src != this) { - Clear(); - hole = src.hole; - numpoints = src.numpoints; + Clear(); + hole = src.hole; + numpoints = src.numpoints; + + if(numpoints > 0) { points = new TPPLPoint[numpoints]; memcpy(points, src.points, numpoints*sizeof(TPPLPoint)); } + return *this; } @@ -105,16 +112,11 @@ void TPPLPoly::SetOrientation(int orientation) { } void TPPLPoly::Invert() { - long i; - TPPLPoint *invpoints; + std::reverse(points, points + numpoints); +} - invpoints = new TPPLPoint[numpoints]; - for(i=0;i *inpolys, list *outpolys) { - list polys; - list::iterator holeiter,polyiter,iter,iter2; - long i,i2,holepointindex,polypointindex = 0; +int TPPLPartition::RemoveHoles(TPPLPolyList *inpolys, TPPLPolyList *outpolys) { + TPPLPolyList polys; + TPPLPolyList::iterator holeiter,polyiter,iter,iter2; + long i,i2,holepointindex,polypointindex; TPPLPoint holepoint,polypoint,bestpolypoint; TPPLPoint linep1,linep2; TPPLPoint v1,v2; @@ -183,14 +185,14 @@ int TPPLPartition::RemoveHoles(list *inpolys, list *outpolys //check for trivial case (no holes) hasholes = false; - for(iter = inpolys->begin(); iter!=inpolys->end(); ++iter) { + for(iter = inpolys->begin(); iter!=inpolys->end(); iter++) { if(iter->IsHole()) { hasholes = true; break; } } if(!hasholes) { - for(iter = inpolys->begin(); iter!=inpolys->end(); ++iter) { + for(iter = inpolys->begin(); iter!=inpolys->end(); iter++) { outpolys->push_back(*iter); } return 1; @@ -201,7 +203,7 @@ int TPPLPartition::RemoveHoles(list *inpolys, list *outpolys while(1) { //find the hole point with the largest x hasholes = false; - for(iter = polys.begin(); iter!=polys.end(); ++iter) { + for(iter = polys.begin(); iter!=polys.end(); iter++) { if(!iter->IsHole()) continue; if(!hasholes) { @@ -221,7 +223,7 @@ int TPPLPartition::RemoveHoles(list *inpolys, list *outpolys holepoint = holeiter->GetPoint(holepointindex); pointfound = false; - for(iter = polys.begin(); iter!=polys.end(); ++iter) { + for(iter = polys.begin(); iter!=polys.end(); iter++) { if(iter->IsHole()) continue; for(i=0; i < iter->GetNumPoints(); i++) { if(iter->GetPoint(i).x <= holepoint.x) continue; @@ -237,7 +239,7 @@ int TPPLPartition::RemoveHoles(list *inpolys, list *outpolys if(v2.x > v1.x) continue; } pointvisible = true; - for(iter2 = polys.begin(); iter2!=polys.end(); ++iter2) { + for(iter2 = polys.begin(); iter2!=polys.end(); iter2++) { if(iter2->IsHole()) continue; for(i2=0; i2 < iter2->GetNumPoints(); i2++) { linep1 = iter2->GetPoint(i2); @@ -280,7 +282,7 @@ int TPPLPartition::RemoveHoles(list *inpolys, list *outpolys polys.push_back(newpoly); } - for(iter = polys.begin(); iter!=polys.end(); ++iter) { + for(iter = polys.begin(); iter!=polys.end(); iter++) { outpolys->push_back(*iter); } @@ -335,7 +337,7 @@ bool TPPLPartition::InCone(PartitionVertex *v, TPPLPoint &p) { } void TPPLPartition::UpdateVertexReflexity(PartitionVertex *v) { - PartitionVertex *v1,*v3; + PartitionVertex *v1 = NULL,*v3 = NULL; v1 = v->previous; v3 = v->next; v->isConvex = !IsReflex(v1->p,v->p,v3->p); @@ -343,7 +345,7 @@ void TPPLPartition::UpdateVertexReflexity(PartitionVertex *v) { void TPPLPartition::UpdateVertex(PartitionVertex *v, PartitionVertex *vertices, long numvertices) { long i; - PartitionVertex *v1,*v3; + PartitionVertex *v1 = NULL,*v3 = NULL; TPPLPoint vec1,vec3; v1 = v->previous; @@ -372,10 +374,12 @@ void TPPLPartition::UpdateVertex(PartitionVertex *v, PartitionVertex *vertices, } //triangulation by ear removal -int TPPLPartition::Triangulate_EC(TPPLPoly *poly, list *triangles) { +int TPPLPartition::Triangulate_EC(TPPLPoly *poly, TPPLPolyList *triangles) { + if(!poly->Valid()) return 0; + long numvertices; - PartitionVertex *vertices; - PartitionVertex *ear; + PartitionVertex *vertices = NULL; + PartitionVertex *ear = NULL; TPPLPoly triangle; long i,j; bool earfound; @@ -446,21 +450,23 @@ int TPPLPartition::Triangulate_EC(TPPLPoly *poly, list *triangles) { return 1; } -int TPPLPartition::Triangulate_EC(list *inpolys, list *triangles) { - list outpolys; - list::iterator iter; +int TPPLPartition::Triangulate_EC(TPPLPolyList *inpolys, TPPLPolyList *triangles) { + TPPLPolyList outpolys; + TPPLPolyList::iterator iter; if(!RemoveHoles(inpolys,&outpolys)) return 0; - for(iter=outpolys.begin();iter!=outpolys.end();++iter) { + for(iter=outpolys.begin();iter!=outpolys.end();iter++) { if(!Triangulate_EC(&(*iter),triangles)) return 0; } return 1; } -int TPPLPartition::ConvexPartition_HM(TPPLPoly *poly, list *parts) { - list triangles; - list::iterator iter1,iter2; - TPPLPoly *poly1,*poly2; +int TPPLPartition::ConvexPartition_HM(TPPLPoly *poly, TPPLPolyList *parts) { + if(!poly->Valid()) return 0; + + TPPLPolyList triangles; + TPPLPolyList::iterator iter1,iter2; + TPPLPoly *poly1 = NULL,*poly2 = NULL; TPPLPoly newpoly; TPPLPoint d1,d2,p1,p2,p3; long i11,i12,i21,i22,i13,i23,j,k; @@ -486,7 +492,7 @@ int TPPLPartition::ConvexPartition_HM(TPPLPoly *poly, list *parts) { if(!Triangulate_EC(poly,&triangles)) return 0; - for(iter1 = triangles.begin(); iter1 != triangles.end(); ++iter1) { + for(iter1 = triangles.begin(); iter1 != triangles.end(); iter1++) { poly1 = &(*iter1); for(i11=0;i11GetNumPoints();i11++) { d1 = poly1->GetPoint(i11); @@ -494,7 +500,7 @@ int TPPLPartition::ConvexPartition_HM(TPPLPoly *poly, list *parts) { d2 = poly1->GetPoint(i12); isdiagonal = false; - for(iter2 = iter1; iter2 != triangles.end(); ++iter2) { + for(iter2 = iter1; iter2 != triangles.end(); iter2++) { if(iter1 == iter2) continue; poly2 = &(*iter2); @@ -550,19 +556,19 @@ int TPPLPartition::ConvexPartition_HM(TPPLPoly *poly, list *parts) { } } - for(iter1 = triangles.begin(); iter1 != triangles.end(); ++iter1) { + for(iter1 = triangles.begin(); iter1 != triangles.end(); iter1++) { parts->push_back(*iter1); } return 1; } -int TPPLPartition::ConvexPartition_HM(list *inpolys, list *parts) { - list outpolys; - list::iterator iter; +int TPPLPartition::ConvexPartition_HM(TPPLPolyList *inpolys, TPPLPolyList *parts) { + TPPLPolyList outpolys; + TPPLPolyList::iterator iter; if(!RemoveHoles(inpolys,&outpolys)) return 0; - for(iter=outpolys.begin();iter!=outpolys.end();++iter) { + for(iter=outpolys.begin();iter!=outpolys.end();iter++) { if(!ConvexPartition_HM(&(*iter),parts)) return 0; } return 1; @@ -571,14 +577,16 @@ int TPPLPartition::ConvexPartition_HM(list *inpolys, list *p //minimum-weight polygon triangulation by dynamic programming //O(n^3) time complexity //O(n^2) space complexity -int TPPLPartition::Triangulate_OPT(TPPLPoly *poly, list *triangles) { +int TPPLPartition::Triangulate_OPT(TPPLPoly *poly, TPPLPolyList *triangles) { + if(!poly->Valid()) return 0; + long i,j,k,gap,n; - DPState **dpstates; + DPState **dpstates = NULL; TPPLPoint p1,p2,p3,p4; long bestvertex; tppl_float weight,minweight,d1,d2; Diagonal diagonal,newdiagonal; - list diagonals; + DiagonalList diagonals; TPPLPoly triangle; int ret = 1; @@ -703,7 +711,7 @@ int TPPLPartition::Triangulate_OPT(TPPLPoly *poly, list *triangles) { void TPPLPartition::UpdateState(long a, long b, long w, long i, long j, DPState2 **dpstates) { Diagonal newdiagonal; - list *pairs; + DiagonalList *pairs = NULL; long w2; w2 = dpstates[a][b].weight; @@ -725,8 +733,8 @@ void TPPLPartition::UpdateState(long a, long b, long w, long i, long j, DPState2 } void TPPLPartition::TypeA(long i, long j, long k, PartitionVertex *vertices, DPState2 **dpstates) { - list *pairs; - list::iterator iter,lastiter; + DiagonalList *pairs = NULL; + DiagonalList::iterator iter,lastiter; long top; long w; @@ -742,7 +750,7 @@ void TPPLPartition::TypeA(long i, long j, long k, PartitionVertex *vertices, DPS iter = pairs->end(); lastiter = pairs->end(); while(iter!=pairs->begin()) { - --iter; + iter--; if(!IsReflex(vertices[iter->index2].p,vertices[j].p,vertices[k].p)) lastiter = iter; else break; } @@ -756,8 +764,8 @@ void TPPLPartition::TypeA(long i, long j, long k, PartitionVertex *vertices, DPS } void TPPLPartition::TypeB(long i, long j, long k, PartitionVertex *vertices, DPState2 **dpstates) { - list *pairs; - list::iterator iter,lastiter; + DiagonalList *pairs = NULL; + DiagonalList::iterator iter,lastiter; long top; long w; @@ -778,7 +786,7 @@ void TPPLPartition::TypeB(long i, long j, long k, PartitionVertex *vertices, DPS while(iter!=pairs->end()) { if(!IsReflex(vertices[i].p,vertices[j].p,vertices[iter->index1].p)) { lastiter = iter; - ++iter; + iter++; } else break; } @@ -789,19 +797,21 @@ void TPPLPartition::TypeB(long i, long j, long k, PartitionVertex *vertices, DPS UpdateState(i,k,w,j,top,dpstates); } -int TPPLPartition::ConvexPartition_OPT(TPPLPoly *poly, list *parts) { +int TPPLPartition::ConvexPartition_OPT(TPPLPoly *poly, TPPLPolyList *parts) { + if(!poly->Valid()) return 0; + TPPLPoint p1,p2,p3,p4; - PartitionVertex *vertices; - DPState2 **dpstates; + PartitionVertex *vertices = NULL; + DPState2 **dpstates = NULL; long i,j,k,n,gap; - list diagonals,diagonals2; + DiagonalList diagonals,diagonals2; Diagonal diagonal,newdiagonal; - list *pairs,*pairs2; - list::iterator iter,iter2; + DiagonalList *pairs = NULL,*pairs2 = NULL; + DiagonalList::iterator iter,iter2; int ret; TPPLPoly newpoly; - list indices; - list::iterator iiter; + vector indices; + vector::iterator iiter; bool ijreal,jkreal; n = poly->GetNumPoints(); @@ -919,7 +929,7 @@ int TPPLPartition::ConvexPartition_OPT(TPPLPoly *poly, list *parts) { } if(!vertices[diagonal.index1].isConvex) { iter = pairs->end(); - --iter; + iter--; j = iter->index2; newdiagonal.index1 = j; newdiagonal.index2 = diagonal.index2; @@ -933,7 +943,7 @@ int TPPLPartition::ConvexPartition_OPT(TPPLPoly *poly, list *parts) { break; } iter2 = pairs2->end(); - --iter2; + iter2--; if(iter->index1 != iter2->index1) pairs2->pop_back(); else break; } @@ -1003,7 +1013,7 @@ int TPPLPartition::ConvexPartition_OPT(TPPLPoly *poly, list *parts) { pairs = &(dpstates[diagonal.index1][diagonal.index2].pairs); if(!vertices[diagonal.index1].isConvex) { iter = pairs->end(); - --iter; + iter--; j = iter->index2; if(iter->index1 != iter->index2) ijreal = false; } else { @@ -1031,10 +1041,10 @@ int TPPLPartition::ConvexPartition_OPT(TPPLPoly *poly, list *parts) { indices.push_back(j); } - indices.sort(); + std::sort(indices.begin(), indices.end()); newpoly.Init((long)indices.size()); k=0; - for(iiter = indices.begin();iiter!=indices.end(); ++iiter) { + for(iiter = indices.begin();iiter!=indices.end();iiter++) { newpoly[k] = vertices[*iiter].p; k++; } @@ -1055,18 +1065,19 @@ int TPPLPartition::ConvexPartition_OPT(TPPLPoly *poly, list *parts) { //the algorithm used here is outlined in the book //"Computational Geometry: Algorithms and Applications" //by Mark de Berg, Otfried Cheong, Marc van Kreveld and Mark Overmars -int TPPLPartition::MonotonePartition(list *inpolys, list *monotonePolys) { - list::iterator iter; - MonotoneVertex *vertices; +int TPPLPartition::MonotonePartition(TPPLPolyList *inpolys, TPPLPolyList *monotonePolys) { + TPPLPolyList::iterator iter; + MonotoneVertex *vertices = NULL; long i,numvertices,vindex,vindex2,newnumvertices,maxnumvertices; long polystartindex, polyendindex; - TPPLPoly *poly; - MonotoneVertex *v,*v2,*vprev,*vnext; + TPPLPoly *poly = NULL; + MonotoneVertex *v = NULL,*v2 = NULL,*vprev = NULL,*vnext = NULL; ScanLineEdge newedge; bool error = false; numvertices = 0; - for(iter = inpolys->begin(); iter != inpolys->end(); ++iter) { + for(iter = inpolys->begin(); iter != inpolys->end(); iter++) { + if(!iter->Valid()) return 0; numvertices += iter->GetNumPoints(); } @@ -1075,7 +1086,7 @@ int TPPLPartition::MonotonePartition(list *inpolys, list *mo newnumvertices = numvertices; polystartindex = 0; - for(iter = inpolys->begin(); iter != inpolys->end(); ++iter) { + for(iter = inpolys->begin(); iter != inpolys->end(); iter++) { poly = &(*iter); polyendindex = polystartindex + poly->GetNumPoints()-1; for(i=0;iGetNumPoints();i++) { @@ -1130,6 +1141,7 @@ int TPPLPartition::MonotonePartition(list *inpolys, list *mo set::iterator *edgeTreeIterators,edgeIter; edgeTreeIterators = new set::iterator[maxnumvertices]; pair::iterator,bool> edgeTreeRet; + for(i = 0; i *inpolys, list *mo break; case TPPL_VERTEXTYPE_END: + if (edgeTreeIterators[v->previous] == edgeTree.end()) { + error = true; + break; + } //if helper(ei-1) is a merge vertex if(vertextypes[helpers[v->previous]]==TPPL_VERTEXTYPE_MERGE) { //Insert the diagonal connecting vi to helper(ei-1) in D. - AddDiagonal(vertices,&newnumvertices,vindex,helpers[v->previous]); - vertextypes[newnumvertices-2] = vertextypes[vindex]; - edgeTreeIterators[newnumvertices-2] = edgeTreeIterators[vindex]; - helpers[newnumvertices-2] = helpers[vindex]; - vertextypes[newnumvertices-1] = vertextypes[helpers[v->previous]]; - edgeTreeIterators[newnumvertices-1] = edgeTreeIterators[helpers[v->previous]]; - helpers[newnumvertices-1] = helpers[helpers[v->previous]]; + AddDiagonal(vertices,&newnumvertices,vindex,helpers[v->previous], + vertextypes, edgeTreeIterators, &edgeTree, helpers); } //Delete ei-1 from T edgeTree.erase(edgeTreeIterators[v->previous]); @@ -1176,15 +1187,10 @@ int TPPLPartition::MonotonePartition(list *inpolys, list *mo error = true; break; } - --edgeIter; + edgeIter--; //Insert the diagonal connecting vi to helper(ej) in D. - AddDiagonal(vertices,&newnumvertices,vindex,helpers[edgeIter->index]); - vertextypes[newnumvertices-2] = vertextypes[vindex]; - edgeTreeIterators[newnumvertices-2] = edgeTreeIterators[vindex]; - helpers[newnumvertices-2] = helpers[vindex]; - vertextypes[newnumvertices-1] = vertextypes[helpers[edgeIter->index]]; - edgeTreeIterators[newnumvertices-1] = edgeTreeIterators[helpers[edgeIter->index]]; - helpers[newnumvertices-1] = helpers[helpers[edgeIter->index]]; + AddDiagonal(vertices,&newnumvertices,vindex,helpers[edgeIter->index], + vertextypes, edgeTreeIterators, &edgeTree, helpers); vindex2 = newnumvertices-2; v2 = &(vertices[vindex2]); //helper(e j)�vi @@ -1199,16 +1205,15 @@ int TPPLPartition::MonotonePartition(list *inpolys, list *mo break; case TPPL_VERTEXTYPE_MERGE: + if (edgeTreeIterators[v->previous] == edgeTree.end()) { + error = true; + break; + } //if helper(ei-1) is a merge vertex if(vertextypes[helpers[v->previous]]==TPPL_VERTEXTYPE_MERGE) { //Insert the diagonal connecting vi to helper(ei-1) in D. - AddDiagonal(vertices,&newnumvertices,vindex,helpers[v->previous]); - vertextypes[newnumvertices-2] = vertextypes[vindex]; - edgeTreeIterators[newnumvertices-2] = edgeTreeIterators[vindex]; - helpers[newnumvertices-2] = helpers[vindex]; - vertextypes[newnumvertices-1] = vertextypes[helpers[v->previous]]; - edgeTreeIterators[newnumvertices-1] = edgeTreeIterators[helpers[v->previous]]; - helpers[newnumvertices-1] = helpers[helpers[v->previous]]; + AddDiagonal(vertices,&newnumvertices,vindex,helpers[v->previous], + vertextypes, edgeTreeIterators, &edgeTree, helpers); vindex2 = newnumvertices-2; v2 = &(vertices[vindex2]); } @@ -1222,17 +1227,12 @@ int TPPLPartition::MonotonePartition(list *inpolys, list *mo error = true; break; } - --edgeIter; + edgeIter--; //if helper(ej) is a merge vertex if(vertextypes[helpers[edgeIter->index]]==TPPL_VERTEXTYPE_MERGE) { //Insert the diagonal connecting vi to helper(e j) in D. - AddDiagonal(vertices,&newnumvertices,vindex2,helpers[edgeIter->index]); - vertextypes[newnumvertices-2] = vertextypes[vindex2]; - edgeTreeIterators[newnumvertices-2] = edgeTreeIterators[vindex2]; - helpers[newnumvertices-2] = helpers[vindex2]; - vertextypes[newnumvertices-1] = vertextypes[helpers[edgeIter->index]]; - edgeTreeIterators[newnumvertices-1] = edgeTreeIterators[helpers[edgeIter->index]]; - helpers[newnumvertices-1] = helpers[helpers[edgeIter->index]]; + AddDiagonal(vertices,&newnumvertices,vindex2,helpers[edgeIter->index], + vertextypes, edgeTreeIterators, &edgeTree, helpers); } //helper(e j)�vi helpers[edgeIter->index] = vindex2; @@ -1241,16 +1241,15 @@ int TPPLPartition::MonotonePartition(list *inpolys, list *mo case TPPL_VERTEXTYPE_REGULAR: //if the interior of P lies to the right of vi if(Below(v->p,vertices[v->previous].p)) { + if (edgeTreeIterators[v->previous] == edgeTree.end()) { + error = true; + break; + } //if helper(ei-1) is a merge vertex if(vertextypes[helpers[v->previous]]==TPPL_VERTEXTYPE_MERGE) { //Insert the diagonal connecting vi to helper(ei-1) in D. - AddDiagonal(vertices,&newnumvertices,vindex,helpers[v->previous]); - vertextypes[newnumvertices-2] = vertextypes[vindex]; - edgeTreeIterators[newnumvertices-2] = edgeTreeIterators[vindex]; - helpers[newnumvertices-2] = helpers[vindex]; - vertextypes[newnumvertices-1] = vertextypes[helpers[v->previous]]; - edgeTreeIterators[newnumvertices-1] = edgeTreeIterators[helpers[v->previous]]; - helpers[newnumvertices-1] = helpers[helpers[v->previous]]; + AddDiagonal(vertices,&newnumvertices,vindex,helpers[v->previous], + vertextypes, edgeTreeIterators, &edgeTree, helpers); vindex2 = newnumvertices-2; v2 = &(vertices[vindex2]); } @@ -1272,17 +1271,12 @@ int TPPLPartition::MonotonePartition(list *inpolys, list *mo error = true; break; } - --edgeIter; + edgeIter--; //if helper(ej) is a merge vertex if(vertextypes[helpers[edgeIter->index]]==TPPL_VERTEXTYPE_MERGE) { //Insert the diagonal connecting vi to helper(e j) in D. - AddDiagonal(vertices,&newnumvertices,vindex,helpers[edgeIter->index]); - vertextypes[newnumvertices-2] = vertextypes[vindex]; - edgeTreeIterators[newnumvertices-2] = edgeTreeIterators[vindex]; - helpers[newnumvertices-2] = helpers[vindex]; - vertextypes[newnumvertices-1] = vertextypes[helpers[edgeIter->index]]; - edgeTreeIterators[newnumvertices-1] = edgeTreeIterators[helpers[edgeIter->index]]; - helpers[newnumvertices-1] = helpers[helpers[edgeIter->index]]; + AddDiagonal(vertices,&newnumvertices,vindex,helpers[edgeIter->index], + vertextypes, edgeTreeIterators, &edgeTree, helpers); } //helper(e j)�vi helpers[edgeIter->index] = vindex; @@ -1342,7 +1336,10 @@ int TPPLPartition::MonotonePartition(list *inpolys, list *mo } //adds a diagonal to the doubly-connected list of vertices -void TPPLPartition::AddDiagonal(MonotoneVertex *vertices, long *numvertices, long index1, long index2) { +void TPPLPartition::AddDiagonal(MonotoneVertex *vertices, long *numvertices, long index1, long index2, + char *vertextypes, set::iterator *edgeTreeIterators, + set *edgeTree, long *helpers) +{ long newindex1,newindex2; newindex1 = *numvertices; @@ -1364,6 +1361,18 @@ void TPPLPartition::AddDiagonal(MonotoneVertex *vertices, long *numvertices, lon vertices[index2].next = newindex1; vertices[newindex1].previous = index2; + + //update all relevant structures + vertextypes[newindex1] = vertextypes[index1]; + edgeTreeIterators[newindex1] = edgeTreeIterators[index1]; + helpers[newindex1] = helpers[index1]; + if(edgeTreeIterators[newindex1] != edgeTree->end()) + edgeTreeIterators[newindex1]->index = newindex1; + vertextypes[newindex2] = vertextypes[index2]; + edgeTreeIterators[newindex2] = edgeTreeIterators[index2]; + helpers[newindex2] = helpers[index2]; + if(edgeTreeIterators[newindex2] != edgeTree->end()) + edgeTreeIterators[newindex2]->index = newindex2; } bool TPPLPartition::Below(TPPLPoint &p1, TPPLPoint &p2) { @@ -1375,7 +1384,7 @@ bool TPPLPartition::Below(TPPLPoint &p1, TPPLPoint &p2) { } //sorts in the falling order of y values, if y is equal, x is used instead -bool TPPLPartition::VertexSorter::operator() (long index1, long index2) const { +bool TPPLPartition::VertexSorter::operator() (long index1, long index2) { if(vertices[index1].p.y > vertices[index2].p.y) return true; else if(vertices[index1].p.y == vertices[index2].p.y) { if(vertices[index1].p.x > vertices[index2].p.x) return true; @@ -1412,19 +1421,21 @@ bool TPPLPartition::ScanLineEdge::operator < (const ScanLineEdge & other) const //triangulates monotone polygon //O(n) time, O(n) space complexity -int TPPLPartition::TriangulateMonotone(TPPLPoly *inPoly, list *triangles) { +int TPPLPartition::TriangulateMonotone(TPPLPoly *inPoly, TPPLPolyList *triangles) { + if(!inPoly->Valid()) return 0; + long i,i2,j,topindex,bottomindex,leftindex,rightindex,vindex; - TPPLPoint *points; + TPPLPoint *points = NULL; long numpoints; TPPLPoly triangle; numpoints = inPoly->GetNumPoints(); points = inPoly->GetPoints(); - //trivial calses - if(numpoints < 3) return 0; + //trivial case if(numpoints == 3) { triangles->push_back(*inPoly); + return 1; } topindex = 0; bottomindex=0; @@ -1544,19 +1555,19 @@ int TPPLPartition::TriangulateMonotone(TPPLPoly *inPoly, list *triangl return 1; } -int TPPLPartition::Triangulate_MONO(list *inpolys, list *triangles) { - list monotone; - list::iterator iter; +int TPPLPartition::Triangulate_MONO(TPPLPolyList *inpolys, TPPLPolyList *triangles) { + TPPLPolyList monotone; + TPPLPolyList::iterator iter; if(!MonotonePartition(inpolys,&monotone)) return 0; - for(iter = monotone.begin(); iter!=monotone.end(); ++iter) { + for(iter = monotone.begin(); iter!=monotone.end();iter++) { if(!TriangulateMonotone(&(*iter),triangles)) return 0; } return 1; } -int TPPLPartition::Triangulate_MONO(TPPLPoly *poly, list *triangles) { - list polys; +int TPPLPartition::Triangulate_MONO(TPPLPoly *poly, TPPLPolyList *triangles) { + TPPLPolyList polys; polys.push_back(*poly); return Triangulate_MONO(&polys, triangles); diff --git a/src/polypartition/polypartition.h b/src/polypartition/polypartition.h index 20ec0e24f6c..a89873296d2 100644 --- a/src/polypartition/polypartition.h +++ b/src/polypartition/polypartition.h @@ -18,9 +18,11 @@ //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN //THE SOFTWARE. +#ifndef POLYPARTITION_H +#define POLYPARTITION_H #include -using namespace std; +#include typedef double tppl_float; @@ -29,315 +31,349 @@ typedef double tppl_float; //2D point structure struct TPPLPoint { - tppl_float x; - tppl_float y; - - TPPLPoint operator + (const TPPLPoint& p) const { - TPPLPoint r; - r.x = x + p.x; - r.y = y + p.y; - return r; - } - - TPPLPoint operator - (const TPPLPoint& p) const { - TPPLPoint r; - r.x = x - p.x; - r.y = y - p.y; - return r; - } - - TPPLPoint operator * (const tppl_float f ) const { - TPPLPoint r; - r.x = x*f; - r.y = y*f; - return r; - } - - TPPLPoint operator / (const tppl_float f ) const { - TPPLPoint r; - r.x = x/f; - r.y = y/f; - return r; - } - - bool operator==(const TPPLPoint& p) const { - if((x == p.x)&&(y==p.y)) return true; - else return false; - } - - bool operator!=(const TPPLPoint& p) const { - if((x == p.x)&&(y==p.y)) return false; - else return true; - } + tppl_float x; + tppl_float y; + // User-specified vertex identifier. Note that this isn't used internally + // by the library, but will be faithfully copied around. + int id; + + TPPLPoint operator + (const TPPLPoint& p) const { + TPPLPoint r; + r.x = x + p.x; + r.y = y + p.y; + return r; + } + + TPPLPoint operator - (const TPPLPoint& p) const { + TPPLPoint r; + r.x = x - p.x; + r.y = y - p.y; + return r; + } + + TPPLPoint operator * (const tppl_float f ) const { + TPPLPoint r; + r.x = x*f; + r.y = y*f; + return r; + } + + TPPLPoint operator / (const tppl_float f ) const { + TPPLPoint r; + r.x = x/f; + r.y = y/f; + return r; + } + + bool operator==(const TPPLPoint& p) const { + if((x == p.x)&&(y==p.y)) return true; + else return false; + } + + bool operator!=(const TPPLPoint& p) const { + if((x == p.x)&&(y==p.y)) return false; + else return true; + } }; + //Polygon implemented as an array of points with a 'hole' flag class TPPLPoly { -protected: - - TPPLPoint *points; - long numpoints; - bool hole; - -public: - - //constructors/destructors - TPPLPoly(); - ~TPPLPoly(); - - TPPLPoly(const TPPLPoly &src); - TPPLPoly& operator=(const TPPLPoly &src); - - //getters and setters - long GetNumPoints() const { - return numpoints; - } - - bool IsHole() const { - return hole; - } - - void SetHole(bool hole) { - this->hole = hole; - } - - TPPLPoint &GetPoint(long i) { - return points[i]; - } - - TPPLPoint *GetPoints() { - return points; - } - - TPPLPoint& operator[] (int i) { - return points[i]; - } - - //clears the polygon points - void Clear(); - - //inits the polygon with numpoints vertices - void Init(long numpoints); - - //creates a triangle with points p1,p2,p3 - void Triangle(TPPLPoint &p1, TPPLPoint &p2, TPPLPoint &p3); - - //inverts the orfer of vertices - void Invert(); - - //returns the orientation of the polygon - //possible values: - // TPPL_CCW : polygon vertices are in counter-clockwise order - // TPPL_CW : polygon vertices are in clockwise order - // 0 : the polygon has no (measurable) area - int GetOrientation() const; - - //sets the polygon orientation - //orientation can be - // TPPL_CCW : sets vertices in counter-clockwise order - // TPPL_CW : sets vertices in clockwise order - void SetOrientation(int orientation); + protected: + + TPPLPoint *points; + long numpoints; + bool hole; + + public: + + //constructors/destructors + TPPLPoly(); + ~TPPLPoly(); + + TPPLPoly(const TPPLPoly &src); + TPPLPoly& operator=(const TPPLPoly &src); + + //getters and setters + long GetNumPoints() const { + return numpoints; + } + + bool IsHole() const { + return hole; + } + + void SetHole(bool hole) { + this->hole = hole; + } + + TPPLPoint &GetPoint(long i) { + return points[i]; + } + + const TPPLPoint &GetPoint(long i) const { + return points[i]; + } + + TPPLPoint *GetPoints() { + return points; + } + + TPPLPoint& operator[] (int i) { + return points[i]; + } + + const TPPLPoint& operator[] (int i) const { + return points[i]; + } + + //clears the polygon points + void Clear(); + + //inits the polygon with numpoints vertices + void Init(long numpoints); + + //creates a triangle with points p1,p2,p3 + void Triangle(TPPLPoint &p1, TPPLPoint &p2, TPPLPoint &p3); + + //inverts the orfer of vertices + void Invert(); + + //returns the orientation of the polygon + //possible values: + // TPPL_CCW : polygon vertices are in counter-clockwise order + // TPPL_CW : polygon vertices are in clockwise order + // 0 : the polygon has no (measurable) area + int GetOrientation() const; + + //sets the polygon orientation + //orientation can be + // TPPL_CCW : sets vertices in counter-clockwise order + // TPPL_CW : sets vertices in clockwise order + void SetOrientation(int orientation); + + //checks whether a polygon is valid or not + inline bool Valid() const { return this->numpoints >= 3; } }; -class TPPLPartition { -protected: - struct PartitionVertex { - bool isActive; - bool isConvex; - bool isEar; - - TPPLPoint p; - tppl_float angle; - PartitionVertex *previous; - PartitionVertex *next; - }; - - struct MonotoneVertex { - TPPLPoint p; - long previous; - long next; - }; +#ifdef TPPL_ALLOCATOR +typedef std::list TPPLPolyList; +#else +typedef std::list TPPLPolyList; +#endif - class VertexSorter{ - MonotoneVertex *vertices; - public: - VertexSorter(MonotoneVertex *v) : vertices(v) {} - bool operator() (long index1, long index2) const; - }; - - struct Diagonal { - long index1; - long index2; - }; - - //dynamic programming state for minimum-weight triangulation - struct DPState { - bool visible; - tppl_float weight; - long bestvertex; - }; - - //dynamic programming state for convex partitioning - struct DPState2 { - bool visible; - long weight; - list pairs; - }; - - //edge that intersects the scanline - struct ScanLineEdge { - long index; - TPPLPoint p1; - TPPLPoint p2; - - //determines if the edge is to the left of another edge - bool operator< (const ScanLineEdge & other) const; - - bool IsConvex(const TPPLPoint& p1, const TPPLPoint& p2, const TPPLPoint& p3) const; - }; - - //standard helper functions - bool IsConvex(TPPLPoint& p1, TPPLPoint& p2, TPPLPoint& p3); - bool IsReflex(TPPLPoint& p1, TPPLPoint& p2, TPPLPoint& p3); - bool IsInside(TPPLPoint& p1, TPPLPoint& p2, TPPLPoint& p3, TPPLPoint &p); - - bool InCone(TPPLPoint &p1, TPPLPoint &p2, TPPLPoint &p3, TPPLPoint &p); - bool InCone(PartitionVertex *v, TPPLPoint &p); - - int Intersects(TPPLPoint &p11, TPPLPoint &p12, TPPLPoint &p21, TPPLPoint &p22); - - TPPLPoint Normalize(const TPPLPoint &p); - tppl_float Distance(const TPPLPoint &p1, const TPPLPoint &p2); - - //helper functions for Triangulate_EC - void UpdateVertexReflexity(PartitionVertex *v); - void UpdateVertex(PartitionVertex *v,PartitionVertex *vertices, long numvertices); - - //helper functions for ConvexPartition_OPT - void UpdateState(long a, long b, long w, long i, long j, DPState2 **dpstates); - void TypeA(long i, long j, long k, PartitionVertex *vertices, DPState2 **dpstates); - void TypeB(long i, long j, long k, PartitionVertex *vertices, DPState2 **dpstates); - - //helper functions for MonotonePartition - bool Below(TPPLPoint &p1, TPPLPoint &p2); - void AddDiagonal(MonotoneVertex *vertices, long *numvertices, long index1, long index2); - - //triangulates a monotone polygon, used in Triangulate_MONO - int TriangulateMonotone(TPPLPoly *inPoly, list *triangles); - -public: - - //simple heuristic procedure for removing holes from a list of polygons - //works by creating a diagonal from the rightmost hole vertex to some visible vertex - //time complexity: O(h*(n^2)), h is the number of holes, n is the number of vertices - //space complexity: O(n) - //params: - // inpolys : a list of polygons that can contain holes - // vertices of all non-hole polys have to be in counter-clockwise order - // vertices of all hole polys have to be in clockwise order - // outpolys : a list of polygons without holes - //returns 1 on success, 0 on failure - int RemoveHoles(list *inpolys, list *outpolys); - - //triangulates a polygon by ear clipping - //time complexity O(n^2), n is the number of vertices - //space complexity: O(n) - //params: - // poly : an input polygon to be triangulated - // vertices have to be in counter-clockwise order - // triangles : a list of triangles (result) - //returns 1 on success, 0 on failure - int Triangulate_EC(TPPLPoly *poly, list *triangles); - - //triangulates a list of polygons that may contain holes by ear clipping algorithm - //first calls RemoveHoles to get rid of the holes, and then Triangulate_EC for each resulting polygon - //time complexity: O(h*(n^2)), h is the number of holes, n is the number of vertices - //space complexity: O(n) - //params: - // inpolys : a list of polygons to be triangulated (can contain holes) - // vertices of all non-hole polys have to be in counter-clockwise order - // vertices of all hole polys have to be in clockwise order - // triangles : a list of triangles (result) - //returns 1 on success, 0 on failure - int Triangulate_EC(list *inpolys, list *triangles); - - //creates an optimal polygon triangulation in terms of minimal edge length - //time complexity: O(n^3), n is the number of vertices - //space complexity: O(n^2) - //params: - // poly : an input polygon to be triangulated - // vertices have to be in counter-clockwise order - // triangles : a list of triangles (result) - //returns 1 on success, 0 on failure - int Triangulate_OPT(TPPLPoly *poly, list *triangles); - - //triangulates a polygons by firstly partitioning it into monotone polygons - //time complexity: O(n*log(n)), n is the number of vertices - //space complexity: O(n) - //params: - // poly : an input polygon to be triangulated - // vertices have to be in counter-clockwise order - // triangles : a list of triangles (result) - //returns 1 on success, 0 on failure - int Triangulate_MONO(TPPLPoly *poly, list *triangles); - - //triangulates a list of polygons by firstly partitioning them into monotone polygons - //time complexity: O(n*log(n)), n is the number of vertices - //space complexity: O(n) - //params: - // inpolys : a list of polygons to be triangulated (can contain holes) - // vertices of all non-hole polys have to be in counter-clockwise order - // vertices of all hole polys have to be in clockwise order - // triangles : a list of triangles (result) - //returns 1 on success, 0 on failure - int Triangulate_MONO(list *inpolys, list *triangles); - - //creates a monotone partition of a list of polygons that can contain holes - //time complexity: O(n*log(n)), n is the number of vertices - //space complexity: O(n) - //params: - // inpolys : a list of polygons to be triangulated (can contain holes) - // vertices of all non-hole polys have to be in counter-clockwise order - // vertices of all hole polys have to be in clockwise order - // monotonePolys : a list of monotone polygons (result) - //returns 1 on success, 0 on failure - int MonotonePartition(list *inpolys, list *monotonePolys); - - //partitions a polygon into convex polygons by using Hertel-Mehlhorn algorithm - //the algorithm gives at most four times the number of parts as the optimal algorithm - //however, in practice it works much better than that and often gives optimal partition - //uses triangulation obtained by ear clipping as intermediate result - //time complexity O(n^2), n is the number of vertices - //space complexity: O(n) - //params: - // poly : an input polygon to be partitioned - // vertices have to be in counter-clockwise order - // parts : resulting list of convex polygons - //returns 1 on success, 0 on failure - int ConvexPartition_HM(TPPLPoly *poly, list *parts); +class TPPLPartition { + protected: + struct PartitionVertex { + bool isActive; + bool isConvex; + bool isEar; + + TPPLPoint p; + tppl_float angle; + PartitionVertex *previous; + PartitionVertex *next; + + PartitionVertex(); + }; + + struct MonotoneVertex { + TPPLPoint p; + long previous; + long next; + }; + + class VertexSorter{ + MonotoneVertex *vertices; + public: + VertexSorter(MonotoneVertex *v) : vertices(v) {} + bool operator() (long index1, long index2); + }; + + struct Diagonal { + long index1; + long index2; + }; + +#ifdef TPPL_ALLOCATOR + typedef std::list DiagonalList; +#else + typedef std::list DiagonalList; +#endif + + //dynamic programming state for minimum-weight triangulation + struct DPState { + bool visible; + tppl_float weight; + long bestvertex; + }; + + //dynamic programming state for convex partitioning + struct DPState2 { + bool visible; + long weight; + DiagonalList pairs; + }; + + //edge that intersects the scanline + struct ScanLineEdge { + mutable long index; + TPPLPoint p1; + TPPLPoint p2; + + //determines if the edge is to the left of another edge + bool operator< (const ScanLineEdge & other) const; + + bool IsConvex(const TPPLPoint& p1, const TPPLPoint& p2, const TPPLPoint& p3) const; + }; + + //standard helper functions + bool IsConvex(TPPLPoint& p1, TPPLPoint& p2, TPPLPoint& p3); + bool IsReflex(TPPLPoint& p1, TPPLPoint& p2, TPPLPoint& p3); + bool IsInside(TPPLPoint& p1, TPPLPoint& p2, TPPLPoint& p3, TPPLPoint &p); + + bool InCone(TPPLPoint &p1, TPPLPoint &p2, TPPLPoint &p3, TPPLPoint &p); + bool InCone(PartitionVertex *v, TPPLPoint &p); + + int Intersects(TPPLPoint &p11, TPPLPoint &p12, TPPLPoint &p21, TPPLPoint &p22); + + TPPLPoint Normalize(const TPPLPoint &p); + tppl_float Distance(const TPPLPoint &p1, const TPPLPoint &p2); + + //helper functions for Triangulate_EC + void UpdateVertexReflexity(PartitionVertex *v); + void UpdateVertex(PartitionVertex *v,PartitionVertex *vertices, long numvertices); + + //helper functions for ConvexPartition_OPT + void UpdateState(long a, long b, long w, long i, long j, DPState2 **dpstates); + void TypeA(long i, long j, long k, PartitionVertex *vertices, DPState2 **dpstates); + void TypeB(long i, long j, long k, PartitionVertex *vertices, DPState2 **dpstates); + + //helper functions for MonotonePartition + bool Below(TPPLPoint &p1, TPPLPoint &p2); + void AddDiagonal(MonotoneVertex *vertices, long *numvertices, long index1, long index2, + char *vertextypes, std::set::iterator *edgeTreeIterators, + std::set *edgeTree, long *helpers); + + //triangulates a monotone polygon, used in Triangulate_MONO + int TriangulateMonotone(TPPLPoly *inPoly, TPPLPolyList *triangles); + + public: + + //simple heuristic procedure for removing holes from a list of polygons + //works by creating a diagonal from the rightmost hole vertex to some visible vertex + //time complexity: O(h*(n^2)), h is the number of holes, n is the number of vertices + //space complexity: O(n) + //params: + // inpolys : a list of polygons that can contain holes + // vertices of all non-hole polys have to be in counter-clockwise order + // vertices of all hole polys have to be in clockwise order + // outpolys : a list of polygons without holes + //returns 1 on success, 0 on failure + int RemoveHoles(TPPLPolyList *inpolys, TPPLPolyList *outpolys); + + //triangulates a polygon by ear clipping + //time complexity O(n^2), n is the number of vertices + //space complexity: O(n) + //params: + // poly : an input polygon to be triangulated + // vertices have to be in counter-clockwise order + // triangles : a list of triangles (result) + //returns 1 on success, 0 on failure + int Triangulate_EC(TPPLPoly *poly, TPPLPolyList *triangles); + + //triangulates a list of polygons that may contain holes by ear clipping algorithm + //first calls RemoveHoles to get rid of the holes, and then Triangulate_EC for each resulting polygon + //time complexity: O(h*(n^2)), h is the number of holes, n is the number of vertices + //space complexity: O(n) + //params: + // inpolys : a list of polygons to be triangulated (can contain holes) + // vertices of all non-hole polys have to be in counter-clockwise order + // vertices of all hole polys have to be in clockwise order + // triangles : a list of triangles (result) + //returns 1 on success, 0 on failure + int Triangulate_EC(TPPLPolyList *inpolys, TPPLPolyList *triangles); + + //creates an optimal polygon triangulation in terms of minimal edge length + //time complexity: O(n^3), n is the number of vertices + //space complexity: O(n^2) + //params: + // poly : an input polygon to be triangulated + // vertices have to be in counter-clockwise order + // triangles : a list of triangles (result) + //returns 1 on success, 0 on failure + int Triangulate_OPT(TPPLPoly *poly, TPPLPolyList *triangles); + + //triangulates a polygons by firstly partitioning it into monotone polygons + //time complexity: O(n*log(n)), n is the number of vertices + //space complexity: O(n) + //params: + // poly : an input polygon to be triangulated + // vertices have to be in counter-clockwise order + // triangles : a list of triangles (result) + //returns 1 on success, 0 on failure + int Triangulate_MONO(TPPLPoly *poly, TPPLPolyList *triangles); + + //triangulates a list of polygons by firstly partitioning them into monotone polygons + //time complexity: O(n*log(n)), n is the number of vertices + //space complexity: O(n) + //params: + // inpolys : a list of polygons to be triangulated (can contain holes) + // vertices of all non-hole polys have to be in counter-clockwise order + // vertices of all hole polys have to be in clockwise order + // triangles : a list of triangles (result) + //returns 1 on success, 0 on failure + int Triangulate_MONO(TPPLPolyList *inpolys, TPPLPolyList *triangles); + + //creates a monotone partition of a list of polygons that can contain holes + //time complexity: O(n*log(n)), n is the number of vertices + //space complexity: O(n) + //params: + // inpolys : a list of polygons to be triangulated (can contain holes) + // vertices of all non-hole polys have to be in counter-clockwise order + // vertices of all hole polys have to be in clockwise order + // monotonePolys : a list of monotone polygons (result) + //returns 1 on success, 0 on failure + int MonotonePartition(TPPLPolyList *inpolys, TPPLPolyList *monotonePolys); + + //partitions a polygon into convex polygons by using Hertel-Mehlhorn algorithm + //the algorithm gives at most four times the number of parts as the optimal algorithm + //however, in practice it works much better than that and often gives optimal partition + //uses triangulation obtained by ear clipping as intermediate result + //time complexity O(n^2), n is the number of vertices + //space complexity: O(n) + //params: + // poly : an input polygon to be partitioned + // vertices have to be in counter-clockwise order + // parts : resulting list of convex polygons + //returns 1 on success, 0 on failure + int ConvexPartition_HM(TPPLPoly *poly, TPPLPolyList *parts); + + //partitions a list of polygons into convex parts by using Hertel-Mehlhorn algorithm + //the algorithm gives at most four times the number of parts as the optimal algorithm + //however, in practice it works much better than that and often gives optimal partition + //uses triangulation obtained by ear clipping as intermediate result + //time complexity O(n^2), n is the number of vertices + //space complexity: O(n) + //params: + // inpolys : an input list of polygons to be partitioned + // vertices of all non-hole polys have to be in counter-clockwise order + // vertices of all hole polys have to be in clockwise order + // parts : resulting list of convex polygons + //returns 1 on success, 0 on failure + int ConvexPartition_HM(TPPLPolyList *inpolys, TPPLPolyList *parts); + + //optimal convex partitioning (in terms of number of resulting convex polygons) + //using the Keil-Snoeyink algorithm + //M. Keil, J. Snoeyink, "On the time bound for convex decomposition of simple polygons", 1998 + //time complexity O(n^3), n is the number of vertices + //space complexity: O(n^3) + // poly : an input polygon to be partitioned + // vertices have to be in counter-clockwise order + // parts : resulting list of convex polygons + //returns 1 on success, 0 on failure + int ConvexPartition_OPT(TPPLPoly *poly, TPPLPolyList *parts); +}; - //partitions a list of polygons into convex parts by using Hertel-Mehlhorn algorithm - //the algorithm gives at most four times the number of parts as the optimal algorithm - //however, in practice it works much better than that and often gives optimal partition - //uses triangulation obtained by ear clipping as intermediate result - //time complexity O(n^2), n is the number of vertices - //space complexity: O(n) - //params: - // inpolys : an input list of polygons to be partitioned - // vertices of all non-hole polys have to be in counter-clockwise order - // vertices of all hole polys have to be in clockwise order - // parts : resulting list of convex polygons - //returns 1 on success, 0 on failure - int ConvexPartition_HM(list *inpolys, list *parts); - //optimal convex partitioning (in terms of number of resulting convex polygons) - //using the Keil-Snoeyink algorithm - //M. Keil, J. Snoeyink, "On the time bound for convex decomposition of simple polygons", 1998 - //time complexity O(n^3), n is the number of vertices - //space complexity: O(n^3) - // poly : an input polygon to be partitioned - // vertices have to be in counter-clockwise order - // parts : resulting list of convex polygons - //returns 1 on success, 0 on failure - int ConvexPartition_OPT(TPPLPoly *poly, list *parts); -}; +#endif From 10641f7e9c67e3199c1be3ceb465636ca6d5f676 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 24 Jan 2019 15:32:50 +0100 Subject: [PATCH 169/189] Improved application recreation after language change --- src/slic3r/GUI/GUI_App.cpp | 20 +++++++++++++------- src/slic3r/GUI/GUI_App.hpp | 2 +- src/slic3r/GUI/MainFrame.cpp | 5 +++++ src/slic3r/GUI/Tab.hpp | 4 +--- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 1470c279e25..75b6d683496 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -274,6 +274,8 @@ void GUI_App::recreate_GUI() { std::cerr << "recreate_GUI" << std::endl; + clear_tabs_list(); + MainFrame* topwindow = dynamic_cast(GetTopWindow()); mainframe = new MainFrame(); sidebar().obj_list()->init_objects(); // propagate model objects to object list @@ -285,6 +287,8 @@ void GUI_App::recreate_GUI() m_printhost_job_queue.reset(new PrintHostJobQueue(mainframe->printhost_queue_dlg())); + load_current_presets(); + mainframe->Show(true); // On OSX the UI was not initialized correctly if the wizard was called @@ -669,13 +673,6 @@ bool GUI_App::checked_tab(Tab* tab) return ret; } -void GUI_App::delete_tab_from_list(Tab* tab) -{ - std::vector::iterator itr = find(tabs_list.begin(), tabs_list.end(), tab); - if (itr != tabs_list.end()) - tabs_list.erase(itr); -} - // Update UI / Tabs to reflect changes in the currently loaded presets void GUI_App::load_current_presets() { @@ -689,6 +686,15 @@ void GUI_App::load_current_presets() } } +void GUI_App::clear_tabs_list() +{ + for (auto tab : tabs_list) { + tab->Destroy(); + tab = nullptr; + } + tabs_list.clear(); +} + #ifdef __APPLE__ // wxWidgets override to get an event on open files. void GUI_App::MacOpenFiles(const wxArrayString &fileNames) diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index c398c449eaa..a5b96598fd8 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -133,8 +133,8 @@ class GUI_App : public wxApp void add_config_menu(wxMenuBar *menu); bool check_unsaved_changes(); bool checked_tab(Tab* tab); - void delete_tab_from_list(Tab* tab); void load_current_presets(); + void clear_tabs_list(); #ifdef __APPLE__ // wxWidgets override to get an event on open files. diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 46a46e950d9..f234ca1a45e 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -121,6 +121,11 @@ void MainFrame::init_tabpanel() } }); + if (wxGetApp().plater_) { + // before creating a new plater let's delete old one + wxGetApp().plater_->Destroy(); + wxGetApp().plater_ = nullptr; + } m_plater = new Slic3r::GUI::Plater(m_tabpanel, this); wxGetApp().plater_ = m_plater; m_tabpanel->AddPage(m_plater, _(L("Plater"))); diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index 9ec54e6ebd8..e00e87b620b 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -213,9 +213,7 @@ class Tab: public wxPanel public: Tab(wxNotebook* parent, const wxString& title, const char* name); - ~Tab() { - wxGetApp().delete_tab_from_list(this); - } + ~Tab() {} wxWindow* parent() const { return m_parent; } wxString title() const { return m_title; } From 43beaf46d8a88c9ffc5ee52fe1d3d262b5d404ce Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 24 Jan 2019 15:50:06 +0100 Subject: [PATCH 170/189] Deactivate layers editing tool if user selects more than one object --- src/slic3r/GUI/Plater.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 24471e254a3..800d3dc1f5c 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1593,7 +1593,14 @@ void Plater::priv::selection_changed() view3D->enable_toolbar_item("fewer", can_decrease_instances()); view3D->enable_toolbar_item("splitobjects", can_split/*_to_objects*/()); view3D->enable_toolbar_item("splitvolumes", can_split/*_to_volumes*/()); - view3D->enable_toolbar_item("layersediting", layers_height_allowed()); + + // if the selection is not valid to allow for layer editing, we need to turn off the tool if it is running + bool enable_layer_editing = layers_height_allowed(); + if (!enable_layer_editing && view3D->is_layers_editing_enabled()) + on_action_layersediting(SimpleEvent(EVT_GLTOOLBAR_LAYERSEDITING)); + + view3D->enable_toolbar_item("layersediting", enable_layer_editing); + // forces a frame render to update the view (to avoid a missed update if, for example, the context menu appears) view3D->render(); } @@ -2275,6 +2282,9 @@ void Plater::priv::on_action_split_volumes(SimpleEvent&) void Plater::priv::on_action_layersediting(SimpleEvent&) { +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + std::cout << "on_action_layersediting" << std::endl; +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ bool enable = !view3D->is_layers_editing_enabled(); view3D->enable_layers_editing(enable); if (enable && !view3D->is_layers_editing_enabled()) From d82cacf1d8b81eadb32867901c27e8f9e2e5e01c Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 24 Jan 2019 15:57:53 +0100 Subject: [PATCH 171/189] Removed debug code committed by mistake --- src/slic3r/GUI/Plater.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 800d3dc1f5c..530b6447480 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2282,9 +2282,6 @@ void Plater::priv::on_action_split_volumes(SimpleEvent&) void Plater::priv::on_action_layersediting(SimpleEvent&) { -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - std::cout << "on_action_layersediting" << std::endl; -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ bool enable = !view3D->is_layers_editing_enabled(); view3D->enable_layers_editing(enable); if (enable && !view3D->is_layers_editing_enabled()) From 49487c16e63032e0ceedd2f6dd8035f46694746a Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 24 Jan 2019 19:08:58 +0100 Subject: [PATCH 172/189] Improvements of the triangulation of SLA layer preview. --- src/libslic3r/ExPolygon.cpp | 155 ++++++++++++--- src/libslic3r/ExPolygon.hpp | 14 +- src/libslic3r/TriangleMesh.cpp | 2 +- src/slic3r/GUI/3DScene.cpp | 4 +- src/slic3r/GUI/GLCanvas3D.cpp | 332 ++++++++++++++++++++++++--------- src/slic3r/GUI/GLCanvas3D.hpp | 2 +- src/slic3r/GUI/GUI.cpp | 2 - 7 files changed, 385 insertions(+), 126 deletions(-) diff --git a/src/libslic3r/ExPolygon.cpp b/src/libslic3r/ExPolygon.cpp index 00bb4ffe4ee..f9c470450c7 100644 --- a/src/libslic3r/ExPolygon.cpp +++ b/src/libslic3r/ExPolygon.cpp @@ -310,16 +310,15 @@ ExPolygon::medial_axis(double max_width, double min_width, Polylines* polylines) polylines->insert(polylines->end(), tp.begin(), tp.end()); } -void -ExPolygon::get_trapezoids(Polygons* polygons) const +/* +void ExPolygon::get_trapezoids(Polygons* polygons) const { ExPolygons expp; expp.push_back(*this); boost::polygon::get_trapezoids(*polygons, expp); } -void -ExPolygon::get_trapezoids(Polygons* polygons, double angle) const +void ExPolygon::get_trapezoids(Polygons* polygons, double angle) const { ExPolygon clone = *this; clone.rotate(PI/2 - angle, Point(0,0)); @@ -327,12 +326,12 @@ ExPolygon::get_trapezoids(Polygons* polygons, double angle) const for (Polygons::iterator polygon = polygons->begin(); polygon != polygons->end(); ++polygon) polygon->rotate(-(PI/2 - angle), Point(0,0)); } +*/ // This algorithm may return more trapezoids than necessary // (i.e. it may break a single trapezoid in several because // other parts of the object have x coordinates in the middle) -void -ExPolygon::get_trapezoids2(Polygons* polygons) const +void ExPolygon::get_trapezoids2(Polygons* polygons) const { // get all points of this ExPolygon Points pp = *this; @@ -370,8 +369,7 @@ ExPolygon::get_trapezoids2(Polygons* polygons) const } } -void -ExPolygon::get_trapezoids2(Polygons* polygons, double angle) const +void ExPolygon::get_trapezoids2(Polygons* polygons, double angle) const { ExPolygon clone = *this; clone.rotate(PI/2 - angle, Point(0,0)); @@ -382,8 +380,7 @@ ExPolygon::get_trapezoids2(Polygons* polygons, double angle) const // While this triangulates successfully, it's NOT a constrained triangulation // as it will create more vertices on the boundaries than the ones supplied. -void -ExPolygon::triangulate(Polygons* polygons) const +void ExPolygon::triangulate(Polygons* polygons) const { // first make trapezoids Polygons trapezoids; @@ -394,8 +391,8 @@ ExPolygon::triangulate(Polygons* polygons) const polygon->triangulate_convex(polygons); } -void -ExPolygon::triangulate_pp(Polygons* polygons) const +/* +void ExPolygon::triangulate_pp(Polygons* polygons) const { // convert polygons std::list input; @@ -452,9 +449,113 @@ ExPolygon::triangulate_pp(Polygons* polygons) const polygons->push_back(p); } } +*/ + +std::list expoly_to_polypartition_input(const ExPolygon &ex) +{ + std::list input; + // contour + { + input.emplace_back(); + TPPLPoly &p = input.back(); + p.Init(int(ex.contour.points.size())); + for (const Point &point : ex.contour.points) { + size_t i = &point - &ex.contour.points.front(); + p[i].x = point(0); + p[i].y = point(1); + } + p.SetHole(false); + } + // holes + for (const Polygon &hole : ex.holes) { + input.emplace_back(); + TPPLPoly &p = input.back(); + p.Init(hole.points.size()); + for (const Point &point : hole.points) { + size_t i = &point - &hole.points.front(); + p[i].x = point(0); + p[i].y = point(1); + } + p.SetHole(true); + } + return input; +} + +std::list expoly_to_polypartition_input(const ExPolygons &expps) +{ + std::list input; + for (const ExPolygon &ex : expps) { + // contour + { + input.emplace_back(); + TPPLPoly &p = input.back(); + p.Init(int(ex.contour.points.size())); + for (const Point &point : ex.contour.points) { + size_t i = &point - &ex.contour.points.front(); + p[i].x = point(0); + p[i].y = point(1); + } + p.SetHole(false); + } + // holes + for (const Polygon &hole : ex.holes) { + input.emplace_back(); + TPPLPoly &p = input.back(); + p.Init(hole.points.size()); + for (const Point &point : hole.points) { + size_t i = &point - &hole.points.front(); + p[i].x = point(0); + p[i].y = point(1); + } + p.SetHole(true); + } + } + return input; +} + +std::vector polypartition_output_to_triangles(const std::list &output) +{ + size_t num_triangles = 0; + for (const TPPLPoly &poly : output) + if (poly.GetNumPoints() >= 3) + num_triangles += (size_t)poly.GetNumPoints() - 2; + std::vector triangles; + triangles.reserve(triangles.size() + num_triangles * 3); + for (const TPPLPoly &poly : output) { + long num_points = poly.GetNumPoints(); + if (num_points >= 3) { + const TPPLPoint *pt0 = &poly[0]; + const TPPLPoint *pt1 = nullptr; + const TPPLPoint *pt2 = &poly[1]; + for (long i = 2; i < num_points; ++ i) { + pt1 = pt2; + pt2 = &poly[i]; + triangles.emplace_back(coord_t(pt0->x), coord_t(pt0->y)); + triangles.emplace_back(coord_t(pt1->x), coord_t(pt1->y)); + triangles.emplace_back(coord_t(pt2->x), coord_t(pt2->y)); + } + } + } + return triangles; +} -void -ExPolygon::triangulate_p2t(Polygons* polygons) const +void ExPolygon::triangulate_pp(Points *triangles) const +{ + ExPolygons expp = union_ex(simplify_polygons(to_polygons(*this), true)); + std::list input = expoly_to_polypartition_input(expp); + // perform triangulation + std::list output; + int res = TPPLPartition().Triangulate_MONO(&input, &output); +// int TPPLPartition::Triangulate_EC(TPPLPolyList *inpolys, TPPLPolyList *triangles) { + if (res != 1) + throw std::runtime_error("Triangulation failed"); + *triangles = polypartition_output_to_triangles(output); +} + +// Uses the Poly2tri library maintained by Jan Niklas Hasse @jhasse // https://github.com/jhasse/poly2tri +// See https://github.com/jhasse/poly2tri/blob/master/README.md for the limitations of the library! +// No duplicate points are allowed, no very close points, holes must not touch outer contour etc. +void ExPolygon::triangulate_p2t(Polygons* polygons) const { ExPolygons expp = simplify_polygons_ex(*this, true); @@ -478,16 +579,21 @@ ExPolygon::triangulate_p2t(Polygons* polygons) const } // perform triangulation - cdt.Triangulate(); - std::vector triangles = cdt.GetTriangles(); - - for (std::vector::const_iterator triangle = triangles.begin(); triangle != triangles.end(); ++triangle) { - Polygon p; - for (int i = 0; i <= 2; ++i) { - p2t::Point* point = (*triangle)->GetPoint(i); - p.points.push_back(Point(point->x, point->y)); + try { + cdt.Triangulate(); + std::vector triangles = cdt.GetTriangles(); + + for (std::vector::const_iterator triangle = triangles.begin(); triangle != triangles.end(); ++triangle) { + Polygon p; + for (int i = 0; i <= 2; ++i) { + p2t::Point* point = (*triangle)->GetPoint(i); + p.points.push_back(Point(point->x, point->y)); + } + polygons->push_back(p); } - polygons->push_back(p); + } catch (const std::runtime_error & /* err */) { + assert(false); + // just ignore, don't triangulate } for (p2t::Point *ptr : ContourPoints) @@ -495,8 +601,7 @@ ExPolygon::triangulate_p2t(Polygons* polygons) const } } -Lines -ExPolygon::lines() const +Lines ExPolygon::lines() const { Lines lines = this->contour.lines(); for (Polygons::const_iterator h = this->holes.begin(); h != this->holes.end(); ++h) { diff --git a/src/libslic3r/ExPolygon.hpp b/src/libslic3r/ExPolygon.hpp index 4833ee49ec2..afbc0931e72 100644 --- a/src/libslic3r/ExPolygon.hpp +++ b/src/libslic3r/ExPolygon.hpp @@ -6,6 +6,9 @@ #include "Polyline.hpp" #include +// polygon class of the polypartition library +class TPPLPoly; + namespace Slic3r { class ExPolygon; @@ -55,12 +58,13 @@ class ExPolygon void simplify(double tolerance, ExPolygons* expolygons) const; void medial_axis(double max_width, double min_width, ThickPolylines* polylines) const; void medial_axis(double max_width, double min_width, Polylines* polylines) const; - void get_trapezoids(Polygons* polygons) const; - void get_trapezoids(Polygons* polygons, double angle) const; +// void get_trapezoids(Polygons* polygons) const; +// void get_trapezoids(Polygons* polygons, double angle) const; void get_trapezoids2(Polygons* polygons) const; void get_trapezoids2(Polygons* polygons, double angle) const; void triangulate(Polygons* polygons) const; - void triangulate_pp(Polygons* polygons) const; + // Triangulate into triples of points. + void triangulate_pp(Points *triangles) const; void triangulate_p2t(Polygons* polygons) const; Lines lines() const; }; @@ -297,6 +301,10 @@ extern std::vector get_extents_vector(const ExPolygons &polygons); extern bool remove_sticks(ExPolygon &poly); +extern std::list expoly_to_polypartition_input(const ExPolygons &expp); +extern std::list expoly_to_polypartition_input(const ExPolygon &ex); +extern std::vector polypartition_output_to_triangles(const std::list &output); + } // namespace Slic3r // start Boost diff --git a/src/libslic3r/TriangleMesh.cpp b/src/libslic3r/TriangleMesh.cpp index ff8c2028944..4648b95c0e0 100644 --- a/src/libslic3r/TriangleMesh.cpp +++ b/src/libslic3r/TriangleMesh.cpp @@ -41,7 +41,7 @@ namespace Slic3r { -TriangleMesh::TriangleMesh(const Pointf3s &points, const std::vector& facets ) +TriangleMesh::TriangleMesh(const Pointf3s &points, const std::vector& facets) : repaired(false) { stl_initialize(&this->stl); diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index c6265f27569..6e2cbc588f1 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -1995,7 +1995,7 @@ bool GLBed::on_init_from_file(const std::string& filename, bool useVBOs) { model = Model::read_from_file(filename); } - catch (std::exception &e) + catch (std::exception & /* ex */) { return false; } @@ -2014,7 +2014,7 @@ bool GLBed::on_init_from_file(const std::string& filename, bool useVBOs) else m_volume.indexed_vertex_array.load_mesh_flat_shading(mesh); - float color[4] = { 0.235f, 0.235, 0.235f, 1.0f }; + float color[4] = { 0.235f, 0.235f, 0.235f, 1.0f }; set_color(color, 4); m_volume.bounding_box = m_volume.indexed_vertex_array.bounding_box(); diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 63b9864b719..9c3a29536ac 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2,6 +2,7 @@ #include "GLCanvas3D.hpp" #include "admesh/stl.h" +#include "polypartition.h" #include "libslic3r/libslic3r.h" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/PrintConfig.hpp" @@ -6538,6 +6539,219 @@ void GLCanvas3D::_render_camera_target() const } #endif // ENABLE_SHOW_CAMERA_TARGET +class TessWrapper { +public: + static Pointf3s tesselate(const ExPolygon &expoly, double z_, bool flipped_) + { + z = z_; + flipped = flipped_; + triangles.clear(); + intersection_points.clear(); + std::vector coords; + { + size_t num_coords = expoly.contour.points.size(); + for (const Polygon &poly : expoly.holes) + num_coords += poly.points.size(); + coords.reserve(num_coords * 3); + } + GLUtesselator *tess = gluNewTess(); // create a tessellator + // register callback functions + gluTessCallback(tess, GLU_TESS_BEGIN, (void(__stdcall*)(void))tessBeginCB); + gluTessCallback(tess, GLU_TESS_END, (void(__stdcall*)(void))tessEndCB); + gluTessCallback(tess, GLU_TESS_ERROR, (void(__stdcall*)(void))tessErrorCB); + gluTessCallback(tess, GLU_TESS_VERTEX, (void(__stdcall*)())tessVertexCB); + gluTessCallback(tess, GLU_TESS_COMBINE, (void (__stdcall*)(void))tessCombineCB); + gluTessBeginPolygon(tess, 0); // with NULL data + gluTessBeginContour(tess); + for (const Point &pt : expoly.contour.points) { + coords.emplace_back(unscale(pt[0])); + coords.emplace_back(unscale(pt[1])); + coords.emplace_back(0.); + gluTessVertex(tess, &coords[coords.size() - 3], &coords[coords.size() - 3]); + } + gluTessEndContour(tess); + for (const Polygon &poly : expoly.holes) { + gluTessBeginContour(tess); + for (const Point &pt : poly.points) { + coords.emplace_back(unscale(pt[0])); + coords.emplace_back(unscale(pt[1])); + coords.emplace_back(0.); + gluTessVertex(tess, &coords[coords.size() - 3], &coords[coords.size() - 3]); + } + gluTessEndContour(tess); + } + gluTessEndPolygon(tess); + gluDeleteTess(tess); + return std::move(triangles); + } + +private: + static void tessBeginCB(GLenum which) + { + assert(which == GL_TRIANGLES || which == GL_TRIANGLE_FAN || which == GL_TRIANGLE_STRIP); + if (!(which == GL_TRIANGLES || which == GL_TRIANGLE_FAN || which == GL_TRIANGLE_STRIP)) + printf("Co je to za haluz!?\n"); + primitive_type = which; + num_points = 0; + } + + static void tessEndCB() + { + num_points = 0; + } + + static void tessVertexCB(const GLvoid *data) + { + if (data == nullptr) + return; + const GLdouble *ptr = (const GLdouble*)data; + ++ num_points; + if (num_points == 1) { + memcpy(pt0, ptr, sizeof(GLdouble) * 3); + } else if (num_points == 2) { + memcpy(pt1, ptr, sizeof(GLdouble) * 3); + } else { + bool flip = flipped; + if (primitive_type == GL_TRIANGLE_STRIP && num_points == 4) { + flip = !flip; + num_points = 2; + } + triangles.emplace_back(pt0[0], pt0[1], z); + if (flip) { + triangles.emplace_back(ptr[0], ptr[1], z); + triangles.emplace_back(pt1[0], pt1[1], z); + } else { + triangles.emplace_back(pt1[0], pt1[1], z); + triangles.emplace_back(ptr[0], ptr[1], z); + } + if (primitive_type == GL_TRIANGLE_STRIP) { + memcpy(pt0, pt1, sizeof(GLdouble) * 3); + memcpy(pt1, ptr, sizeof(GLdouble) * 3); + } else if (primitive_type == GL_TRIANGLE_FAN) { + memcpy(pt1, ptr, sizeof(GLdouble) * 3); + } else { + assert(which == GL_TRIANGLES); + assert(num_points == 3); + num_points = 0; + } + } + } + + static void tessCombineCB(const GLdouble newVertex[3], const GLdouble *neighborVertex[4], const GLfloat neighborWeight[4], GLdouble **outData) + { + intersection_points.emplace_back(newVertex[0], newVertex[1], newVertex[2]); + *outData = intersection_points.back().data(); + } + + static void tessErrorCB(GLenum errorCode) + { + const GLubyte *errorStr; + errorStr = gluErrorString(errorCode); + printf("Error: %s\n", (const char*)errorStr); + } + + static GLenum primitive_type; + static GLdouble pt0[3]; + static GLdouble pt1[3]; + static int num_points; + static Pointf3s triangles; + static std::deque intersection_points; + static double z; + static bool flipped; +}; + +GLenum TessWrapper::primitive_type; +GLdouble TessWrapper::pt0[3]; +GLdouble TessWrapper::pt1[3]; +int TessWrapper::num_points; +Pointf3s TessWrapper::triangles; +std::deque TessWrapper::intersection_points; +double TessWrapper::z; +bool TessWrapper::flipped; + +static Pointf3s triangulate_expolygons(const ExPolygons &polys, coordf_t z, bool flip) +{ + Pointf3s triangles; +#if 0 + for (const ExPolygon& poly : polys) { + Polygons poly_triangles; + // poly.triangulate() is based on a trapezoidal decomposition implemented in an extremely expensive way by clipping the whole input contour with a polygon! + poly.triangulate(&poly_triangles); + // poly.triangulate_p2t() is based on the poly2tri library, which is not quite stable, it often ends up in a nice stack overflow! + // poly.triangulate_p2t(&poly_triangles); + for (const Polygon &t : poly_triangles) + if (flip) { + triangles.emplace_back(to_3d(unscale(t.points[2]), z)); + triangles.emplace_back(to_3d(unscale(t.points[1]), z)); + triangles.emplace_back(to_3d(unscale(t.points[0]), z)); + } else { + triangles.emplace_back(to_3d(unscale(t.points[0]), z)); + triangles.emplace_back(to_3d(unscale(t.points[1]), z)); + triangles.emplace_back(to_3d(unscale(t.points[2]), z)); + } + } +#else + +// for (const ExPolygon &poly : union_ex(simplify_polygons(to_polygons(polys), true))) { + for (const ExPolygon &poly : polys) { + append(triangles, TessWrapper::tesselate(poly, z, flip)); + continue; + + std::list input = expoly_to_polypartition_input(poly); + std::list output; + // int res = TPPLPartition().Triangulate_MONO(&input, &output); + int res = TPPLPartition().Triangulate_EC(&input, &output); + if (res == 1) { + // Triangulation succeeded. Convert to triangles. + size_t num_triangles = 0; + for (const TPPLPoly &poly : output) + if (poly.GetNumPoints() >= 3) + num_triangles += (size_t)poly.GetNumPoints() - 2; + triangles.reserve(triangles.size() + num_triangles * 3); + for (const TPPLPoly &poly : output) { + long num_points = poly.GetNumPoints(); + if (num_points >= 3) { + const TPPLPoint *pt0 = &poly[0]; + const TPPLPoint *pt1 = nullptr; + const TPPLPoint *pt2 = &poly[1]; + for (long i = 2; i < num_points; ++i) { + pt1 = pt2; + pt2 = &poly[i]; + if (flip) { + triangles.emplace_back(unscale(pt2->x), unscale(pt2->y), z); + triangles.emplace_back(unscale(pt1->x), unscale(pt1->y), z); + triangles.emplace_back(unscale(pt0->x), unscale(pt0->y), z); + } else { + triangles.emplace_back(unscale(pt0->x), unscale(pt0->y), z); + triangles.emplace_back(unscale(pt1->x), unscale(pt1->y), z); + triangles.emplace_back(unscale(pt2->x), unscale(pt2->y), z); + } + } + } + } + } else { + // Triangulation by polypartition failed. Use the expensive slow implementation. + Polygons poly_triangles; + // poly.triangulate() is based on a trapezoidal decomposition implemented in an extremely expensive way by clipping the whole input contour with a polygon! + poly.triangulate(&poly_triangles); + // poly.triangulate_p2t() is based on the poly2tri library, which is not quite stable, it often ends up in a nice stack overflow! + // poly.triangulate_p2t(&poly_triangles); + for (const Polygon &t : poly_triangles) + if (flip) { + triangles.emplace_back(to_3d(unscale(t.points[2]), z)); + triangles.emplace_back(to_3d(unscale(t.points[1]), z)); + triangles.emplace_back(to_3d(unscale(t.points[0]), z)); + } else { + triangles.emplace_back(to_3d(unscale(t.points[0]), z)); + triangles.emplace_back(to_3d(unscale(t.points[1]), z)); + triangles.emplace_back(to_3d(unscale(t.points[2]), z)); + } + } + } +#endif + return triangles; +} + void GLCanvas3D::_render_sla_slices() const { if (!m_use_clipping_planes || wxGetApp().preset_bundle->printers.get_edited_preset().printer_technology() != ptSLA) @@ -6555,34 +6769,32 @@ void GLCanvas3D::_render_sla_slices() const { const SLAPrintObject* obj = print_objects[i]; - Pointf3s bottom_obj_triangles; - Pointf3s bottom_sup_triangles; - Pointf3s top_obj_triangles; - Pointf3s top_sup_triangles; - double shift_z = obj->get_current_elevation(); double min_z = clip_min_z - shift_z; double max_z = clip_max_z - shift_z; - if (m_sla_caps[0].matches(min_z)) + SlaCap::ObjectIdToTrianglesMap::iterator it_caps_bottom = m_sla_caps[0].triangles.find(i); + SlaCap::ObjectIdToTrianglesMap::iterator it_caps_top = m_sla_caps[1].triangles.find(i); { - SlaCap::ObjectIdToTrianglesMap::const_iterator it = m_sla_caps[0].triangles.find(i); - if (it != m_sla_caps[0].triangles.end()) - { - bottom_obj_triangles = it->second.object; - bottom_sup_triangles = it->second.suppports; + if (it_caps_bottom == m_sla_caps[0].triangles.end()) + it_caps_bottom = m_sla_caps[0].triangles.emplace(i, SlaCap::Triangles()).first; + if (! m_sla_caps[0].matches(min_z)) { + m_sla_caps[0].z = min_z; + it_caps_bottom->second.object.clear(); + it_caps_bottom->second.supports.clear(); } - } - - if (m_sla_caps[1].matches(max_z)) - { - SlaCap::ObjectIdToTrianglesMap::const_iterator it = m_sla_caps[1].triangles.find(i); - if (it != m_sla_caps[1].triangles.end()) - { - top_obj_triangles = it->second.object; - top_sup_triangles = it->second.suppports; + if (it_caps_top == m_sla_caps[1].triangles.end()) + it_caps_top = m_sla_caps[1].triangles.emplace(i, SlaCap::Triangles()).first; + if (! m_sla_caps[1].matches(max_z)) { + m_sla_caps[1].z = max_z; + it_caps_top->second.object.clear(); + it_caps_top->second.supports.clear(); } } + Pointf3s &bottom_obj_triangles = it_caps_bottom->second.object; + Pointf3s &bottom_sup_triangles = it_caps_bottom->second.supports; + Pointf3s &top_obj_triangles = it_caps_top->second.object; + Pointf3s &top_sup_triangles = it_caps_top->second.supports; const std::vector& instances = obj->instances(); struct InstanceTransform @@ -6608,86 +6820,22 @@ void GLCanvas3D::_render_sla_slices() const if (it_min_z != index.end()) { + // calculate model bottom cap if (bottom_obj_triangles.empty() && (it_min_z->second.model_slices_idx < model_slices.size())) - { - // calculate model bottom cap - const ExPolygons& polys = model_slices[it_min_z->second.model_slices_idx]; - for (const ExPolygon& poly : polys) - { - Polygons poly_triangles; - poly.triangulate(&poly_triangles); - for (const Polygon& t : poly_triangles) - { - for (int v = 2; v >= 0; --v) - { - bottom_obj_triangles.emplace_back(to_3d(unscale(t.points[v]), min_z)); - } - } - } - } - + bottom_obj_triangles = triangulate_expolygons(model_slices[it_min_z->second.model_slices_idx], min_z, true); + // calculate support bottom cap if (bottom_sup_triangles.empty() && (it_min_z->second.support_slices_idx < support_slices.size())) - { - // calculate support bottom cap - const ExPolygons& polys = support_slices[it_min_z->second.support_slices_idx]; - for (const ExPolygon& poly : polys) - { - Polygons poly_triangles; - poly.triangulate(&poly_triangles); - for (const Polygon& t : poly_triangles) - { - for (int v = 2; v >= 0; --v) - { - bottom_sup_triangles.emplace_back(to_3d(unscale(t.points[v]), min_z)); - } - } - } - - m_sla_caps[0].triangles.insert(SlaCap::ObjectIdToTrianglesMap::value_type(i, { bottom_obj_triangles, bottom_sup_triangles })); - m_sla_caps[0].z = min_z; - } + bottom_sup_triangles = triangulate_expolygons(support_slices[it_min_z->second.support_slices_idx], min_z, true); } if (it_max_z != index.end()) { + // calculate model top cap if (top_obj_triangles.empty() && (it_max_z->second.model_slices_idx < model_slices.size())) - { - // calculate model top cap - const ExPolygons& polys = model_slices[it_max_z->second.model_slices_idx]; - for (const ExPolygon& poly : polys) - { - Polygons poly_triangles; - poly.triangulate(&poly_triangles); - for (const Polygon& t : poly_triangles) - { - for (int v = 0; v < 3; ++v) - { - top_obj_triangles.emplace_back(to_3d(unscale(t.points[v]), max_z)); - } - } - } - } - + top_obj_triangles = triangulate_expolygons(model_slices[it_max_z->second.model_slices_idx], max_z, false); + // calculate support top cap if (top_sup_triangles.empty() && (it_max_z->second.support_slices_idx < support_slices.size())) - { - // calculate support top cap - const ExPolygons& polys = support_slices[it_max_z->second.support_slices_idx]; - for (const ExPolygon& poly : polys) - { - Polygons poly_triangles; - poly.triangulate(&poly_triangles); - for (const Polygon& t : poly_triangles) - { - for (int v = 0; v < 3; ++v) - { - top_sup_triangles.emplace_back(to_3d(unscale(t.points[v]), max_z)); - } - } - } - } - - m_sla_caps[1].triangles.insert(SlaCap::ObjectIdToTrianglesMap::value_type(i, { top_obj_triangles, top_sup_triangles })); - m_sla_caps[1].z = max_z; + top_sup_triangles = triangulate_expolygons(support_slices[it_max_z->second.support_slices_idx], max_z, false); } } diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index ab53d50481a..1ca9c234f93 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -790,7 +790,7 @@ class GLCanvas3D struct Triangles { Pointf3s object; - Pointf3s suppports; + Pointf3s supports; }; typedef std::map ObjectIdToTrianglesMap; double z; diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index 0ff4ed161ab..148285e86e9 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -245,8 +245,6 @@ void show_info(wxWindow* parent, const wxString& message, const wxString& title) void warning_catcher(wxWindow* parent, const wxString& message) { - if (message == "GLUquadricObjPtr | " + _(L("Attempt to free unreferenced scalar")) ) - return; wxMessageDialog msg(parent, message, _(L("Warning")), wxOK | wxICON_WARNING); msg.ShowModal(); } From de70b6a06a535d822934d5588a9f5ecc4ebf2c42 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 24 Jan 2019 19:22:35 +0100 Subject: [PATCH 173/189] Removed ExPolygon::triangulate_pp() from Perl XS bindings and unit tests. --- xs/t/04_expolygon.t | 8 +------- xs/xsp/ExPolygon.xsp | 4 ---- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/xs/t/04_expolygon.t b/xs/t/04_expolygon.t index 5c10651f828..0ad36f5b50f 100644 --- a/xs/t/04_expolygon.t +++ b/xs/t/04_expolygon.t @@ -5,7 +5,7 @@ use warnings; use List::Util qw(first sum); use Slic3r::XS; -use Test::More tests => 33; +use Test::More tests => 32; use constant PI => 4 * atan2(1, 1); @@ -133,10 +133,4 @@ is $expolygon->area, 100*100-20*20, 'area'; is scalar(grep { $_->area == 100*200 } @$polygons), 1, 'trapezoids have expected area'; } -{ - my $triangles = $expolygon->triangulate_pp; - is scalar(@$triangles), 8, 'expected number of triangles'; - is sum(map $_->area, @$triangles), $expolygon->area, 'sum of triangles area equals original expolygon area'; -} - __END__ diff --git a/xs/xsp/ExPolygon.xsp b/xs/xsp/ExPolygon.xsp index d45b7f6b172..bb138732fbf 100644 --- a/xs/xsp/ExPolygon.xsp +++ b/xs/xsp/ExPolygon.xsp @@ -31,14 +31,10 @@ Polygons simplify_p(double tolerance); Polylines medial_axis(double max_width, double min_width) %code{% THIS->medial_axis(max_width, min_width, &RETVAL); %}; - Polygons get_trapezoids(double angle) - %code{% THIS->get_trapezoids(&RETVAL, angle); %}; Polygons get_trapezoids2(double angle) %code{% THIS->get_trapezoids2(&RETVAL, angle); %}; Polygons triangulate() %code{% THIS->triangulate(&RETVAL); %}; - Polygons triangulate_pp() - %code{% THIS->triangulate_pp(&RETVAL); %}; %{ ExPolygon* From 24d736f736f62a02a87e115cccf3e78cd52f7561 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 24 Jan 2019 11:53:37 +0100 Subject: [PATCH 174/189] PrintHostDialogs: Disable smart substitutions on Mac --- src/slic3r/GUI/PrintHostDialogs.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/slic3r/GUI/PrintHostDialogs.cpp b/src/slic3r/GUI/PrintHostDialogs.cpp index 5790823a130..d6b5f3469e6 100644 --- a/src/slic3r/GUI/PrintHostDialogs.cpp +++ b/src/slic3r/GUI/PrintHostDialogs.cpp @@ -30,6 +30,10 @@ PrintHostSendDialog::PrintHostSendDialog(const fs::path &path) , txt_filename(new wxTextCtrl(this, wxID_ANY, path.filename().wstring())) , box_print(new wxCheckBox(this, wxID_ANY, _(L("Start printing after upload")))) { +#ifdef __APPLE__ + txt_filename->OSXDisableAllSmartSubstitutions(); +#endif + auto *label_dir_hint = new wxStaticText(this, wxID_ANY, _(L("Use forward slashes ( / ) as a directory separator if needed."))); label_dir_hint->Wrap(CONTENT_WIDTH); From 28f1a6f2561d915443e20b7e8e911d8821be4c69 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Thu, 24 Jan 2019 19:58:34 +0100 Subject: [PATCH 175/189] Build: Fix wx-config status message --- src/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fd5a735d757..b5948674aec 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -50,7 +50,6 @@ if (SLIC3R_GUI) if(WIN32) message(STATUS "WXWIN environment set to: $ENV{WXWIN}") elseif(UNIX) - message(STATUS "wx-config path: ${wxWidgets_CONFIG_EXECUTABLE}") set(wxWidgets_USE_UNICODE ON) if(SLIC3R_STATIC) set(wxWidgets_USE_STATIC ON) @@ -72,6 +71,10 @@ if (SLIC3R_GUI) find_package(wxWidgets 3.1 REQUIRED COMPONENTS base core adv html gl) endif () + if(UNIX) + message(STATUS "wx-config path: ${wxWidgets_CONFIG_EXECUTABLE}") + endif() + include(${wxWidgets_USE_FILE}) endif() From 4487f51c300aef27eb27edbf3ad97b670b05bc40 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 24 Jan 2019 20:53:15 +0100 Subject: [PATCH 176/189] Yet one more fix of a unit test. --- xs/t/04_expolygon.t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xs/t/04_expolygon.t b/xs/t/04_expolygon.t index 0ad36f5b50f..39da22f0a99 100644 --- a/xs/t/04_expolygon.t +++ b/xs/t/04_expolygon.t @@ -5,7 +5,7 @@ use warnings; use List::Util qw(first sum); use Slic3r::XS; -use Test::More tests => 32; +use Test::More tests => 31; use constant PI => 4 * atan2(1, 1); From ceea83720a7a65d0c56efa7eab49f668fbe0bb4b Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 25 Jan 2019 08:37:06 +0100 Subject: [PATCH 177/189] Fixed build on OSX & Linux --- src/slic3r/GUI/Plater.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 530b6447480..2ecb372116b 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1596,8 +1596,10 @@ void Plater::priv::selection_changed() // if the selection is not valid to allow for layer editing, we need to turn off the tool if it is running bool enable_layer_editing = layers_height_allowed(); - if (!enable_layer_editing && view3D->is_layers_editing_enabled()) - on_action_layersediting(SimpleEvent(EVT_GLTOOLBAR_LAYERSEDITING)); + if (!enable_layer_editing && view3D->is_layers_editing_enabled()) { + SimpleEvent evt(EVT_GLTOOLBAR_LAYERSEDITING); + on_action_layersediting(evt); + } view3D->enable_toolbar_item("layersediting", enable_layer_editing); From ee87d73916d721a236d4fff84106549ce65c6efa Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 25 Jan 2019 09:06:49 +0100 Subject: [PATCH 178/189] Fixed compilation on Linux. --- src/slic3r/GUI/GLCanvas3D.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index a4f3f0f04bd..8b0af67b7cb 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -6554,11 +6554,18 @@ class TessWrapper { } GLUtesselator *tess = gluNewTess(); // create a tessellator // register callback functions - gluTessCallback(tess, GLU_TESS_BEGIN, (void(__stdcall*)(void))tessBeginCB); - gluTessCallback(tess, GLU_TESS_END, (void(__stdcall*)(void))tessEndCB); - gluTessCallback(tess, GLU_TESS_ERROR, (void(__stdcall*)(void))tessErrorCB); - gluTessCallback(tess, GLU_TESS_VERTEX, (void(__stdcall*)())tessVertexCB); - gluTessCallback(tess, GLU_TESS_COMBINE, (void (__stdcall*)(void))tessCombineCB); +#ifndef _GLUfuncptr + #ifdef _MSC_VER + typedef void (__stdcall *_GLUfuncptr)(void); + #else /* _MSC_VER */ + typedef void (GLAPIENTRYP _GLUfuncptr)(void); + #endif /* _MSC_VER */ +#endif /* _GLUfuncptr */ + gluTessCallback(tess, GLU_TESS_BEGIN, (_GLUfuncptr)tessBeginCB); + gluTessCallback(tess, GLU_TESS_END, (_GLUfuncptr)tessEndCB); + gluTessCallback(tess, GLU_TESS_ERROR, (_GLUfuncptr)tessErrorCB); + gluTessCallback(tess, GLU_TESS_VERTEX, (_GLUfuncptr)tessVertexCB); + gluTessCallback(tess, GLU_TESS_COMBINE, (_GLUfuncptr)tessCombineCB); gluTessBeginPolygon(tess, 0); // with NULL data gluTessBeginContour(tess); for (const Point &pt : expoly.contour.points) { @@ -6628,7 +6635,7 @@ class TessWrapper { } else if (primitive_type == GL_TRIANGLE_FAN) { memcpy(pt1, ptr, sizeof(GLdouble) * 3); } else { - assert(which == GL_TRIANGLES); + assert(primitive_type == GL_TRIANGLES); assert(num_points == 3); num_points = 0; } From dbcf800353344e1b705aca878895004130fe76ed Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 25 Jan 2019 09:57:08 +0100 Subject: [PATCH 179/189] Yet another compilation fix on OSX --- src/slic3r/GUI/GLCanvas3D.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 8b0af67b7cb..4d14fca4b82 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -6558,7 +6558,11 @@ class TessWrapper { #ifdef _MSC_VER typedef void (__stdcall *_GLUfuncptr)(void); #else /* _MSC_VER */ - typedef void (GLAPIENTRYP _GLUfuncptr)(void); + #ifdef GLAPIENTRYP + typedef void (GLAPIENTRYP _GLUfuncptr)(void); + #else /* GLAPIENTRYP */ + typedef void (*_GLUfuncptr)(void); + #endif #endif /* _MSC_VER */ #endif /* _GLUfuncptr */ gluTessCallback(tess, GLU_TESS_BEGIN, (_GLUfuncptr)tessBeginCB); From 9b8cdb95dc8d3f1b48c1c06898152b06178cb076 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 25 Jan 2019 10:34:32 +0100 Subject: [PATCH 180/189] Updated view mode for object_list and object_menu --- src/slic3r/GUI/GUI_App.cpp | 10 ++++++-- src/slic3r/GUI/GUI_ObjectList.cpp | 40 ++++++++++++++++++++++--------- src/slic3r/GUI/GUI_ObjectList.hpp | 4 +++- src/slic3r/GUI/MainFrame.cpp | 5 ---- src/slic3r/GUI/Plater.cpp | 27 +++++++++------------ 5 files changed, 51 insertions(+), 35 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 3e65232f253..2488ab7c3c2 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -159,7 +159,7 @@ bool GUI_App::OnInit() // ! Temporary workaround for the correct behavior of the Scrolled sidebar panel // Do this "manipulations" only once ( after (re)create of the application ) - if (sidebar().obj_list()->GetMinHeight() > 200) + if (plater_ && sidebar().obj_list()->GetMinHeight() > 200) { wxWindowUpdateLocker noUpdates_sidebar(&sidebar()); sidebar().obj_list()->SetMinSize(wxSize(-1, 200)); @@ -273,6 +273,11 @@ void GUI_App::recreate_GUI() std::cerr << "recreate_GUI" << std::endl; clear_tabs_list(); + if (plater_) { + // before creating a new plater let's delete old one + plater_->Destroy(); + plater_ = nullptr; + } MainFrame* topwindow = dynamic_cast(GetTopWindow()); mainframe = new MainFrame(); @@ -531,10 +536,11 @@ void GUI_App::update_mode() const ConfigOptionMode mode = wxGetApp().get_mode(); - obj_list()->get_sizer()->Show(mode == comExpert); + obj_list()->get_sizer()->Show(mode > comSimple); sidebar().set_mode_value(mode); // sidebar().show_buttons(mode == comExpert); obj_list()->update_selections(); + obj_list()->update_object_menu(); sidebar().update_mode_sizer(mode); diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index a880b2cbe18..ec679aa799f 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -696,9 +696,11 @@ void ObjectList::get_settings_choice(const wxString& category_name) void ObjectList::append_menu_item_add_generic(wxMenuItem* menu, const int type) { auto sub_menu = new wxMenu; + if (wxGetApp().get_mode() == comExpert) { append_menu_item(sub_menu, wxID_ANY, _(L("Load")) + " " + dots, "", [this, type](wxCommandEvent&) { load_subobject(type); }, "", menu->GetMenu()); sub_menu->AppendSeparator(); + } std::vector menu_items = { L("Box"), L("Cylinder"), L("Sphere"), L("Slab") }; for (auto& item : menu_items) { @@ -709,7 +711,7 @@ void ObjectList::append_menu_item_add_generic(wxMenuItem* menu, const int type) menu->SetSubMenu(sub_menu); } -void ObjectList::append_menu_items_add_volume(wxMenu* menu) +void ObjectList::append_menu_items_add_volume(wxMenu* menu, wxMenuItem* *item_separator) { // Note: id accords to type of the sub-object, so sequence of the menu items is important std::vector menu_object_types_items = {L("Add part"), // ~ModelVolume::MODEL_PART @@ -723,22 +725,30 @@ void ObjectList::append_menu_items_add_volume(wxMenu* menu) if (settings_id != wxNOT_FOUND) menu->Destroy(settings_id); } + if (*item_separator) + menu->Destroy(*item_separator); - if (wxGetApp().get_mode() == comSimple) + const ConfigOptionMode mode = wxGetApp().get_mode(); + + if (mode < comExpert) { append_menu_item(menu, wxID_ANY, _(L("Add part")), "", [this](wxCommandEvent&) { load_subobject(ModelVolume::MODEL_PART); }, *m_bmp_vector[ModelVolume::MODEL_PART]); + } + if (mode == comSimple) { append_menu_item(menu, wxID_ANY, _(L("Add support enforcer")), "", - [this](wxCommandEvent&) { load_generic_subobject(_(L("Box")).ToUTF8().data(), ModelVolume::SUPPORT_ENFORCER); }, + [this](wxCommandEvent&) { load_generic_subobject(_(L("Box")).ToUTF8().data(), ModelVolume::SUPPORT_ENFORCER); }, *m_bmp_vector[ModelVolume::SUPPORT_ENFORCER]); append_menu_item(menu, wxID_ANY, _(L("Add support blocker")), "", - [this](wxCommandEvent&) { load_generic_subobject(_(L("Box")).ToUTF8().data(), ModelVolume::SUPPORT_BLOCKER); }, + [this](wxCommandEvent&) { load_generic_subobject(_(L("Box")).ToUTF8().data(), ModelVolume::SUPPORT_BLOCKER); }, *m_bmp_vector[ModelVolume::SUPPORT_BLOCKER]); + *item_separator = nullptr; + return; } - - for (int type = 0; type < menu_object_types_items.size(); type++) + + for (int type = mode == comExpert ? 0 : 1 ; type < menu_object_types_items.size(); type++) { auto& item = menu_object_types_items[type]; @@ -748,6 +758,8 @@ void ObjectList::append_menu_items_add_volume(wxMenu* menu) menu->Append(menu_item); } + + *item_separator = menu->AppendSeparator(); } wxMenuItem* ObjectList::append_menu_item_split(wxMenu* menu) @@ -793,18 +805,19 @@ wxMenuItem* ObjectList::append_menu_item_instance_to_object(wxMenu* menu) void ObjectList::create_object_popupmenu(wxMenu *menu) { - append_menu_items_add_volume(menu); - // Split object to parts - menu->AppendSeparator(); m_menu_item_split = append_menu_item_split(menu); - - // Settings menu->AppendSeparator(); + + // rest of a object_menu will be added later in: + // - append_menu_items_add_volume() -> for "Add (volumes)" + // - append_menu_item_settings() -> for "Add (settings)" } void ObjectList::create_sla_object_popupmenu(wxMenu *menu) { + // rest of a object_sla_menu will be added later in: + // - append_menu_item_settings() -> for "Add (settings)" } void ObjectList::create_part_popupmenu(wxMenu *menu) @@ -1805,6 +1818,11 @@ void ObjectList::update_settings_items() UnselectAll(); } +void ObjectList::update_object_menu() +{ + append_menu_items_add_volume(&m_menu_object, &m_mi_volumes_settings_separator); +} + void ObjectList::instances_to_separated_object(const int obj_idx, const std::set& inst_idxs) { // create new object from selected instance diff --git a/src/slic3r/GUI/GUI_ObjectList.hpp b/src/slic3r/GUI/GUI_ObjectList.hpp index f24eb95b002..cac85f0202b 100644 --- a/src/slic3r/GUI/GUI_ObjectList.hpp +++ b/src/slic3r/GUI/GUI_ObjectList.hpp @@ -112,6 +112,7 @@ class ObjectList : public wxDataViewCtrl wxMenuItem* m_menu_item_split_part { nullptr }; wxMenuItem* m_menu_item_settings { nullptr }; wxMenuItem* m_menu_item_split_instances { nullptr }; + wxMenuItem* m_mi_volumes_settings_separator { nullptr }; std::vector m_bmp_vector; @@ -162,7 +163,7 @@ class ObjectList : public wxDataViewCtrl void get_settings_choice(const wxString& category_name); void append_menu_item_add_generic(wxMenuItem* menu, const int type); - void append_menu_items_add_volume(wxMenu* menu); + void append_menu_items_add_volume(wxMenu* menu, wxMenuItem* *item_separator); wxMenuItem* append_menu_item_split(wxMenu* menu); wxMenuItem* append_menu_item_settings(wxMenu* menu); wxMenuItem* append_menu_item_change_type(wxMenu* menu); @@ -243,6 +244,7 @@ class ObjectList : public wxDataViewCtrl void last_volume_is_deleted(const int obj_idx); bool has_multi_part_objects(); void update_settings_items(); + void update_object_menu(); void instances_to_separated_object(const int obj_idx, const std::set& inst_idx); void split_instances(); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index f234ca1a45e..46a46e950d9 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -121,11 +121,6 @@ void MainFrame::init_tabpanel() } }); - if (wxGetApp().plater_) { - // before creating a new plater let's delete old one - wxGetApp().plater_->Destroy(); - wxGetApp().plater_ = nullptr; - } m_plater = new Slic3r::GUI::Plater(m_tabpanel, this); wxGetApp().plater_ = m_plater; m_tabpanel->AddPage(m_plater, _(L("Plater"))); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 2ecb372116b..1f565ca7073 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -940,6 +940,8 @@ struct Plater::priv // SLA-Object popup menu wxMenu sla_object_menu; + wxMenuItem* separator_volumes_settings{ nullptr }; + // Data Slic3r::DynamicPrintConfig *config; // FIXME: leak? Slic3r::Print fff_print; @@ -2312,7 +2314,7 @@ void Plater::priv::on_right_click(Vec2dEvent& evt) return; wxMenu* menu = printer_technology == ptSLA ? &sla_object_menu : - get_selection().is_single_full_instance/*object*/() ? // show "Object menu" for each FullInstance instead of FullObject + get_selection().is_single_full_instance() ? // show "Object menu" for each FullInstance instead of FullObject &object_menu : &part_menu; sidebar->obj_list()->append_menu_item_settings(menu); @@ -2425,18 +2427,9 @@ bool Plater::priv::complit_init_object_menu() [this](wxCommandEvent&) { split_volume(); }, "shape_ungroup_p.png", &object_menu); wxMenuItem* item_split = append_submenu(&object_menu, split_menu, wxID_ANY, _(L("Split")), _(L("Split the selected object")), "shape_ungroup.png"); - -// append_menu_item(&object_menu, wxID_ANY, _(L("Reload from Disk")), _(L("Reload the selected file from Disk")), -// [this](wxCommandEvent&) { reload_from_disk(); }); -// -// append_menu_item(&object_menu, wxID_ANY, _(L("Export object as STL")) + dots, _(L("Export this single object as STL file")), -// [this](wxCommandEvent&) { q->export_stl(true); }); - - // Append "Add..." popupmenu object_menu.AppendSeparator(); - sidebar->obj_list()->append_menu_items_add_volume(&object_menu); -// object_menu.AppendSeparator(); + // "Add (volumes)" popupmenu will be added later in append_menu_items_add_volume() // ui updates needs to be binded to the parent panel if (q != nullptr) @@ -2453,11 +2446,13 @@ bool Plater::priv::complit_init_sla_object_menu() wxMenuItem* item_split = append_menu_item(&sla_object_menu, wxID_ANY, _(L("Split")), _(L("Split the selected object into individual objects")), [this](wxCommandEvent&) { split_object(); }, "shape_ungroup_o.png"); + sla_object_menu.AppendSeparator(); + // Add the automatic rotation sub-menu append_menu_item(&sla_object_menu, wxID_ANY, _(L("Optimize orientation")), _(L("Optimize the rotation of the object for better print results.")), [this](wxCommandEvent&) { sla_optimize_rotation(); }); -// sla_object_menu.AppendSeparator(); + sla_object_menu.AppendSeparator(); // ui updates needs to be binded to the parent panel if (q != nullptr) @@ -2473,10 +2468,12 @@ bool Plater::priv::complit_init_part_menu() wxMenuItem* item_split = append_menu_item(&part_menu, wxID_ANY, _(L("Split")), _(L("Split the selected object into individual sub-parts")), [this](wxCommandEvent&) { split_volume(); }, "shape_ungroup_p.png"); + part_menu.AppendSeparator(); + auto obj_list = sidebar->obj_list(); obj_list->append_menu_item_change_type(&part_menu); -// part_menu.AppendSeparator(); + part_menu.AppendSeparator(); // ui updates needs to be binded to the parent panel if (q != nullptr) @@ -2578,8 +2575,6 @@ bool Plater::priv::can_split_to_volumes() const bool Plater::priv::can_split() const { - if (printer_technology == ptSLA) - return false; return sidebar->obj_list()->is_splittable(); } @@ -2606,7 +2601,7 @@ bool Plater::priv::can_mirror() const void Plater::priv::update_object_menu() { - sidebar->obj_list()->append_menu_items_add_volume(&object_menu); + sidebar->obj_list()->append_menu_items_add_volume(&object_menu, &separator_volumes_settings); } // Plater / Public From be1d9c693c4d09557042a48b2fa7a2f6e07cde82 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 25 Jan 2019 11:35:28 +0100 Subject: [PATCH 181/189] Free camera rotation for sla printer --- src/slic3r/GUI/GLCanvas3D.cpp | 21 ++++++++++++++++----- src/slic3r/GUI/GLCanvas3D.hpp | 2 +- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 4d14fca4b82..6febd314c09 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -300,9 +300,16 @@ std::string GLCanvas3D::Camera::get_type_as_string() const }; } -void GLCanvas3D::Camera::set_theta(float theta) +void GLCanvas3D::Camera::set_theta(float theta, bool apply_limit) { - m_theta = clamp(0.0f, GIMBALL_LOCK_THETA_MAX, theta); + if (apply_limit) + m_theta = clamp(0.0f, GIMBALL_LOCK_THETA_MAX, theta); + else + { + m_theta = fmod(theta, 360.0f); + if (m_theta < 0.0f) + m_theta += 360.0f; + } } void GLCanvas3D::Camera::set_target(const Vec3d& target, GLCanvas3D& canvas) @@ -4254,7 +4261,7 @@ void GLCanvas3D::select_view(const std::string& direction) if (dir_vec != nullptr) { m_camera.phi = dir_vec[0]; - m_camera.set_theta(dir_vec[1]); + m_camera.set_theta(dir_vec[1], false); viewport_changed(); @@ -4266,7 +4273,7 @@ void GLCanvas3D::select_view(const std::string& direction) void GLCanvas3D::set_viewport_from_scene(const GLCanvas3D& other) { m_camera.phi = other.m_camera.phi; - m_camera.set_theta(other.m_camera.get_theta()); + m_camera.set_theta(other.m_camera.get_theta(), false); m_camera.set_scene_box(other.m_camera.get_scene_box(), *this); m_camera.set_target(other.m_camera.get_target(), *this); m_camera.zoom = other.m_camera.zoom; @@ -4346,6 +4353,10 @@ void GLCanvas3D::render() ::glLightfv(GL_LIGHT0, GL_POSITION, position_top); float theta = m_camera.get_theta(); + if (theta > 180.f) + // absolute value of the rotation + theta = 360.f - theta; + bool is_custom_bed = m_bed.is_custom(); #if ENABLE_IMGUI @@ -5372,7 +5383,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) { const Vec3d& orig = m_mouse.drag.start_position_3D; m_camera.phi += (((float)pos(0) - (float)orig(0)) * TRACKBALLSIZE); - m_camera.set_theta(m_camera.get_theta() - ((float)pos(1) - (float)orig(1)) * TRACKBALLSIZE); + m_camera.set_theta(m_camera.get_theta() - ((float)pos(1) - (float)orig(1)) * TRACKBALLSIZE, wxGetApp().preset_bundle->printers.get_edited_preset().printer_technology() != ptSLA); viewport_changed(); diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 1ca9c234f93..071dd4e15ab 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -175,7 +175,7 @@ class GLCanvas3D std::string get_type_as_string() const; float get_theta() const { return m_theta; } - void set_theta(float theta); + void set_theta(float theta, bool apply_limit); const Vec3d& get_target() const { return m_target; } void set_target(const Vec3d& target, GLCanvas3D& canvas); From 9d513482726806865b571f55b9490082404f87a4 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 25 Jan 2019 12:46:45 +0100 Subject: [PATCH 182/189] Tweak to euler angles euristic --- src/libslic3r/Geometry.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index 4cf4b5caa7a..2d8ff3284f2 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1194,15 +1194,12 @@ Vec3d extract_euler_angles(const Eigen::Matrix& { angles1(1) = 0.5 * (double)PI; angles1(2) = angles1(0) + ::atan2(rotation_matrix(0, 1), rotation_matrix(0, 2)); - } else // == -1.0 { angles1(1) = 0.5 * (double)PI; angles1(2) = -angles1(0) - ::atan2(rotation_matrix(0, 1), rotation_matrix(0, 2)); - } - angles2 = angles1; } else @@ -1218,9 +1215,14 @@ Vec3d extract_euler_angles(const Eigen::Matrix& angles2(2) = ::atan2(rotation_matrix(1, 0) * inv_cos2, rotation_matrix(0, 0) * inv_cos2); } - // The following euristic seems to work fine, but there may be use cases were it does not - // We'll need to modify it if/when we'll meet such use cases - Vec3d angles = (angles1.cwiseAbs().minCoeff() <= angles2.cwiseAbs().minCoeff()) ? angles1 : angles2; + // The following euristic is the best found up to now (in the sense that it works fine with the greatest number of edge use-cases) + // but there are other use-cases were it does not + // We need to imrove it + double min_1 = angles1.cwiseAbs().minCoeff(); + double min_2 = angles2.cwiseAbs().minCoeff(); + bool use_1 = (min_1 < min_2) || (is_approx(min_1, min_2) && (angles1.norm() <= angles2.norm())); + + Vec3d angles = use_1 ? angles1 : angles2; #else auto y_only = [](const Eigen::Matrix& matrix) -> bool { return (matrix(0, 1) == 0.0) && (matrix(1, 0) == 0.0) && (matrix(1, 1) == 1.0) && (matrix(1, 2) == 0.0) && (matrix(2, 1) == 0.0); From 533e1feac30d751cc84217b354c4126c3af70065 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 25 Jan 2019 12:58:55 +0100 Subject: [PATCH 183/189] Fixed import of volumes from .amf --- src/libslic3r/Format/AMF.cpp | 1 + src/libslic3r/Geometry.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index 80b5d5c2d71..9791b150226 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -528,6 +528,7 @@ void AMFParserContext::endElement(const char * /* name */) } stl_get_size(&stl); m_volume->mesh.repair(); + m_volume->center_geometry(); m_volume->calculate_convex_hull(); m_volume_facets.clear(); m_volume = nullptr; diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index 2d8ff3284f2..b84e2f13d97 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1217,7 +1217,7 @@ Vec3d extract_euler_angles(const Eigen::Matrix& // The following euristic is the best found up to now (in the sense that it works fine with the greatest number of edge use-cases) // but there are other use-cases were it does not - // We need to imrove it + // We need to improve it double min_1 = angles1.cwiseAbs().minCoeff(); double min_2 = angles2.cwiseAbs().minCoeff(); bool use_1 = (min_1 < min_2) || (is_approx(min_1, min_2) && (angles1.norm() <= angles2.norm())); From 5581830ab82366c087aaf01d89fdb8619d7fd489 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 25 Jan 2019 13:30:01 +0100 Subject: [PATCH 184/189] Fixed import of objects greater than print bed (range (5 < 10000) times) --- src/slic3r/GUI/Plater.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 1f565ca7073..3d759229fb2 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1483,10 +1483,11 @@ std::vector Plater::priv::load_model_objects(const ModelObjectPtrs &mode object->center_around_origin(); scaled_down = true; } else if (max_ratio > 5) { - const Vec3d inverse = ratio.cwiseInverse(); - for (ModelInstance *instance : model_object->instances) { + const Vec3d inverse = 1.0 / max_ratio * Vec3d::Ones(); + for (ModelInstance *instance : object->instances) { instance->set_scaling_factor(inverse); } + scaled_down = true; } object->ensure_on_bed(); From 9f734a073f3e4dc8954b35a5ea50f69997b3a673 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 25 Jan 2019 14:55:20 +0100 Subject: [PATCH 185/189] Disable active gizmo as soon as the selection is cleared by clicking on the scene out of any object --- src/slic3r/GUI/GLCanvas3D.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index a97c9813582..ee8a7ebbdb5 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -5379,8 +5379,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) m_selection.clear(); m_selection.set_mode(Selection::Instance); wxGetApp().obj_manipul()->update_settings_value(m_selection); - post_event(SimpleEvent(EVT_GLCANVAS_OBJECT_SELECT)); + m_gizmos.reset_all_states(); _update_gizmos_data(); + post_event(SimpleEvent(EVT_GLCANVAS_OBJECT_SELECT)); } m_mouse.ignore_up_event = false; } From 5a7061a7fbeb02980cb5554a134c15b3544fb31e Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 25 Jan 2019 13:16:32 +0100 Subject: [PATCH 186/189] Updated settings menu according to the view mode + Created new class PrusaMenu, derived from wxMenu and contains pointers to the separators. --- src/slic3r/GUI/GUI_ObjectList.cpp | 49 +++++++++++++++++++++---------- src/slic3r/GUI/GUI_ObjectList.hpp | 13 ++++---- src/slic3r/GUI/MainFrame.cpp | 10 +++++++ src/slic3r/GUI/Plater.cpp | 14 +++------ src/slic3r/GUI/wxExtensions.cpp | 19 ++++++++++++ src/slic3r/GUI/wxExtensions.hpp | 23 +++++++++++++++ 6 files changed, 96 insertions(+), 32 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 28ff325a28e..d642d6896fd 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -711,7 +711,7 @@ void ObjectList::append_menu_item_add_generic(wxMenuItem* menu, const int type) menu->SetSubMenu(sub_menu); } -void ObjectList::append_menu_items_add_volume(wxMenu* menu, wxMenuItem* *item_separator) +void ObjectList::append_menu_items_add_volume(wxMenu* menu) { // Note: id accords to type of the sub-object, so sequence of the menu items is important std::vector menu_object_types_items = {L("Add part"), // ~ModelVolume::MODEL_PART @@ -725,8 +725,6 @@ void ObjectList::append_menu_items_add_volume(wxMenu* menu, wxMenuItem* *item_se if (settings_id != wxNOT_FOUND) menu->Destroy(settings_id); } - if (*item_separator) - menu->Destroy(*item_separator); const ConfigOptionMode mode = wxGetApp().get_mode(); @@ -743,8 +741,6 @@ void ObjectList::append_menu_items_add_volume(wxMenu* menu, wxMenuItem* *item_se [this](wxCommandEvent&) { load_generic_subobject(_(L("Box")).ToUTF8().data(), ModelVolume::SUPPORT_BLOCKER); }, *m_bmp_vector[ModelVolume::SUPPORT_BLOCKER]); - *item_separator = nullptr; - return; } @@ -758,8 +754,6 @@ void ObjectList::append_menu_items_add_volume(wxMenu* menu, wxMenuItem* *item_se menu->Append(menu_item); } - - *item_separator = menu->AppendSeparator(); } wxMenuItem* ObjectList::append_menu_item_split(wxMenu* menu) @@ -768,23 +762,41 @@ wxMenuItem* ObjectList::append_menu_item_split(wxMenu* menu) [this](wxCommandEvent&) { split(); }, m_bmp_split, menu); } -wxMenuItem* ObjectList::append_menu_item_settings(wxMenu* menu) +wxMenuItem* ObjectList::append_menu_item_settings(wxMenu* menu_) { + PrusaMenu* menu = dynamic_cast(menu_); // Update (delete old & create new) settings popupmenu const auto settings_id = menu->FindItem(_("Add settings")); if (settings_id != wxNOT_FOUND) menu->Destroy(settings_id); + menu->DestroySeparators(); // delete old separators + + const auto sel_vol = get_selected_model_volume(); + if (sel_vol && sel_vol->type() >= ModelVolume::SUPPORT_ENFORCER) + return nullptr; + + const ConfigOptionMode mode = wxGetApp().get_mode(); + if (mode == comSimple) + return nullptr; + + menu->m_separator_frst = menu->AppendSeparator(); + + // Add frequently settings + create_freq_settings_popupmenu(menu); - if (wxGetApp().get_mode() == comSimple) + if (mode == comAdvanced) return nullptr; + menu->m_separator_scnd = menu->AppendSeparator(); + + // Add full settings list auto menu_item = new wxMenuItem(menu, wxID_ANY, _(L("Add settings"))); menu_item->SetBitmap(m_bmp_cog); - const auto sel_vol = get_selected_model_volume(); - if (sel_vol && sel_vol->type() >= ModelVolume::SUPPORT_ENFORCER) - menu_item->Enable(false); - else +// const auto sel_vol = get_selected_model_volume(); +// if (sel_vol && sel_vol->type() >= ModelVolume::SUPPORT_ENFORCER) +// menu_item->Enable(false); +// else menu_item->SetSubMenu(create_settings_popupmenu(menu)); return menu->Append(menu_item); @@ -828,8 +840,8 @@ void ObjectList::create_part_popupmenu(wxMenu *menu) menu->AppendSeparator(); append_menu_item_change_type(menu); - // Append settings popupmenu - menu->AppendSeparator(); + // rest of a object_sla_menu will be added later in: + // - append_menu_item_settings() -> for "Add (settings)" } void ObjectList::create_instance_popupmenu(wxMenu*menu) @@ -854,6 +866,11 @@ wxMenu* ObjectList::create_settings_popupmenu(wxMenu *parent_menu) return menu; } +void ObjectList::create_freq_settings_popupmenu(wxMenu *parent_menu) +{ + +} + void ObjectList::update_opt_keys(t_config_option_keys& opt_keys) { auto full_current_opts = get_options(false); @@ -1824,7 +1841,7 @@ void ObjectList::update_settings_items() void ObjectList::update_object_menu() { - append_menu_items_add_volume(&m_menu_object, &m_mi_volumes_settings_separator); + append_menu_items_add_volume(&m_menu_object); } void ObjectList::instances_to_separated_object(const int obj_idx, const std::set& inst_idxs) diff --git a/src/slic3r/GUI/GUI_ObjectList.hpp b/src/slic3r/GUI/GUI_ObjectList.hpp index cac85f0202b..33c32bad0b7 100644 --- a/src/slic3r/GUI/GUI_ObjectList.hpp +++ b/src/slic3r/GUI/GUI_ObjectList.hpp @@ -14,6 +14,7 @@ class wxBoxSizer; class wxMenuItem; class PrusaObjectDataViewModel; +class PrusaMenu; namespace Slic3r { class ConfigOptionsGroup; @@ -104,15 +105,14 @@ class ObjectList : public wxDataViewCtrl wxBitmap m_bmp_cog; wxBitmap m_bmp_split; - wxMenu m_menu_object; - wxMenu m_menu_part; - wxMenu m_menu_sla_object; - wxMenu m_menu_instance; + PrusaMenu m_menu_object; + PrusaMenu m_menu_part; + PrusaMenu m_menu_sla_object; + PrusaMenu m_menu_instance; wxMenuItem* m_menu_item_split { nullptr }; wxMenuItem* m_menu_item_split_part { nullptr }; wxMenuItem* m_menu_item_settings { nullptr }; wxMenuItem* m_menu_item_split_instances { nullptr }; - wxMenuItem* m_mi_volumes_settings_separator { nullptr }; std::vector m_bmp_vector; @@ -163,7 +163,7 @@ class ObjectList : public wxDataViewCtrl void get_settings_choice(const wxString& category_name); void append_menu_item_add_generic(wxMenuItem* menu, const int type); - void append_menu_items_add_volume(wxMenu* menu, wxMenuItem* *item_separator); + void append_menu_items_add_volume(wxMenu* menu); wxMenuItem* append_menu_item_split(wxMenu* menu); wxMenuItem* append_menu_item_settings(wxMenu* menu); wxMenuItem* append_menu_item_change_type(wxMenu* menu); @@ -173,6 +173,7 @@ class ObjectList : public wxDataViewCtrl void create_part_popupmenu(wxMenu*menu); void create_instance_popupmenu(wxMenu*menu); wxMenu* create_settings_popupmenu(wxMenu *parent_menu); + void create_freq_settings_popupmenu(wxMenu *parent_menu); void update_opt_keys(t_config_option_keys& t_optopt_keys); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 46a46e950d9..d47c7f4e86c 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -94,6 +94,16 @@ wxFrame(NULL, wxID_ANY, SLIC3R_BUILD, wxDefaultPosition, wxDefaultSize, wxDEFAUL // m_plater->print = undef; _3DScene::remove_all_canvases(); // Slic3r::GUI::deregister_on_request_update_callback(); + + // destroy and set to null tabs and a platter + // to avoid any manipulations with them from App->wxEVT_IDLE after of the mainframe closing + wxGetApp().clear_tabs_list(); + if (wxGetApp().plater_) { + // before creating a new plater let's delete old one + wxGetApp().plater_->Destroy(); + wxGetApp().plater_ = nullptr; + } + // propagate event event.Skip(); }); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a18fbb99fd7..2a80844e329 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -934,13 +934,11 @@ struct Plater::priv MainFrame *main_frame; // Object popup menu - wxMenu object_menu; + PrusaMenu object_menu; // Part popup menu - wxMenu part_menu; + PrusaMenu part_menu; // SLA-Object popup menu - wxMenu sla_object_menu; - - wxMenuItem* separator_volumes_settings{ nullptr }; + PrusaMenu sla_object_menu; // Data Slic3r::DynamicPrintConfig *config; // FIXME: leak? @@ -2472,8 +2470,6 @@ bool Plater::priv::complit_init_sla_object_menu() append_menu_item(&sla_object_menu, wxID_ANY, _(L("Optimize orientation")), _(L("Optimize the rotation of the object for better print results.")), [this](wxCommandEvent&) { sla_optimize_rotation(); }); - sla_object_menu.AppendSeparator(); - // ui updates needs to be binded to the parent panel if (q != nullptr) { @@ -2493,8 +2489,6 @@ bool Plater::priv::complit_init_part_menu() auto obj_list = sidebar->obj_list(); obj_list->append_menu_item_change_type(&part_menu); - part_menu.AppendSeparator(); - // ui updates needs to be binded to the parent panel if (q != nullptr) { @@ -2621,7 +2615,7 @@ bool Plater::priv::can_mirror() const void Plater::priv::update_object_menu() { - sidebar->obj_list()->append_menu_items_add_volume(&object_menu, &separator_volumes_settings); + sidebar->obj_list()->append_menu_items_add_volume(&object_menu); } // Plater / Public diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 55c0b351f16..827dcc696ba 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -2393,6 +2393,25 @@ void PrusaModeSizer::SetMode(const int mode) mode_btns[m]->SetState(m == mode); } + +// ---------------------------------------------------------------------------- +// PrusaMenu +// ---------------------------------------------------------------------------- + +void PrusaMenu::DestroySeparators() +{ + if (m_separator_frst) { + Destroy(m_separator_frst); + m_separator_frst = nullptr; + } + + if (m_separator_scnd) { + Destroy(m_separator_scnd); + m_separator_scnd = nullptr; + } +} + + // ************************************** EXPERIMENTS *************************************** // ***************************************************************************** diff --git a/src/slic3r/GUI/wxExtensions.hpp b/src/slic3r/GUI/wxExtensions.hpp index 10709786c0c..a9c14c1173f 100644 --- a/src/slic3r/GUI/wxExtensions.hpp +++ b/src/slic3r/GUI/wxExtensions.hpp @@ -920,6 +920,29 @@ class PrusaModeSizer : public wxFlexGridSizer }; + +// ---------------------------------------------------------------------------- +// PrusaMenu +// ---------------------------------------------------------------------------- + +class PrusaMenu : public wxMenu +{ +public: + PrusaMenu(const wxString& title, long style = 0) + : wxMenu(title, style) {} + + PrusaMenu(long style = 0) + : wxMenu(style) {} + + ~PrusaMenu() {} + + void DestroySeparators(); + + wxMenuItem* m_separator_frst { nullptr }; // use like separator before settings item + wxMenuItem* m_separator_scnd { nullptr }; // use like separator between settings items +}; + + // ******************************* EXPERIMENTS ********************************************** // ****************************************************************************************** From 9a01e313adfffac4a1bf969862619accd6ce17a4 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 25 Jan 2019 16:39:50 +0100 Subject: [PATCH 187/189] Implemented function create_freq_settings_popupmenu() to add bundles with frequently used settings --- src/slic3r/GUI/GUI_App.cpp | 1 + src/slic3r/GUI/GUI_ObjectList.cpp | 90 +++++++++++++++++++++++++++++-- src/slic3r/GUI/GUI_ObjectList.hpp | 3 ++ 3 files changed, 90 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 2488ab7c3c2..c22219fea29 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -539,6 +539,7 @@ void GUI_App::update_mode() obj_list()->get_sizer()->Show(mode > comSimple); sidebar().set_mode_value(mode); // sidebar().show_buttons(mode == comExpert); + obj_list()->unselect_objects(); obj_list()->update_selections(); obj_list()->update_object_menu(); diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index d642d6896fd..62c00d02d9c 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -21,6 +21,25 @@ namespace GUI wxDEFINE_EVENT(EVT_OBJ_LIST_OBJECT_SELECT, SimpleEvent); +typedef std::map> FreqSettingsBundle; + +// pt_FFF +FreqSettingsBundle FREQ_SETTINGS_BUNDLE_FFF = +{ + { L("Layers and Perimeters"), { "layer_height" , "perimeters", "top_solid_layers", "bottom_solid_layers" } }, + { L("Infill") , { "fill_density", "fill_pattern" } }, + { L("Support material") , { "support_material", "support_material_auto", "support_material_threshold", + "support_material_pattern", "support_material_buildplate_only", + "support_material_spacing" } }, + { L("Extruders") , { "wipe_into_infill", "wipe_into_objects" } } +}; + +// pt_SLA +FreqSettingsBundle FREQ_SETTINGS_BUNDLE_SLA = +{ + { L("Pad and Support") , { "supports_enable", "pad_enable" } } +}; + ObjectList::ObjectList(wxWindow* parent) : wxDataViewCtrl(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_MULTIPLE), m_parent(parent) @@ -591,6 +610,19 @@ std::vector get_options(const bool is_part) { return get_options(is_part, wxGetApp().plater()->printer_technology() == ptSLA); } + +const std::vector& get_options_for_bundle(const wxString& bundle_name) +{ + const FreqSettingsBundle& bundle = wxGetApp().plater()->printer_technology() == ptSLA ? + FREQ_SETTINGS_BUNDLE_SLA : FREQ_SETTINGS_BUNDLE_FFF; + + for (auto& it : bundle) + { + if (bundle_name == _(it.first)) + return it.second; + } + return std::vector {}; +} // category -> vector ( option ; label ) typedef std::map< std::string, std::vector< std::pair > > settings_menu_hierarchy; @@ -677,6 +709,27 @@ void ObjectList::get_settings_choice(const wxString& category_name) // Add settings item for object + update_settings_item(); +} + +void ObjectList::get_freq_settings_choice(const wxString& bundle_name) +{ + const std::vector& options = get_options_for_bundle(bundle_name); + + auto opt_keys = m_config->keys(); + + for (auto& opt_key : options) + { + if ( find(opt_keys.begin(), opt_keys.end(), opt_key) == opt_keys.end() ) + m_config->set_key_value(opt_key, m_default_config->option(opt_key)->clone()); + } + + // Add settings item for object + update_settings_item(); +} + +void ObjectList::update_settings_item() +{ auto item = GetSelection(); if (item) { if (m_objects_model->GetItemType(item) == itInstance) @@ -688,7 +741,7 @@ void ObjectList::get_settings_choice(const wxString& category_name) else { auto panel = wxGetApp().sidebar().scrolled_panel(); panel->Freeze(); - wxGetApp().obj_settings()->UpdateAndShow(true);//obj_manipul()->update_settings_list(); + wxGetApp().obj_settings()->UpdateAndShow(true); panel->Thaw(); } } @@ -765,10 +818,24 @@ wxMenuItem* ObjectList::append_menu_item_split(wxMenu* menu) wxMenuItem* ObjectList::append_menu_item_settings(wxMenu* menu_) { PrusaMenu* menu = dynamic_cast(menu_); - // Update (delete old & create new) settings popupmenu - const auto settings_id = menu->FindItem(_("Add settings")); + // Delete old items from settings popupmenu + auto settings_id = menu->FindItem(_("Add settings")); if (settings_id != wxNOT_FOUND) menu->Destroy(settings_id); + + for (auto& it : FREQ_SETTINGS_BUNDLE_FFF) + { + settings_id = menu->FindItem(_(it.first)); + if (settings_id != wxNOT_FOUND) + menu->Destroy(settings_id); + } + for (auto& it : FREQ_SETTINGS_BUNDLE_SLA) + { + settings_id = menu->FindItem(_(it.first)); + if (settings_id != wxNOT_FOUND) + menu->Destroy(settings_id); + } + menu->DestroySeparators(); // delete old separators const auto sel_vol = get_selected_model_volume(); @@ -779,6 +846,8 @@ wxMenuItem* ObjectList::append_menu_item_settings(wxMenu* menu_) if (mode == comSimple) return nullptr; + // Create new items for settings popupmenu + menu->m_separator_frst = menu->AppendSeparator(); // Add frequently settings @@ -866,9 +935,22 @@ wxMenu* ObjectList::create_settings_popupmenu(wxMenu *parent_menu) return menu; } -void ObjectList::create_freq_settings_popupmenu(wxMenu *parent_menu) +void ObjectList::create_freq_settings_popupmenu(wxMenu *menu) { + const FreqSettingsBundle& bundle = wxGetApp().plater()->printer_technology() == ptFFF ? + FREQ_SETTINGS_BUNDLE_FFF : FREQ_SETTINGS_BUNDLE_SLA; + auto extruders_cnt = wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology() == ptSLA ? 1 : + wxGetApp().preset_bundle->printers.get_edited_preset().config.option("nozzle_diameter")->values.size(); + + for (auto& it : bundle) { + if (it.first.empty() || it.first == "Extruders" && extruders_cnt == 1) + continue; + + append_menu_item(menu, wxID_ANY, _(it.first), "", + [menu, this](wxCommandEvent& event) { get_freq_settings_choice(menu->GetLabel(event.GetId())); }, + CATEGORY_ICON.find(it.first) == CATEGORY_ICON.end() ? wxNullBitmap : CATEGORY_ICON.at(it.first), menu); + } } void ObjectList::update_opt_keys(t_config_option_keys& opt_keys) diff --git a/src/slic3r/GUI/GUI_ObjectList.hpp b/src/slic3r/GUI/GUI_ObjectList.hpp index 33c32bad0b7..060659049d7 100644 --- a/src/slic3r/GUI/GUI_ObjectList.hpp +++ b/src/slic3r/GUI/GUI_ObjectList.hpp @@ -162,6 +162,9 @@ class ObjectList : public wxDataViewCtrl void key_event(wxKeyEvent& event); void get_settings_choice(const wxString& category_name); + void get_freq_settings_choice(const wxString& bundle_name); + void update_settings_item(); + void append_menu_item_add_generic(wxMenuItem* menu, const int type); void append_menu_items_add_volume(wxMenu* menu); wxMenuItem* append_menu_item_split(wxMenu* menu); From 9ac9086e78f4a2cafd5354ecb2c863a320e97b72 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 25 Jan 2019 16:57:19 +0100 Subject: [PATCH 188/189] Updated mode value for some options --- src/libslic3r/PrintConfig.cpp | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index aa09ba9d3c5..85dcb5d409d 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -75,7 +75,7 @@ void PrintConfigDef::init_fff_params() "This is mostly useful with Bowden extruders which suffer from oozing. " "This feature slows down both the print and the G-code generation."); def->cli = "avoid-crossing-perimeters!"; - def->mode = comAdvanced; + def->mode = comExpert; def->default_value = new ConfigOptionBool(false); def = this->add("bed_temperature", coInts); @@ -172,6 +172,7 @@ void PrintConfigDef::init_fff_params() def->cli = "bridge-speed=f"; def->aliases = { "bridge_feed_rate" }; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloat(60); def = this->add("brim_width", coFloat); @@ -326,7 +327,7 @@ void PrintConfigDef::init_fff_params() def->sidetext = L("mm"); def->cli = "elefant-foot-compensation=f"; def->min = 0; - def->mode = comExpert; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloat(0); def = this->add("end_gcode", coString); @@ -403,6 +404,7 @@ void PrintConfigDef::init_fff_params() def->cli = "external-perimeter-speed=s"; def->ratio_over = "perimeter_speed"; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloatOrPercent(50, true); def = this->add("external_perimeters_first", coBool); @@ -421,7 +423,7 @@ void PrintConfigDef::init_fff_params() "Slic3r keeps adding perimeters, until more than 70% of the loop immediately above " "is supported."); def->cli = "extra-perimeters!"; - def->mode = comAdvanced; + def->mode = comExpert; def->default_value = new ConfigOptionBool(true); def = this->add("extruder", coInt); @@ -706,12 +708,14 @@ void PrintConfigDef::init_fff_params() def->enum_values.push_back("EDGE"); def->enum_values.push_back("NGEN"); def->enum_values.push_back("PVA"); + def->mode = comAdvanced; def->default_value = new ConfigOptionStrings { "PLA" }; def = this->add("filament_soluble", coBools); def->label = L("Soluble material"); def->tooltip = L("Soluble material is most likely used for a soluble support."); def->cli = "filament-soluble!"; + def->mode = comAdvanced; def->default_value = new ConfigOptionBools { false }; def = this->add("filament_cost", coFloats); @@ -884,6 +888,7 @@ void PrintConfigDef::init_fff_params() def->sidetext = L("mm/s"); def->cli = "gap-fill-speed=f"; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloat(20); def = this->add("gcode_comments", coBool); @@ -1014,6 +1019,7 @@ void PrintConfigDef::init_fff_params() def->cli = "infill-speed=f"; def->aliases = { "print_feed_rate", "infill_feed_rate" }; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloat(80); def = this->add("inherits", coString); @@ -1419,6 +1425,7 @@ void PrintConfigDef::init_fff_params() def->cli = "perimeter-speed=f"; def->aliases = { "perimeter_feed_rate" }; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloat(60); def = this->add("perimeters", coInt); @@ -1627,7 +1634,7 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back(L("Nearest")); def->enum_labels.push_back(L("Aligned")); def->enum_labels.push_back(L("Rear")); - def->mode = comAdvanced; + def->mode = comSimple; def->default_value = new ConfigOptionEnum(spAligned); #if 0 @@ -1673,6 +1680,7 @@ void PrintConfigDef::init_fff_params() def->max = 300000; def->enum_values.push_back("115200"); def->enum_values.push_back("250000"); + def->mode = comAdvanced; def->default_value = new ConfigOptionInt(250000); def = this->add("skirt_distance", coFloat); @@ -1726,6 +1734,7 @@ void PrintConfigDef::init_fff_params() def->cli = "small-perimeter-speed=s"; def->ratio_over = "perimeter_speed"; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloatOrPercent(15, false); def = this->add("solid_infill_below_area", coFloat); @@ -1782,6 +1791,7 @@ void PrintConfigDef::init_fff_params() def->ratio_over = "infill_speed"; def->aliases = { "solid_infill_feed_rate" }; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloatOrPercent(20, false); def = this->add("solid_layers", coInt); @@ -1873,7 +1883,7 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("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."); def->cli = "support-material-auto!"; - def->mode = comAdvanced; + def->mode = comSimple; def->default_value = new ConfigOptionBool(true); def = this->add("support_material_xy_spacing", coFloatOrPercent); @@ -1905,7 +1915,7 @@ void PrintConfigDef::init_fff_params() def->category = L("Support material"); def->tooltip = L("Only create support if it lies on a build plate. Don't create support on a print."); def->cli = "support-material-buildplate-only!"; - def->mode = comAdvanced; + def->mode = comSimple; def->default_value = new ConfigOptionBool(false); def = this->add("support_material_contact_distance", coFloat); @@ -2007,6 +2017,7 @@ void PrintConfigDef::init_fff_params() def->cli = "support-material-interface-speed=s"; def->ratio_over = "support_material_speed"; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloatOrPercent(100, true); def = this->add("support_material_pattern", coEnum); @@ -2041,6 +2052,7 @@ void PrintConfigDef::init_fff_params() def->sidetext = L("mm/s"); def->cli = "support-material-speed=f"; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloat(60); def = this->add("support_material_synchronize_layers", coBool); @@ -2143,6 +2155,7 @@ void PrintConfigDef::init_fff_params() def->cli = "top-solid-infill-speed=s"; def->ratio_over = "solid_infill_speed"; def->min = 0; + def->mode = comAdvanced; def->default_value = new ConfigOptionFloatOrPercent(15, false); def = this->add("top_solid_layers", coInt); From 4dfcd49869737198f2fed1a75a84682c77983dc0 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 25 Jan 2019 17:21:45 +0100 Subject: [PATCH 189/189] Added missing include --- src/slic3r/GUI/wxExtensions.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/slic3r/GUI/wxExtensions.hpp b/src/slic3r/GUI/wxExtensions.hpp index a9c14c1173f..f124750a121 100644 --- a/src/slic3r/GUI/wxExtensions.hpp +++ b/src/slic3r/GUI/wxExtensions.hpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include