Fixed localization of the "Machine Limits" parameters.
Fixed localization of some other parameters (templating is not supported inside the PrintConfig.cpp as these strings are translated not inside PrintConfig.cpp, but by the calling GUI code). Fixed localization of SLA status bar.
This commit is contained in:
parent
39946ce28c
commit
92ba75ed75
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,8 @@ namespace Slic3r {
|
||||
|
||||
//! macro used to mark string used at localization,
|
||||
//! return same string
|
||||
#define L(s) Slic3r::I18N::translate(s)
|
||||
#define L(s) (s)
|
||||
#define _(s) Slic3r::I18N::translate(s)
|
||||
|
||||
static void assign_printer_technology_to_unknown(t_optiondef_map &options, PrinterTechnology printer_technology)
|
||||
{
|
||||
@ -1073,9 +1074,17 @@ void PrintConfigDef::init_fff_params()
|
||||
std::string axis_upper = boost::to_upper_copy<std::string>(axis.name);
|
||||
// Add the machine feedrate limits for XYZE axes. (M203)
|
||||
def = this->add("machine_max_feedrate_" + axis.name, coFloats);
|
||||
def->full_label = (boost::format(L("Maximum feedrate %1%")) % axis_upper).str();
|
||||
def->full_label = (boost::format("Maximum feedrate %1%") % axis_upper).str();
|
||||
L("Maximum feedrate x");
|
||||
L("Maximum feedrate y");
|
||||
L("Maximum feedrate z");
|
||||
L("Maximum feedrate e");
|
||||
def->category = L("Machine limits");
|
||||
def->tooltip = (boost::format(L("Maximum feedrate of the %1% axis")) % axis_upper).str();
|
||||
def->tooltip = (boost::format("Maximum feedrate of the %1% axis") % axis_upper).str();
|
||||
L("Maximum feedrate of the x axis");
|
||||
L("Maximum feedrate of the y axis");
|
||||
L("Maximum feedrate of the z axis");
|
||||
L("Maximum feedrate of the e axis");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->width = machine_limits_opt_width;
|
||||
@ -1083,9 +1092,13 @@ void PrintConfigDef::init_fff_params()
|
||||
def->set_default_value(new ConfigOptionFloats(axis.max_feedrate));
|
||||
// Add the machine acceleration limits for XYZE axes (M201)
|
||||
def = this->add("machine_max_acceleration_" + axis.name, coFloats);
|
||||
def->full_label = (boost::format(L("Maximum acceleration %1%")) % axis_upper).str();
|
||||
def->full_label = (boost::format("Maximum acceleration %1%") % axis_upper).str();
|
||||
L("Maximum acceleration x");
|
||||
L("Maximum acceleration y");
|
||||
L("Maximum acceleration z");
|
||||
L("Maximum acceleration e");
|
||||
def->category = L("Machine limits");
|
||||
def->tooltip = (boost::format(L("Maximum acceleration of the %1% axis")) % axis_upper).str();
|
||||
def->tooltip = (boost::format("Maximum acceleration of the %1% axis") % axis_upper).str();
|
||||
def->sidetext = L("mm/s²");
|
||||
def->min = 0;
|
||||
def->width = machine_limits_opt_width;
|
||||
@ -1093,9 +1106,17 @@ void PrintConfigDef::init_fff_params()
|
||||
def->set_default_value(new ConfigOptionFloats(axis.max_acceleration));
|
||||
// Add the machine jerk limits for XYZE axes (M205)
|
||||
def = this->add("machine_max_jerk_" + axis.name, coFloats);
|
||||
def->full_label = (boost::format(L("Maximum jerk %1%")) % axis_upper).str();
|
||||
def->full_label = (boost::format("Maximum jerk %1%") % axis_upper).str();
|
||||
L("Maximum jerk x");
|
||||
L("Maximum jerk y");
|
||||
L("Maximum jerk z");
|
||||
L("Maximum jerk e");
|
||||
def->category = L("Machine limits");
|
||||
def->tooltip = (boost::format(L("Maximum jerk of the %1% axis")) % axis_upper).str();
|
||||
def->tooltip = (boost::format("Maximum jerk of the %1% axis") % axis_upper).str();
|
||||
L("Maximum jerk of the x axis");
|
||||
L("Maximum jerk of the y axis");
|
||||
L("Maximum jerk of the z axis");
|
||||
L("Maximum jerk of the e axis");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->width = machine_limits_opt_width;
|
||||
@ -1108,7 +1129,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def = this->add("machine_min_extruding_rate", coFloats);
|
||||
def->full_label = L("Minimum feedrate when extruding");
|
||||
def->category = L("Machine limits");
|
||||
def->tooltip = L("Minimum feedrate when extruding") + " (M205 S)";
|
||||
def->tooltip = L("Minimum feedrate when extruding (M205 S)");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->width = machine_limits_opt_width;
|
||||
@ -1119,7 +1140,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def = this->add("machine_min_travel_rate", coFloats);
|
||||
def->full_label = L("Minimum travel feedrate");
|
||||
def->category = L("Machine limits");
|
||||
def->tooltip = L("Minimum travel feedrate") + " (M205 T)";
|
||||
def->tooltip = L("Minimum travel feedrate (M205 T)");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->width = machine_limits_opt_width;
|
||||
@ -1130,7 +1151,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def = this->add("machine_max_acceleration_extruding", coFloats);
|
||||
def->full_label = L("Maximum acceleration when extruding");
|
||||
def->category = L("Machine limits");
|
||||
def->tooltip = L("Maximum acceleration when extruding") + " (M204 S)";
|
||||
def->tooltip = L("Maximum acceleration when extruding (M204 S)");
|
||||
def->sidetext = L("mm/s²");
|
||||
def->min = 0;
|
||||
def->width = machine_limits_opt_width;
|
||||
@ -1141,7 +1162,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def = this->add("machine_max_acceleration_retracting", coFloats);
|
||||
def->full_label = L("Maximum acceleration when retracting");
|
||||
def->category = L("Machine limits");
|
||||
def->tooltip = L("Maximum acceleration when retracting") + " (M204 T)";
|
||||
def->tooltip = L("Maximum acceleration when retracting (M204 T)");
|
||||
def->sidetext = L("mm/s²");
|
||||
def->min = 0;
|
||||
def->width = machine_limits_opt_width;
|
||||
@ -1829,8 +1850,8 @@ void PrintConfigDef::init_fff_params()
|
||||
// def->min = 0;
|
||||
def->enum_values.push_back("0");
|
||||
def->enum_values.push_back("0.2");
|
||||
def->enum_labels.push_back((boost::format("0 (%1%)") % L("soluble")).str());
|
||||
def->enum_labels.push_back((boost::format("0.2 (%1%)") % L("detachable")).str());
|
||||
def->enum_labels.push_back(L("0 (soluble)"));
|
||||
def->enum_labels.push_back(L("0.2 (detachable)"));
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(0.2));
|
||||
|
||||
@ -2736,6 +2757,7 @@ double PrintConfig::min_object_distance(const ConfigBase *config)
|
||||
: duplicate_distance;
|
||||
}
|
||||
|
||||
//FIXME localize this function.
|
||||
std::string FullPrintConfig::validate()
|
||||
{
|
||||
// --layer-height
|
||||
|
@ -50,13 +50,18 @@ const std::array<unsigned, slaposCount> OBJ_STEP_LEVELS =
|
||||
30, // slaposSliceSupports,
|
||||
};
|
||||
|
||||
const std::array<std::string, slaposCount> OBJ_STEP_LABELS =
|
||||
// Object step to status label. The labels are localized at the time of calling, thus supporting language switching.
|
||||
std::string OBJ_STEP_LABELS(size_t idx)
|
||||
{
|
||||
L("Slicing model"), // slaposObjectSlice,
|
||||
L("Generating support points"), // slaposSupportPoints,
|
||||
L("Generating support tree"), // slaposSupportTree,
|
||||
L("Generating pad"), // slaposBasePool,
|
||||
L("Slicing supports"), // slaposSliceSupports,
|
||||
switch (idx) {
|
||||
case slaposObjectSlice: return L("Slicing model");
|
||||
case slaposSupportPoints: return L("Generating support points");
|
||||
case slaposSupportTree: return L("Generating support tree");
|
||||
case slaposBasePool: return L("Generating pad");
|
||||
case slaposSliceSupports: return L("Slicing supports");
|
||||
default:;
|
||||
}
|
||||
assert(false); return "Out of bounds!";
|
||||
};
|
||||
|
||||
// Should also add up to 100 (%)
|
||||
@ -66,10 +71,15 @@ const std::array<unsigned, slapsCount> PRINT_STEP_LEVELS =
|
||||
90, // slapsRasterize
|
||||
};
|
||||
|
||||
const std::array<std::string, slapsCount> PRINT_STEP_LABELS =
|
||||
// Print step to status label. The labels are localized at the time of calling, thus supporting language switching.
|
||||
std::string PRINT_STEP_LABELS(size_t idx)
|
||||
{
|
||||
L("Merging slices and calculating statistics"), // slapsStats
|
||||
L("Rasterizing layers"), // slapsRasterize
|
||||
switch (idx) {
|
||||
case slapsMergeSlicesAndEval: return L("Merging slices and calculating statistics");
|
||||
case slapsRasterize: return L("Rasterizing layers");
|
||||
default:;
|
||||
}
|
||||
assert(false); return "Out of bounds!";
|
||||
};
|
||||
|
||||
}
|
||||
@ -128,7 +138,7 @@ static std::vector<SLAPrintObject::Instance> sla_instances(const ModelObject &mo
|
||||
instances.emplace_back(
|
||||
model_instance->id(),
|
||||
Point::new_scale(model_instance->get_offset(X), model_instance->get_offset(Y)),
|
||||
float(Geometry::rotation_diff_z(rotation0, model_instance->get_rotation())));
|
||||
float(Geometry::rotation_diff_z(rotation0, model_instance->get_rotation())));
|
||||
}
|
||||
}
|
||||
return instances;
|
||||
@ -705,7 +715,7 @@ void SLAPrint::process()
|
||||
po.closest_slice_record(po.m_slice_index, float(bb3d.min(Z)));
|
||||
|
||||
if(slindex_it == po.m_slice_index.end())
|
||||
//TRN To be shown at the status bar on SLA slicing error.
|
||||
//TRN To be shown at the status bar on SLA slicing error.
|
||||
throw std::runtime_error(L("Slicing had to be stopped "
|
||||
"due to an internal error."));
|
||||
|
||||
@ -783,7 +793,7 @@ void SLAPrint::process()
|
||||
double current = init + st * d;
|
||||
if(std::round(m_report_status.status()) < std::round(current))
|
||||
m_report_status(*this, current,
|
||||
OBJ_STEP_LABELS[slaposSupportPoints]);
|
||||
OBJ_STEP_LABELS(slaposSupportPoints));
|
||||
|
||||
};
|
||||
|
||||
@ -837,7 +847,7 @@ void SLAPrint::process()
|
||||
double current = init + st * d;
|
||||
if(std::round(m_report_status.status()) < std::round(current))
|
||||
m_report_status(*this, current,
|
||||
OBJ_STEP_LABELS[slaposSupportTree]);
|
||||
OBJ_STEP_LABELS(slaposSupportTree));
|
||||
|
||||
};
|
||||
|
||||
@ -1347,7 +1357,7 @@ void SLAPrint::process()
|
||||
double st = std::round(dstatus);
|
||||
if(st > pst) {
|
||||
m_report_status(*this, st,
|
||||
PRINT_STEP_LABELS[slapsRasterize]);
|
||||
PRINT_STEP_LABELS(slapsRasterize));
|
||||
pst = st;
|
||||
}
|
||||
}
|
||||
@ -1413,7 +1423,7 @@ void SLAPrint::process()
|
||||
st += incr * ostepd;
|
||||
|
||||
if(po->m_stepmask[currentstep] && po->set_started(currentstep)) {
|
||||
m_report_status(*this, st, OBJ_STEP_LABELS[currentstep]);
|
||||
m_report_status(*this, st, OBJ_STEP_LABELS(currentstep));
|
||||
pobj_program[currentstep](*po);
|
||||
throw_if_canceled();
|
||||
po->set_done(currentstep);
|
||||
@ -1440,7 +1450,7 @@ void SLAPrint::process()
|
||||
|
||||
if(m_stepmask[currentstep] && set_started(currentstep))
|
||||
{
|
||||
m_report_status(*this, st, PRINT_STEP_LABELS[currentstep]);
|
||||
m_report_status(*this, st, PRINT_STEP_LABELS(currentstep));
|
||||
print_program[currentstep]();
|
||||
throw_if_canceled();
|
||||
set_done(currentstep);
|
||||
|
@ -619,7 +619,11 @@ void MainFrame::quick_slice(const int qs)
|
||||
// {
|
||||
// validate configuration
|
||||
auto config = wxGetApp().preset_bundle->full_config();
|
||||
config.validate();
|
||||
auto valid = config.validate();
|
||||
if (! valid.empty()) {
|
||||
show_error(this, valid);
|
||||
return;
|
||||
}
|
||||
|
||||
// select input file
|
||||
if (!(qs & qsReslice)) {
|
||||
@ -783,8 +787,8 @@ void MainFrame::export_config()
|
||||
auto config = wxGetApp().preset_bundle->full_config();
|
||||
// Validate the cummulative configuration.
|
||||
auto valid = config.validate();
|
||||
if (!valid.empty()) {
|
||||
// Slic3r::GUI::catch_error(this);
|
||||
if (! valid.empty()) {
|
||||
show_error(this, valid);
|
||||
return;
|
||||
}
|
||||
// Ask user for the file name for the config file.
|
||||
|
Loading…
Reference in New Issue
Block a user