Merge branch 'main' into dev/bbl-network-upd

This commit is contained in:
Noisyfox
2025-06-01 19:33:39 +08:00
committed by GitHub
59 changed files with 2853 additions and 3014 deletions
+1 -1
View File
@@ -1388,7 +1388,7 @@ namespace DoExport {
if (ret.size() < MAX_TAGS_COUNT) check(_(L("Machine end G-code")), config.machine_end_gcode.value);
if (ret.size() < MAX_TAGS_COUNT) check(_(L("Before layer change G-code")), config.before_layer_change_gcode.value);
if (ret.size() < MAX_TAGS_COUNT) check(_(L("Layer change G-code")), config.layer_change_gcode.value);
if (ret.size() < MAX_TAGS_COUNT) check(_(L("Time lapse G-code")), config.time_lapse_gcode.value);
if (ret.size() < MAX_TAGS_COUNT) check(_(L("Timelapse G-code")), config.time_lapse_gcode.value);
if (ret.size() < MAX_TAGS_COUNT) check(_(L("Change filament G-code")), config.change_filament_gcode.value);
if (ret.size() < MAX_TAGS_COUNT) check(_(L("Printing by object G-code")), config.printing_by_object_gcode.value);
//if (ret.size() < MAX_TAGS_COUNT) check(_(L("Color Change G-code")), config.color_change_gcode.value);
+46 -46
View File
@@ -662,18 +662,18 @@ void PrintConfigDef::init_fff_params()
const int max_temp = 1500;
def = this->add("reduce_crossing_wall", coBool);
def->label = L("Avoid crossing wall");
def->label = L("Avoid crossing walls");
def->category = L("Quality");
def->tooltip = L("Detour and avoid to travel across wall which may cause blob on surface");
def->tooltip = L("Detour to avoid traveling across walls, which may cause blobs on the surface.");
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false));
def = this->add("max_travel_detour_distance", coFloatOrPercent);
def->label = L("Avoid crossing wall - Max detour length");
def->label = L("Avoid crossing walls - Max detour length");
def->category = L("Quality");
def->tooltip = L("Maximum detour distance for avoiding crossing wall. "
"Don't detour if the detour distance is large than this value. "
"Detour length could be specified either as an absolute value or as percentage (for example 50%) of a direct travel path. Zero to disable");
"Don't detour if the detour distance is larger than this value. "
"Detour length could be specified either as an absolute value or as percentage (for example 50%) of a direct travel path. Zero to disable.");
def->sidetext = L("mm or %");
def->min = 0;
def->max_literal = 1000;
@@ -1453,8 +1453,8 @@ void PrintConfigDef::init_fff_params()
def = this->add("close_fan_the_first_x_layers", coInts);
def->label = L("No cooling for the first");
def->tooltip = L("Close all cooling fan for the first certain layers. Cooling fan of the first layer used to be closed "
"to get better build plate adhesion");
def->tooltip = L("Turn off all cooling fans for the first few layers. "
"This can be used to improve build plate adhesion.");
def->sidetext = L("layers");
def->min = 0;
def->max = 1000;
@@ -1572,7 +1572,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("filament_end_gcode", coStrings);
def->label = L("End G-code");
def->tooltip = L("End G-code when finish the printing of this filament");
def->tooltip = L("End G-code when finishing the printing of this filament.");
def->multiline = true;
def->full_width = true;
def->height = 120;
@@ -1940,8 +1940,8 @@ void PrintConfigDef::init_fff_params()
def = this->add("reduce_fan_stop_start_freq", coBools);
def->label = L("Keep fan always on");
def->tooltip = L("If enable this setting, part cooling fan will never be stopped and will run at least "
"at minimum speed to reduce the frequency of starting and stopping");
def->tooltip = L("Enabling this setting means that the part cooling fan will never stop completely "
"and will run at least at minimum speed to reduce the frequency of starting and stopping.");
def->set_default_value(new ConfigOptionBools { false });
def = this->add("dont_slow_down_outer_wall", coBools);
@@ -2291,7 +2291,8 @@ void PrintConfigDef::init_fff_params()
// BBS
def = this->add("temperature_vitrification", coInts);
def->label = L("Softening temperature");
def->tooltip = L("The material softens at this temperature, so when the bed temperature is equal to or greater than it, it's highly recommended to open the front door and/or remove the upper glass to avoid clogging.");
def->tooltip = L("The material softens at this temperature, so when the bed temperature is equal to or greater than this, "
"it's highly recommended to open the front door and/or remove the upper glass to avoid clogging.");
def->sidetext = "°C"; // ORCA add side text
def->mode = comSimple;
def->set_default_value(new ConfigOptionInts{ 100 });
@@ -2544,7 +2545,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("initial_layer_acceleration", coFloat);
def->label = L("Initial layer");
def->tooltip = L("Acceleration of initial layer. Using a lower value can improve build plate adhesive");
def->tooltip = L("Acceleration of initial layer. Using a lower value can improve build plate adhesion.");
def->sidetext = L("mm/s²");
def->min = 0;
def->mode = comAdvanced;
@@ -3177,8 +3178,8 @@ void PrintConfigDef::init_fff_params()
def = this->add("mmu_segmented_region_interlocking_depth", coFloat);
def->label = L("Interlocking depth of a segmented region");
def->tooltip = L("Interlocking depth of a segmented region. It will be ignored if "
"\"mmu_segmented_region_max_width\" is zero or if \"mmu_segmented_region_interlocking_depth\""
"is bigger then \"mmu_segmented_region_max_width\". Zero disables this feature.");
"\"mmu_segmented_region_max_width\" is zero or if \"mmu_segmented_region_interlocking_depth\" "
"is bigger than \"mmu_segmented_region_max_width\". Zero disables this feature.");
def->sidetext = L("mm");
def->min = 0;
def->category = L("Advanced");
@@ -3330,7 +3331,7 @@ void PrintConfigDef::init_fff_params()
def->set_default_value(new ConfigOptionString());
def = this->add("time_lapse_gcode",coString);
def->label = L("Time lapse G-code");
def->label = L("Timelapse G-code");
def->multiline = true;
def->full_width = true;
def->height =5;
@@ -3534,7 +3535,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("fan_max_speed", coFloats);
def->label = L("Fan speed");
def->tooltip = L("Part cooling fan speed may be increased when auto cooling is enabled. "
"This is the maximum speed limitation of part cooling fan");
"This is the maximum speed for the part cooling fan.");
def->sidetext = "%";
def->min = 0;
def->max = 100;
@@ -3543,8 +3544,8 @@ void PrintConfigDef::init_fff_params()
def = this->add("max_layer_height", coFloats);
def->label = L("Max");
def->tooltip = L("The largest printable layer height for extruder. Used tp limits "
"the maximum layer hight when enable adaptive layer height");
def->tooltip = L("The highest printable layer height for the extruder. "
"Used to limit the maximum layer height when enable adaptive layer height.");
def->sidetext = L("mm");
def->min = 0;
def->mode = comAdvanced;
@@ -3612,8 +3613,8 @@ void PrintConfigDef::init_fff_params()
def = this->add("min_layer_height", coFloats);
def->label = L("Min");
def->tooltip = L("The lowest printable layer height for extruder. Used tp limits "
"the minimum layer hight when enable adaptive layer height");
def->tooltip = L("The lowest printable layer height for the extruder. "
"Used to limit the minimum layer height when enable adaptive layer height.");
def->sidetext = L("mm");
def->min = 0;
def->mode = comAdvanced;
@@ -3758,7 +3759,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("filename_format", coString);
def->label = L("Filename format");
def->tooltip = L("User can self-define the project file name when export");
def->tooltip = L("Users can define the project file name when exporting.");
def->full_width = true;
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionString("{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode"));
@@ -4019,7 +4020,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Z-hop height");
def->tooltip = L("Whenever the retraction is done, the nozzle is lifted a little to create clearance between nozzle and the print. "
"It prevents nozzle from hitting the print when travel move. "
"Using spiral line to lift z can prevent stringing");
"Using spiral lines to lift Z can prevent stringing.");
def->sidetext = L("mm");
def->mode = comSimple;
def->min = 0;
@@ -4388,7 +4389,7 @@ void PrintConfigDef::init_fff_params()
def->sidetext = L("mm/s");
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(50.0));
def = this->add("min_skirt_length", coFloat);
def->label = L("Skirt minimum extrusion length");
def->full_label = L("Skirt minimum extrusion length");
@@ -4559,7 +4560,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("filament_start_gcode", coStrings);
def->label = L("Start G-code");
def->tooltip = L("Start G-code when start the printing of this filament");
def->tooltip = L("Start G-code when starting the printing of this filament.");
def->multiline = true;
def->full_width = true;
def->height = 12;
@@ -4651,8 +4652,8 @@ void PrintConfigDef::init_fff_params()
def = this->add("support_type", coEnum);
def->label = L("Type");
def->category = L("Support");
def->tooltip = L("Normal (auto) and Tree (auto) is used to generate support automatically. "
"If Normal (manual) or Tree (manual) is selected, only support enforcers are generated");
def->tooltip = L("Normal (auto) and Tree (auto) are used to generate support automatically. "
"If Normal (manual) or Tree (manual) is selected, only support enforcers are generated.");
def->enum_keys_map = &ConfigOptionEnum<SupportType>::get_enum_values();
def->enum_values.push_back("normal(auto)");
def->enum_values.push_back("tree(auto)");
@@ -5488,9 +5489,9 @@ void PrintConfigDef::init_fff_params()
def = this->add("xy_hole_compensation", coFloat);
def->label = L("X-Y hole compensation");
def->category = L("Quality");
def->tooltip = L("Holes of object will be grown or shrunk in XY plane by the configured value. "
"Positive value makes holes bigger. Negative value makes holes smaller. "
"This function is used to adjust size slightly when the object has assembling issue");
def->tooltip = L("Holes in objects will expand or contract in the XY plane by the configured value. "
"Positive values make holes bigger, negative values make holes smaller. "
"This function is used to adjust sizes slightly when the objects have assembling issues.");
def->sidetext = L("mm");
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0));
@@ -5498,9 +5499,9 @@ void PrintConfigDef::init_fff_params()
def = this->add("xy_contour_compensation", coFloat);
def->label = L("X-Y contour compensation");
def->category = L("Quality");
def->tooltip = L("Contour of object will be grown or shrunk in XY plane by the configured value. "
"Positive value makes contour bigger. Negative value makes contour smaller. "
"This function is used to adjust size slightly when the object has assembling issue");
def->tooltip = L("Contours of objects will expand or contract in the XY plane by the configured value. "
"Positive values make contours bigger, negative values make contours smaller. "
"This function is used to adjust sizes slightly when the objects have assembling issues.");
def->sidetext = L("mm");
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0));
@@ -5632,10 +5633,9 @@ void PrintConfigDef::init_fff_params()
def = this->add("min_feature_size", coPercent);
def->label = L("Minimum feature size");
def->category = L("Quality");
def->tooltip = L("Minimum thickness of thin features. Model features that are thinner than this value will "
"not be printed, while features thicker than the Minimum feature size will be widened to "
"the Minimum wall width. "
"It's expressed as a percentage over nozzle diameter");
def->tooltip = L("Minimum thickness of thin features. Model features that are thinner than this value will not be printed, "
"while features thicker than than this value will be widened to the minimum wall width. "
"It's expressed as a percentage over nozzle diameter.");
def->sidetext = "%";
def->mode = comAdvanced;
def->min = 0;
@@ -7462,8 +7462,8 @@ CLITransformConfigDef::CLITransformConfigDef()
def->set_default_value(new ConfigOptionInt(0));
def = this->add("repetitions", coInt);
def->label = L("Repetions count");
def->tooltip = L("Repetions count of the whole model");
def->label = L("Repetition count");
def->tooltip = L("Repetition count of the whole model.");
def->cli_params = "count";
def->set_default_value(new ConfigOptionInt(1));
@@ -7607,10 +7607,10 @@ CLIMiscConfigDef::CLIMiscConfigDef()
def = this->add("downward_settings", coStrings);
def->label = L("downward machines settings");
def->tooltip = L("the machine settings list need to do downward checking");
def->tooltip = L("The machine settings list needs to do downward checking.");
def->cli_params = "\"machine1.json;machine2.json;...\"";
def->set_default_value(new ConfigOptionStrings());
def = this->add("load_assemble_list", coString);
def->label = L("Load assemble list");
def->tooltip = L("Load assemble object list from config file");
@@ -7677,18 +7677,18 @@ CLIMiscConfigDef::CLIMiscConfigDef()
def->set_default_value(new ConfigOptionInts());
def = this->add("allow_multicolor_oneplate", coBool);
def->label = L("Allow multiple color on one plate");
def->tooltip = L("If enabled, the arrange will allow multiple color on one plate");
def->label = L("Allow multiple colors on one plate");
def->tooltip = L("If enabled, Arrange will allow multiple colors on one plate.");
def->set_default_value(new ConfigOptionBool(true));
def = this->add("allow_rotations", coBool);
def->label = L("Allow rotatations when arrange");
def->tooltip = L("If enabled, the arrange will allow rotations when place object");
def->label = L("Allow rotation when arranging");
def->tooltip = L("If enabled, Arrange will allow rotation when placing objects.");
def->set_default_value(new ConfigOptionBool(true));
def = this->add("avoid_extrusion_cali_region", coBool);
def->label = L("Avoid extrusion calibrate region when doing arrange");
def->tooltip = L("If enabled, the arrange will avoid extrusion calibrate region when place object");
def->label = L("Avoid extrusion calibrate region when arranging");
def->tooltip = L("If enabled, Arrange will avoid extrusion calibrate region when placing objects.");
def->set_default_value(new ConfigOptionBool(false));
def = this->add("skip_modified_gcodes", coBool);
+2 -2
View File
@@ -183,7 +183,7 @@ void AMSSetting::create()
m_sizer_switch_filament_inline = new wxBoxSizer(wxVERTICAL);
m_tip_switch_filament_line1 = new Label(m_panel_body,
_L("AMS will continue to another spool with the same properties of filament automatically when current filament runs out")
_L("AMS will continue to another spool with matching filament properties automatically when current filament runs out.")
);
m_tip_switch_filament_line1->SetFont(::Label::Body_13);
m_tip_switch_filament_line1->SetForegroundColour(AMS_SETTING_GREY700);
@@ -191,7 +191,7 @@ void AMSSetting::create()
m_tip_switch_filament_line1->Wrap(AMS_SETTING_BODY_WIDTH);
m_sizer_switch_filament_inline->Add(m_tip_switch_filament_line1, 0, wxEXPAND, 0);
m_sizer_switch_filament_tip->Add(m_sizer_switch_filament_inline, 1, wxALIGN_CENTER, 0);
// checkbox area 5
+2 -2
View File
@@ -1042,7 +1042,7 @@ AmsTutorialPopup::AmsTutorialPopup(wxWindow* parent)
wxBoxSizer* sizer_main;
sizer_main = new wxBoxSizer(wxVERTICAL);
text_title = new Label(this, Label::Head_14, _L("Config which AMS slot should be used for a filament used in the print job"));
text_title = new Label(this, Label::Head_14, _L("Configure which AMS slot should be used for a filament used in the print job."));
text_title->SetSize(wxSize(FromDIP(350), -1));
text_title->Wrap(FromDIP(350));
sizer_main->Add(text_title, 0, wxALIGN_CENTER | wxTOP, 18);
@@ -1189,7 +1189,7 @@ void AmsIntroducePopup::set_mode(bool enable_ams)
{
if (enable_ams) {
m_staticText_top->SetLabelText(_L("Enable AMS"));
m_staticText_bottom->SetLabelText(_L("Print with filaments in ams"));
m_staticText_bottom->SetLabelText(_L("Print with filaments in AMS"));
m_img_enable_ams->Show();
m_img_disable_ams->Hide();
}
+5 -5
View File
@@ -555,11 +555,11 @@ bool BackgroundSlicingProcess::stop()
m_print->cancel();
// Wait until the background processing stops by being canceled.
m_condition.wait(lck, [this](){ return m_state == STATE_CANCELED; });
// In the "Canceled" state. Reset the state to "Idle".
// In the "Cancelled" state. Reset the state to "Idle".
m_state = STATE_IDLE;
m_print->set_cancel_callback([](){});
} else if (m_state == STATE_FINISHED || m_state == STATE_CANCELED) {
// In the "Finished" or "Canceled" state. Reset the state to "Idle".
// In the "Finished" or "Cancelled" state. Reset the state to "Idle".
m_state = STATE_IDLE;
m_print->set_cancel_callback([](){});
}
@@ -605,7 +605,7 @@ void BackgroundSlicingProcess::stop_internal()
// Lock it back to be in a consistent state.
m_print->state_mutex().lock();
}
// In the "Canceled" state. Reset the state to "Idle".
// In the "Cancelled" state. Reset the state to "Idle".
m_state = STATE_IDLE;
m_print->set_cancel_callback([](){});
BOOST_LOG_TRIVIAL(info) << __FUNCTION__<< ", exit"<<std::endl;
@@ -865,7 +865,7 @@ void BackgroundSlicingProcess::export_gcode()
}
catch (...)
{
throw Slic3r::ExportError(_utf8(L("Unknown error when export G-code.")));
throw Slic3r::ExportError(_utf8(L("Unknown error when exporting G-code.")));
}
switch (copy_ret_val) {
case CopyFileResult::SUCCESS: break; // no error
@@ -887,7 +887,7 @@ void BackgroundSlicingProcess::export_gcode()
default:
BOOST_LOG_TRIVIAL(error) << "Fail code(" << (int)copy_ret_val << ") when copy "<<output_path<<" to " << export_path << ".";
throw Slic3r::ExportError((boost::format(_utf8(L("Failed to save G-code file.\nError message: %1%.\nSource file %2%."))) % error_message % output_path).str());
//throw Slic3r::ExportError(_utf8(L("Unknown error when export G-code.")));
//throw Slic3r::ExportError(_utf8(L("Unknown error when exporting G-code.")));
break;
}
+1 -1
View File
@@ -423,7 +423,7 @@ PingCodeBindDialog::~PingCodeBindDialog() {
auto m_sizer_status_text = new wxBoxSizer(wxHORIZONTAL);
m_status_text = new wxStaticText(this, wxID_ANY, _L("Would you like to log in this printer with current account?"));
m_status_text = new wxStaticText(this, wxID_ANY, _L("Would you like to log in to this printer with the current account?"));
m_status_text->SetForegroundColour(wxColour(107, 107, 107));
m_status_text->SetFont(::Label::Body_13);
m_status_text->Wrap(-1);
+1 -1
View File
@@ -420,7 +420,7 @@ bool CaliPASaveAutoPanel::get_result(std::vector<PACalibResult>& out_result) {
std::unordered_set<std::pair<std::string, std::string>, PACalibResult> set;
for (auto& result : m_calib_results) {
if (!set.insert({ result.second.name, result.second.filament_id }).second) {
MessageDialog msg_dlg(nullptr, _L("Only one of the results with the same name will be saved. Are you sure you want to override the other results?"), wxEmptyString, wxICON_WARNING | wxYES_NO);
MessageDialog msg_dlg(nullptr, _L("Only one of the results with the same name will be saved. Are you sure you want to overwrite the other results?"), wxEmptyString, wxICON_WARNING | wxYES_NO);
if (msg_dlg.ShowModal() != wxID_YES) {
return false;
}
@@ -92,10 +92,11 @@ void CalibrationPAStartPage::create_page(wxWindow* parent)
m_top_sizer->Add(m_page_caption, 0, wxEXPAND, 0);
create_when(parent,
_L("When do you need Flow Dynamics Calibration"),
_L("We now have added the auto-calibration for different filaments, which is fully automated and the result will be saved into the printer for future use. You only need to do the calibration in the following limited cases:\
\n1. If you introduce a new filament of different brands/models or the filament is damp;\
\n2. if the nozzle is worn out or replaced with a new one;\
\n3. If the max volumetric speed or print temperature is changed in the filament setting."));
_L("We now have added the auto-calibration for different filaments, which is fully automated and the result will be saved into the printer for future use. "
"You only need to do the calibration in the following limited cases:\n"
"1. If you introduce a new filament of different brands/models or the filament is damp;\n"
"2. If the nozzle is worn out or replaced with a new one;\n"
"3. If the max volumetric speed or print temperature is changed in the filament setting."));
m_top_sizer->Add(m_when_title);
m_top_sizer->Add(m_when_content);
+2 -2
View File
@@ -1314,7 +1314,7 @@ void CreateFilamentPresetDialog::select_curr_radiobox(std::vector<std::pair<Radi
}
} else if (curr_selected_type == m_create_type.base_filament_preset) {
m_filament_preset_text->SetLabel(_L("We would rename the presets as \"Vendor Type Serial @printer you selected\".\n"
"To add preset for more printers, Please go to printer selection"));
"To add preset for more printers, please go to printer selection"));
m_filament_preset_combobox->Hide();
if (_L("Select Type") != m_filament_type_combobox->GetLabel()) {
@@ -3325,7 +3325,7 @@ wxString CreatePrinterPresetDialog::curr_create_printer_type()
}
CreatePresetSuccessfulDialog::CreatePresetSuccessfulDialog(wxWindow *parent, const SuccessType &create_success_type)
: DPIDialog(parent ? parent : nullptr, wxID_ANY, PRINTER == create_success_type ? _L("Create Printer Successful") : _L("Create Filament Successful"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX)
: DPIDialog(parent ? parent : nullptr, wxID_ANY, PRINTER == create_success_type ? _L("Printer Created Successfully") : _L("Filament Created Successfully"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX)
{
this->SetBackgroundColour(*wxWHITE);
this->SetSize(wxSize(FromDIP(450), FromDIP(200)));
+4 -4
View File
@@ -119,7 +119,7 @@ wxString get_stage_string(int stage)
case 17:
return _L("Pause of front cover falling");
case 18:
return _L("Calibrating the micro lida");
return _L("Calibrating the micro lidar");
case 19:
return _L("Calibrating extrusion flow");
case 20:
@@ -3301,8 +3301,8 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
"In order to avoid extruder clogging, it is not allowed to set the chamber temperature above 45\u2103.");
}
else if (jj["errno"].get<int>() == -4) {
text = _L("When you set the chamber temperature below 40\u2103, the chamber temperature control will not be activated. "
"And the target chamber temperature will automatically be set to 0\u2103.");
text = _L("When you set the chamber temperature below 40\u2103, the chamber temperature control will not be activated, "
"and the target chamber temperature will automatically be set to 0\u2103.");
}
if(!text.empty()){
#if __WXOSX__
@@ -6902,7 +6902,7 @@ void DeviceManager::check_filaments_in_blacklist(std::string tag_vendor, std::st
{"TPU: not supported", _L("TPU is not supported by AMS.")},
{"Bambu PET-CF/PA6-CF: not supported", _L("Bambu PET-CF/PA6-CF is not supported by AMS.")},
{"PVA: flexible", _L("Damp PVA will become flexible and get stuck inside AMS, please take care to dry it before use.")},
{"CF/GF: hard and brittle", _L("CF/GF filaments are hard and brittle, It's easy to break or get stuck in AMS, please use with caution.")}
{"CF/GF: hard and brittle", _L("CF/GF filaments are hard and brittle, it's easy to break or get stuck in AMS, please use with caution.")}
};
in_blacklist = false;
+1 -1
View File
@@ -278,7 +278,7 @@ void Field::get_value_by_opt_type(wxString& str, const bool check_value/* = true
}
wxString label = m_opt.full_label.empty() ? _(m_opt.label) : _(m_opt.full_label);
show_error(m_parent, from_u8((boost::format(_utf8(L("%s can't be percentage"))) % into_u8(label)).str()));
show_error(m_parent, from_u8((boost::format(_utf8(L("%s can't be a percentage"))) % into_u8(label)).str()));
set_value(double_to_string(m_opt.min), true);
m_value = double(m_opt.min);
break;
+1 -1
View File
@@ -9668,7 +9668,7 @@ void GLCanvas3D::_set_warning_notification(EWarning warning, bool state)
case EWarning::ToolpathOutside: text = _u8L("A G-code path goes beyond the plate boundaries."); error = ErrorType::SLICING_ERROR; break;
// BBS: remove _u8L() for SLA
case EWarning::SlaSupportsOutside: text = ("SLA supports outside the print area were detected."); error = ErrorType::PLATER_ERROR; break;
case EWarning::SomethingNotShown: text = _u8L("Only the object being edit is visible."); break;
case EWarning::SomethingNotShown: text = _u8L("Only the object being edited is visible."); break;
case EWarning::ObjectClashed:
text = _u8L("An object is laid over the plate boundaries or exceeds the height limit.\n"
"Please solve the problem by moving it totally on or off the plate, and confirming that the height is within the build volume.");
+4 -4
View File
@@ -1064,10 +1064,10 @@ void MenuFactory::append_menu_items_convert_unit(wxMenu* menu)
};
std::vector<std::pair<ConversionType, wxString>> items = {
{ConversionType::CONV_FROM_INCH , _L("Convert from inch") },
{ConversionType::CONV_TO_INCH , _L("Restore to inch") },
{ConversionType::CONV_FROM_METER, _L("Convert from meter") },
{ConversionType::CONV_TO_METER , _L("Restore to meter") } };
{ConversionType::CONV_FROM_INCH , _L("Convert from inches") },
{ConversionType::CONV_TO_INCH , _L("Restore to inches") },
{ConversionType::CONV_FROM_METER, _L("Convert from meters") },
{ConversionType::CONV_TO_METER , _L("Restore to meters") } };
for (auto item : items) {
int menu_id = menu->FindItem(item.second);
+2 -2
View File
@@ -4874,11 +4874,11 @@ bool ObjectList::check_last_selection(wxString& msg_str)
if (m_selection_mode == smInstance) {
msg_str = wxString::Format(_(L("Selection conflicts")) + "\n\n" +
_(L("If first selected item is an object, the second one should also be object.")) + "\n");
_(L("If the first selected item is an object, the second should also be an object.")) + "\n");
}
else {
msg_str = wxString::Format(_(L("Selection conflicts")) + "\n\n" +
_(L("If first selected item is a part, the second one should be part in the same object.")) + "\n");
_(L("If the first selected item is a part, the second should be a part in the same object.")) + "\n");
}
// Unselect last selected item, if selection is without SHIFT
+2 -2
View File
@@ -1090,9 +1090,9 @@ void ObjectGrid::paste_data( wxTextDataObject& text_data )
}
else {
wxLogWarning(_L("multiple cells copy is not supported"));
wxLogWarning(_L("Copying multiple cells is not supported."));
/*if ((src_col_cnt != 1) || (dst_left_col != src_left_col))
wxLogWarning(_L("multiple columns copy is not supported"));
wxLogWarning(_L("Copying multiple columns is not supported."));
else {
split(buf, string_array);
int count = string_array.GetCount();
+1 -1
View File
@@ -71,7 +71,7 @@ void GLGizmoFdmSupports::on_opening()
std::string GLGizmoFdmSupports::on_get_name() const
{
return _u8L("Supports Painting");
return _u8L("Support Painting");
}
bool GLGizmoFdmSupports::on_init()
+2 -2
View File
@@ -480,7 +480,7 @@ std::string GLGizmoMeasure::on_get_name() const
{
if (!on_is_activable() && m_state == EState::Off) {
if (wxGetApp().plater()->canvas3D()->get_canvas_type() == GLCanvas3D::ECanvasType::CanvasAssembleView) {
return _u8L("Measure") + ":\n" + _u8L("Please confirm explosion ratio = 1,and please select at least one object");
return _u8L("Measure") + ":\n" + _u8L("Please confirm explosion ratio = 1, and please select at least one object.");
}
else {
return _u8L("Measure") + ":\n" + _u8L("Please select at least one object.");
@@ -2080,7 +2080,7 @@ void GLGizmoMeasure::show_face_face_assembly_senior()
m_selected_features.first.feature->get_type() == Measure::SurfaceFeatureType::Plane &&
m_selected_features.second.feature->get_type() == Measure::SurfaceFeatureType::Plane) {
auto &action = m_assembly_action;
auto feature_text_size = m_imgui->calc_button_size(_L("Featue 1")).x + m_imgui->calc_button_size(":").x;
auto feature_text_size = m_imgui->calc_button_size(_L("Feature 1")).x + m_imgui->calc_button_size(":").x;
auto set_to_reverse_rotation_size = m_imgui->calc_button_size(_L("Reverse rotation")).x;
auto rotate_around_center_size = m_imgui->calc_button_size(_L("Rotate around center:")).x;
auto parallel_distance_size = m_imgui->calc_button_size(_L("Parallel distance:")).x;
@@ -25,7 +25,7 @@ static inline void show_notification_extruders_limit_exceeded()
.plater()
->get_notification_manager()
->push_notification(NotificationType::MmSegmentationExceededExtrudersLimit, NotificationManager::NotificationLevel::PrintInfoNotificationLevel,
GUI::format(_L("Filament count exceeds the maximum number that painting tool supports. only the "
GUI::format(_L("Filament count exceeds the maximum number that painting tool supports. Only the "
"first %1% filaments will be available in painting tool."), GLGizmoMmuSegmentation::EXTRUDERS_LIMIT));
}
+1 -1
View File
@@ -1127,7 +1127,7 @@ std::vector<std::string> create_shape_warnings(const EmbossShape &shape, float s
std::string fill_warning = create_fill_warning(*shape);
if (!fill_warning.empty()) {
// TRN: The first placeholder is shape identifier, the second one is text describing the problem.
// TRN: The first placeholder is shape identifier, the second is text describing the problem.
add_warning(shape_index * 2, GUI::format(_L("Fill of shape (%1%) contains unsupported: %2%."), shape->id, fill_warning));
}
+2 -2
View File
@@ -367,7 +367,7 @@ void GLGizmoSimplify::on_render_input_window(float x, float y, float bottom_limi
apply_simplify();
}
else if (ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenDisabled) && is_worker_running) {
ImGui::SetTooltip("%s", _u8L("Can't apply when process preview.").c_str());
ImGui::SetTooltip("%s", _u8L("Can't apply when processing preview.").c_str());
}
m_imgui->pop_confirm_button_style();
m_imgui->disabled_end(); // state !settings
@@ -380,7 +380,7 @@ void GLGizmoSimplify::on_render_input_window(float x, float y, float bottom_limi
close();
}
else if (ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenDisabled) && is_cancelling)
ImGui::SetTooltip("%s", _u8L("Operation already cancelling. Please wait few seconds.").c_str());
ImGui::SetTooltip("%s", _u8L("Operation already cancelling. Please wait a few seconds.").c_str());
m_imgui->pop_cancel_button_style();
m_imgui->disabled_end(); // state cancelling
+2 -2
View File
@@ -16,7 +16,7 @@ static auto check_gcode_failed_str = _u8L("Abnormal print file data. Please
static auto printjob_cancel_str = _u8L("Task canceled.");
static auto timeout_to_upload_str = _u8L("Upload task timed out. Please check the network status and try again.");
static auto failed_in_cloud_service_str = _u8L("Cloud service connection failed. Please try again.");
static auto file_is_not_exists_str = _u8L("Print file not found. please slice again.");
static auto file_is_not_exists_str = _u8L("Print file not found. Please slice again.");
static auto file_over_size_str = _u8L("The print file exceeds the maximum allowable size (1GB). Please simplify the model and slice again.");
static auto print_canceled_str = _u8L("Task canceled.");
static auto send_print_failed_str = _u8L("Failed to send the print job. Please try again.");
@@ -24,7 +24,7 @@ static auto upload_ftp_failed_str = _u8L("Failed to upload file to ftp. Please t
static auto desc_network_error = _u8L("Check the current status of the bambu server by clicking on the link above.");
static auto desc_file_too_large = _u8L("The size of the print file is too large. Please adjust the file size and try again.");
static auto desc_fail_not_exist = _u8L("Print file not found, Please slice it again and send it for printing.");
static auto desc_fail_not_exist = _u8L("Print file not found, please slice it again and send it for printing.");
static auto desc_upload_ftp_failed = _u8L("Failed to upload print file to FTP. Please check the network status and try again.");
+2 -2
View File
@@ -14,7 +14,7 @@ static auto check_gcode_failed_str = _u8L("Abnormal print file data. Please slic
static auto printjob_cancel_str = _u8L("Task canceled.");
static auto timeout_to_upload_str = _u8L("Upload task timed out. Please check the network status and try again.");
static auto failed_in_cloud_service_str = _u8L("Cloud service connection failed. Please try again.");
static auto file_is_not_exists_str = _u8L("Print file not found. please slice again.");
static auto file_is_not_exists_str = _u8L("Print file not found. Please slice again.");
static auto file_over_size_str = _u8L("The print file exceeds the maximum allowable size (1GB). Please simplify the model and slice again.");
static auto print_canceled_str = _u8L("Task canceled.");
static auto send_print_failed_str = _u8L("Failed to send the print job. Please try again.");
@@ -22,7 +22,7 @@ static auto upload_ftp_failed_str = _u8L("Failed to upload file to ftp. Please t
static auto desc_network_error = _u8L("Check the current status of the bambu server by clicking on the link above.");
static auto desc_file_too_large = _u8L("The size of the print file is too large. Please adjust the file size and try again.");
static auto desc_fail_not_exist = _u8L("Print file not found, Please slice it again and send it for printing.");
static auto desc_fail_not_exist = _u8L("Print file not found, please slice it again and send it for printing.");
static auto desc_upload_ftp_failed = _u8L("Failed to upload print file to FTP. Please check the network status and try again.");
static auto sending_over_lan_str = _u8L("Sending print job over LAN");
+1 -1
View File
@@ -89,7 +89,7 @@ void UpgradeNetworkJob::process(Ctl &ctl)
name, package_name,
[this, &ctl](int state, int percent, bool &cancel) {
if (state == InstallStatusInstallCompleted) {
update_status(ctl, percent, _u8L("Install successfully."));
update_status(ctl, percent, _u8L("Installed successfully"));
} else {
update_status(ctl, percent, _u8L("Installing"));
}
+2 -2
View File
@@ -311,7 +311,7 @@ void MediaPlayCtrl::Play()
if (m_lan_proto <= MachineObject::LVL_Disable && (m_lan_mode || !m_remote_proto)) {
Stop(m_lan_proto == MachineObject::LVL_None
? _L("Problem occurred. Please update the printer firmware and try again.")
? _L("A problem occurred. Please update the printer firmware and try again.")
: _L("LAN Only Liveview is off. Please turn on the liveview on printer screen."));
return;
}
@@ -383,7 +383,7 @@ void MediaPlayCtrl::Stop(wxString const &msg, wxString const &msg2)
else if (m_failed_code) {
auto iter = error_messages.find(m_failed_code);
auto msg2 = iter == error_messages.end()
? _L("Please check the network and try again, You can restart or update the printer if the issue persists.")
? _L("Please check the network and try again. You can restart or update the printer if the issue persists.")
: _L(iter->second.c_str());
if (m_failed_code == 1) {
if (m_last_state == wxMEDIASTATE_PLAYING)
+1 -1
View File
@@ -2041,7 +2041,7 @@ void NotificationManager::set_simplify_suggestion_multiline(const ObjectID oid,
void NotificationManager::push_exporting_finished_notification(const std::string& path, const std::string& dir_path, bool on_removable)
{
close_notification_of_type(NotificationType::ExportFinished);
NotificationData data{ NotificationType::ExportFinished, NotificationLevel::RegularNotificationLevel, on_removable ? 0 : 20, _u8L("Export successfully.") + "\n" + path };
NotificationData data{ NotificationType::ExportFinished, NotificationLevel::RegularNotificationLevel, on_removable ? 0 : 20, _u8L("Exported successfully") + "\n" + path };
push_notification_data(std::make_unique<NotificationManager::ExportFinishedNotification>(data, m_id_provider, m_evt_handler, on_removable, path, dir_path), 0);
set_slicing_progress_hidden();
}
+3 -3
View File
@@ -499,7 +499,7 @@ void PhysicalPrinterDialog::update_preset_input() {
const Preset *existing = m_presets->find_preset(m_preset_name, false);
if (m_valid_type == Valid && existing && (existing->is_default || existing->is_system)) {
info_line = _L("Overwrite a system profile is not allowed");
info_line = _L("Overwriting a system profile is not allowed.");
m_valid_type = NoValid;
}
@@ -507,8 +507,8 @@ void PhysicalPrinterDialog::update_preset_input() {
if (existing->is_compatible)
info_line = from_u8((boost::format(_u8L("Preset \"%1%\" already exists.")) % m_preset_name).str());
else
info_line = from_u8((boost::format(_u8L("Preset \"%1%\" already exists and is incompatible with current printer.")) % m_preset_name).str());
info_line += "\n" + _L("Please note that saving action will replace this preset");
info_line = from_u8((boost::format(_u8L("Preset \"%1%\" already exists and is incompatible with the current printer.")) % m_preset_name).str());
info_line += "\n" + _L("Please note that saving will overwrite this preset.");
m_valid_type = Warning;
}
+7 -8
View File
@@ -3872,7 +3872,7 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
// }
else if (load_config && (file_version > app_version)) {
if (config_substitutions.unrecogized_keys.size() > 0) {
wxString text = wxString::Format(_L("The 3mf's version %s is newer than %s's version %s, Found following keys unrecognized:"),
wxString text = wxString::Format(_L("The 3mf's version %s is newer than %s's version %s, found following unrecognized keys:"),
file_version.to_string(), std::string(SLIC3R_APP_FULL_NAME), app_version.to_string());
text += "\n";
bool first = true;
@@ -4032,9 +4032,8 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
for (std::set<std::string>::iterator it=modified_gcodes.begin(); it!=modified_gcodes.end(); ++it)
warning_message += "-" + *it + "\n";
warning_message += "\n";
//show_info(q, _L("The 3mf has following modified G-codes in filament or printer presets:") + warning_message+ _L("Please confirm that these modified G-codes are safe to prevent any damage to the machine!"), _L("Modified G-code"));
MessageDialog dlg(q, _L("The 3mf has following modified G-codes in filament or printer presets:") + warning_message+ _L("Please confirm that these modified G-codes are safe to prevent any damage to the machine!"), _L("Modified G-code"));
//show_info(q, _L("The 3mf has the following modified G-code in filament or printer presets:") + warning_message + _L("Please confirm that all modified G-code is safe to prevent any damage to the machine!"), _L("Modified G-code"));
MessageDialog dlg(q, _L("The 3mf has the following modified G-code in filament or printer presets:") + warning_message + _L("Please confirm that all modified G-code is safe to prevent any damage to the machine!"), _L("Modified G-code"));
dlg.show_dsa_button();
auto res = dlg.ShowModal();
if (dlg.get_checkbox_state())
@@ -4046,8 +4045,8 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
for (std::set<std::string>::iterator it=modified_gcodes.begin(); it!=modified_gcodes.end(); ++it)
warning_message += "-" + *it + "\n";
warning_message += "\n";
//show_info(q, _L("The 3mf has following customized filament or printer presets:") + warning_message + _L("Please confirm that the G-codes within these presets are safe to prevent any damage to the machine!"), _L("Customized Preset"));
MessageDialog dlg(q, _L("The 3mf has following customized filament or printer presets:") + from_u8(warning_message)+ _L("Please confirm that the G-codes within these presets are safe to prevent any damage to the machine!"), _L("Customized Preset"));
//show_info(q, _L("The 3mf has the following customized filament or printer presets:") + warning_message + _L("Please confirm that the G-code within these presets is safe to prevent any damage to the machine!"), _L("Customized Preset"));
MessageDialog dlg(q, _L("The 3mf has the following customized filament or printer presets:") + from_u8(warning_message)+ _L("Please confirm that the G-code within these presets is safe to prevent any damage to the machine!"), _L("Customized Preset"));
dlg.show_dsa_button();
auto res = dlg.ShowModal();
if (dlg.get_checkbox_state())
@@ -4618,7 +4617,7 @@ std::vector<size_t> Plater::priv::load_model_objects(const ModelObjectPtrs& mode
const Vec3d ratio = size.cwiseQuotient(bed_size);
const double max_ratio = std::max(ratio(0), ratio(1));
if (max_ratio > 10000) {
MessageDialog dlg(q, _L("Your object appears to be too large, Do you want to scale it down to fit the heat bed automatically?"), _L("Object too large"),
MessageDialog dlg(q, _L("Your object appears to be too large, do you want to scale it down to fit the print bed automatically?"), _L("Object too large"),
wxICON_QUESTION | wxYES);
int answer = dlg.ShowModal();
// the size of the object is too big -> this could lead to overflow when moving to clipper coordinates,
@@ -4630,7 +4629,7 @@ std::vector<size_t> Plater::priv::load_model_objects(const ModelObjectPtrs& mode
break;
}
else if (max_ratio > 10) {
MessageDialog dlg(q, _L("Your object appears to be too large, Do you want to scale it down to fit the heat bed automatically?"), _L("Object too large"),
MessageDialog dlg(q, _L("Your object appears to be too large, do you want to scale it down to fit the print bed automatically?"), _L("Object too large"),
wxICON_QUESTION | wxYES_NO);
int answer = dlg.ShowModal();
if (answer == wxID_YES) {
+2 -2
View File
@@ -1499,7 +1499,7 @@ wxWindow* PreferencesDialog::create_debug_page()
debug_button->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
// success message box
MessageDialog dialog(this, _L("save debug settings"), _L("DEBUG settings have saved successfully!"), wxNO_DEFAULT | wxYES_NO | wxICON_INFORMATION);
MessageDialog dialog(this, _L("save debug settings"), _L("DEBUG settings have been saved successfully!"), wxNO_DEFAULT | wxYES_NO | wxICON_INFORMATION);
dialog.SetSize(400,-1);
switch (dialog.ShowModal()) {
case wxID_NO: {
@@ -1562,7 +1562,7 @@ wxWindow* PreferencesDialog::create_debug_page()
agent->set_country_code(country_code);
}
ConfirmBeforeSendDialog confirm_dlg(this, wxID_ANY, _L("Warning"), ConfirmBeforeSendDialog::ButtonStyle::ONLY_CONFIRM);
confirm_dlg.update_text(_L("Switch cloud environment, Please login again!"));
confirm_dlg.update_text(_L("Cloud environment switched, please login again!"));
confirm_dlg.on_show();
}
+2 -2
View File
@@ -393,7 +393,7 @@ void PrintHostQueueDialog::append_job(const PrintHostJob &job)
wxVector<wxVariant> fields;
fields.push_back(wxVariant(wxString::Format("%d", job_list->GetItemCount() + 1)));
fields.push_back(wxVariant(0));
fields.push_back(wxVariant(_L("Enqueued")));
fields.push_back(wxVariant(_L("Queued")));
fields.push_back(wxVariant(job.printhost->get_host()));
boost::system::error_code ec;
boost::uintmax_t size_i = boost::filesystem::file_size(job.upload_data.source_path, ec);
@@ -448,7 +448,7 @@ void PrintHostQueueDialog::set_state(int idx, JobState state)
job_list->SetItemData(job_list->RowToItem(idx), static_cast<wxUIntPtr>(state));
switch (state) {
case ST_NEW: job_list->SetValue(_L("Enqueued"), idx, COL_STATUS); break;
case ST_NEW: job_list->SetValue(_L("Queued"), idx, COL_STATUS); break;
case ST_PROGRESS: job_list->SetValue(_L("Uploading"), idx, COL_STATUS); break;
case ST_ERROR: job_list->SetValue(_L("Error"), idx, COL_STATUS); break;
case ST_CANCELLING: job_list->SetValue(_L("Cancelling"), idx, COL_STATUS); break;
+1 -1
View File
@@ -239,7 +239,7 @@ void UpdatePluginDialog::update_info(std::string json_path)
version = from_u8(version_str);
description = from_u8(description_str);
m_text_up_info->SetLabel(wxString::Format(_L("A new Network plug-in (%s) available, Do you want to install it?"), version));
m_text_up_info->SetLabel(wxString::Format(_L("A new Network plug-in (%s) is available. Do you want to install it?"), version));
m_text_up_info->SetMinSize(wxSize(FromDIP(260), -1));
m_text_up_info->SetMaxSize(wxSize(FromDIP(260), -1));
wxBoxSizer* sizer_text_release_note = new wxBoxSizer(wxVERTICAL);
+3 -3
View File
@@ -204,7 +204,7 @@ void SavePresetDialog::Item::update()
const Preset *existing = m_presets->find_preset(m_preset_name, false);
if (m_valid_type == Valid && existing && (existing->is_default || existing->is_system)) {
info_line = _L("Overwrite a system profile is not allowed");
info_line = _L("Overwriting a system profile is not allowed.");
m_valid_type = NoValid;
}
@@ -212,8 +212,8 @@ void SavePresetDialog::Item::update()
if (existing->is_compatible)
info_line = from_u8((boost::format(_u8L("Preset \"%1%\" already exists.")) % m_preset_name).str());
else
info_line = from_u8((boost::format(_u8L("Preset \"%1%\" already exists and is incompatible with current printer.")) % m_preset_name).str());
info_line += "\n" + _L("Please note that saving action will replace this preset");
info_line = from_u8((boost::format(_u8L("Preset \"%1%\" already exists and is incompatible with the current printer.")) % m_preset_name).str());
info_line += "\n" + _L("Please note that saving will overwrite this preset.");
m_valid_type = Warning;
}
+1 -1
View File
@@ -1210,7 +1210,7 @@ wxPanel* SendMultiMachinePage::create_page()
//m_table_head_sizer->Add(m_task_status, 0, wxALIGN_CENTER_VERTICAL, 0);
m_ams = new Button(m_table_head_panel, _L("Ams Status"), "toolbar_double_directional_arrow", wxNO_BORDER, ICON_SIZE, false);
m_ams = new Button(m_table_head_panel, _L("AMS Status"), "toolbar_double_directional_arrow", wxNO_BORDER, ICON_SIZE, false);
m_ams->SetBackgroundColor(head_bg);
m_ams->SetCornerRadius(0);
m_ams->SetFont(TABLE_HEAD_FONT);
+6 -4
View File
@@ -4909,7 +4909,7 @@ wxBoxSizer *ScoreDialog::get_button_sizer()
m_upload_status_code = StatusCode::UPLOAD_PROGRESS;
if (m_star_count == 0) {
MessageDialog dlg(this, _L("Please click on the star first."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("InFo"), wxOK);
MessageDialog dlg(this, _L("Please click on the star first."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"), wxOK);
dlg.ShowModal();
return;
}
@@ -5012,8 +5012,9 @@ wxBoxSizer *ScoreDialog::get_button_sizer()
if (!error_info.empty()) { BOOST_LOG_TRIVIAL(info) << error_info; }
dlg_info = new MessageDialog(this,
_L("Your comment result cannot be uploaded due to some reasons. As follows:\n\n error code: ") + std::to_string(http_code) +
"\n " + _L("error message: ") + http_error + _L("\n\nWould you like to redirect to the webpage for rating?"),
_L("Your comment result cannot be uploaded due to the following reasons:\n\n error code: ") +
std::to_string(http_code) + "\n " + _L("error message: ") + http_error +
_L("\n\nWould you like to redirect to the webpage to give a rating?"),
wxString(_L("info")), wxOK | wxNO | wxCENTER);
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": upload rating picture failed and http error" << http_error;
if (dlg_info->ShowModal() == wxID_OK) {
@@ -5024,7 +5025,8 @@ wxBoxSizer *ScoreDialog::get_button_sizer()
break;
}
} else if (m_upload_status_code == StatusCode::UPLOAD_IMG_FAILED) {
MessageDialog *dlg_info = new MessageDialog(this, _L("Some of your images failed to upload. Would you like to redirect to the webpage for rating?"),
MessageDialog *dlg_info = new MessageDialog(this,
_L("Some of your images failed to upload. Would you like to redirect to the webpage to give a rating?"),
wxString(_L("info")), wxOK | wxNO | wxCENTER);
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": upload rating picture failed or get oss config failed";
if (dlg_info->ShowModal() == wxID_OK) {
+6 -6
View File
@@ -1497,7 +1497,7 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value)
auto timelapse_type = m_config->option<ConfigOptionEnum<TimelapseType>>("timelapse_type");
bool timelapse_enabled = timelapse_type->value == TimelapseType::tlSmooth;
if (!boost::any_cast<bool>(value) && timelapse_enabled) {
MessageDialog dlg(wxGetApp().plater(), _L("Prime tower is required for smooth timelapse. There may be flaws on the model without prime tower. Are you sure you want to disable prime tower?"),
MessageDialog dlg(wxGetApp().plater(), _L("A prime tower is required for smooth timelapse. There may be flaws on the model without prime tower. Are you sure you want to disable prime tower?"),
_L("Warning"), wxICON_WARNING | wxYES | wxNO);
if (dlg.ShowModal() == wxID_NO) {
DynamicPrintConfig new_conf = *m_config;
@@ -1513,7 +1513,7 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value)
if (opt_key == "timelapse_type") {
bool wipe_tower_enabled = m_config->option<ConfigOptionBool>("enable_prime_tower")->value;
if (!wipe_tower_enabled && boost::any_cast<int>(value) == (int)TimelapseType::tlSmooth) {
MessageDialog dlg(wxGetApp().plater(), _L("Prime tower is required for smooth timelapse. There may be flaws on the model without prime tower. Do you want to enable prime tower?"),
MessageDialog dlg(wxGetApp().plater(), _L("A prime tower is required for smooth timelapse. There may be flaws on the model without prime tower. Do you want to enable prime tower?"),
_L("Warning"), wxICON_WARNING | wxYES | wxNO);
if (dlg.ShowModal() == wxID_YES) {
DynamicPrintConfig new_conf = *m_config;
@@ -1556,8 +1556,8 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value)
int interface_filament_id = m_config->opt_int("support_interface_filament") - 1; // the displayed id is based from 1, while internal id is based from 0
if (is_support_filament(interface_filament_id) && !(m_config->opt_float("support_top_z_distance") == 0 && m_config->opt_float("support_interface_spacing") == 0 &&
m_config->opt_enum<SupportMaterialInterfacePattern>("support_interface_pattern") == SupportMaterialInterfacePattern::smipRectilinearInterlaced)) {
wxString msg_text = _L("When using support material for the support interface, We recommend the following settings:\n"
"0 top z distance, 0 interface spacing, interlaced rectilinear pattern and disable independent support layer height");
wxString msg_text = _L("When using support material for the support interface, we recommend the following settings:\n"
"0 top Z distance, 0 interface spacing, interlaced rectilinear pattern and disable independent support layer height");
msg_text += "\n\n" + _L("Change these settings automatically?\n"
"Yes - Change these settings automatically\n"
"No - Do not change these settings for me");
@@ -3850,7 +3850,7 @@ void TabPrinter::build_fff()
auto [thumbnails_list, errors] = GCodeThumbnails::make_and_check_thumbnail_list(val);
if (errors != enum_bitmask<ThumbnailError>()) {
// TRN: First argument is parameter name, the second one is the value.
// TRN: The first argument is the parameter's name; the second argument is its value.
std::string error_str = format(_u8L("Invalid value provided for parameter %1%: %2%"), "thumbnails", val);
error_str += GCodeThumbnails::get_error_string(errors);
InfoDialog(parent(), _L("G-code flavor is switched"), from_u8(error_str)).ShowModal();
@@ -3968,7 +3968,7 @@ void TabPrinter::build_fff()
option.opt.height = gcode_field_height;//150;
optgroup->append_single_option_line(option);
optgroup = page->new_optgroup(L("Time lapse G-code"), L"param_gcode", 0);
optgroup = page->new_optgroup(L("Timelapse G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) {
validate_custom_gcode_cb(this, optgroup_title, opt_key, value);
};
+5 -5
View File
@@ -124,7 +124,7 @@ MsgUpdateConfig::MsgUpdateConfig(const std::vector<Update> &updates, bool force_
wxBoxSizer *m_sizer_right = new wxBoxSizer(wxVERTICAL);
auto m_text_up_info = new wxStaticText(this, wxID_ANY, _L("A new configuration package available, Do you want to install it?"), wxDefaultPosition, wxDefaultSize, 0);
auto m_text_up_info = new wxStaticText(this, wxID_ANY, _L("A new configuration package is available. Do you want to install it?"), wxDefaultPosition, wxDefaultSize, 0);
m_text_up_info->SetFont(::Label::Head_14);
m_text_up_info->SetForegroundColour(wxColour(0x26, 0x2E, 0x30));
m_text_up_info->Wrap(-1);
@@ -252,11 +252,11 @@ MsgUpdateConfig::~MsgUpdateConfig() {}
//MsgUpdateForced
MsgUpdateForced::MsgUpdateForced(const std::vector<Update>& updates) :
MsgDialog(nullptr, _(L("Configuration incompatible")), _(L("the configuration package is incompatible with current application.")) + " ", wxOK | wxICON_ERROR)
MsgDialog(nullptr, _(L("Configuration incompatible")), _(L("the configuration package is incompatible with the current application.")) + " ", wxOK | wxICON_ERROR)
{
auto* text = new wxStaticText(this, wxID_ANY, wxString::Format(_(L(
"The configuration package is incompatible with current application.\n"
"%s will update the configuration package, Otherwise it won't be able to start"
"The configuration package is incompatible with the current application.\n"
"%s will update the configuration package to allow the application to start."
)), SLIC3R_APP_FULL_NAME));
@@ -317,7 +317,7 @@ MsgUpdateForced::~MsgUpdateForced() {}
// MsgDataIncompatible
MsgDataIncompatible::MsgDataIncompatible(const std::unordered_map<std::string, wxString> &incompats) :
MsgDialog(nullptr, _(L("Configuration incompatible")), _(L("the Configuration package is incompatible with current APP.")), wxICON_ERROR)
MsgDialog(nullptr, _(L("Configuration incompatible")), _(L("the configuration package is incompatible with the current application.")), wxICON_ERROR)
{
//TODO
//auto *text = new wxStaticText(this, wxID_ANY, wxString::Format(_(L(
+2 -2
View File
@@ -1059,7 +1059,7 @@ void MachineInfoPanel::show_status(int status, std::string upgrade_status_str)
m_staticText_upgrading_percent->Show();
} else if (status == (int) MachineObject::UpgradingDisplayState::UpgradingFinished) {
if (upgrade_status_str == "UPGRADE_FAIL") {
m_staticText_upgrading_info->SetLabel(_L("Updating failed"));
m_staticText_upgrading_info->SetLabel(_L("Update failed"));
m_staticText_upgrading_info->SetForegroundColour(TEXT_FAILED_CLR);
for (size_t i = 0; i < m_upgrading_sizer->GetItemCount(); i++) { m_upgrading_sizer->Show(true); }
m_button_upgrade_firmware->Disable();
@@ -1067,7 +1067,7 @@ void MachineInfoPanel::show_status(int status, std::string upgrade_status_str)
m_staticText_upgrading_percent->Show();
m_upgrade_retry_img->Show();
} else {
m_staticText_upgrading_info->SetLabel(_L("Updating successful"));
m_staticText_upgrading_info->SetLabel(_L("Update successful"));
m_staticText_upgrading_info->Show();
for (size_t i = 0; i < m_upgrading_sizer->GetItemCount(); i++) { m_upgrading_sizer->Show(true); }
m_button_upgrade_firmware->Disable();