FIX: Copywriting updates
JIRA: NONE Change-Id: I6df034f95b4e6d517c57286dd6f564510b9fa4ab
This commit is contained in:
parent
ca96b61781
commit
8cba6a3566
|
@ -844,7 +844,7 @@ std::vector<GCode::LayerToPrint> GCode::collect_layers_to_print(const PrintObjec
|
|||
// first layer may result in skirt/brim in the air and maybe other issues.
|
||||
if (layers_to_print.size() == 1u) {
|
||||
if (!has_extrusions)
|
||||
throw Slic3r::SlicingError(_(L("The following object(s) have empty initial layer and can't be printed. Please Cut the bottom or enable supports.")), object.id().id);
|
||||
throw Slic3r::SlicingError(_(L("The following object(s) have empty initial layer and can't be printed. Please cut the bottom or enable supports.")), object.id().id);
|
||||
}
|
||||
|
||||
// In case there are extrusions on this layer, check there is a layer to lay it on.
|
||||
|
|
|
@ -1222,7 +1222,7 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons*
|
|||
// BBS
|
||||
#if 0
|
||||
if (this->has_wipe_tower() && object->config().independent_support_layer_height) {
|
||||
return {L("The prime tower requires that support has the same layer height with object."), object, "support_filament"};
|
||||
return {L("The prime tower requires that support has the same layer height as object."), object, "support_filament"};
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -541,7 +541,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("reduce_crossing_wall", coBool);
|
||||
def->label = L("Avoid crossing wall");
|
||||
def->category = L("Quality");
|
||||
def->tooltip = L("Detour and avoid to travel across wall which may cause blob on surface");
|
||||
def->tooltip = L("Detour and avoid traveling across wall which may cause blob on surface");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
|
@ -549,7 +549,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->label = L("Avoid crossing wall - 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. "
|
||||
"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;
|
||||
|
@ -693,7 +693,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("bottom_shell_thickness", coFloat);
|
||||
def->label = L("Bottom shell thickness");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("The number of bottom solid layers is increased when slicing if the thickness calculated by bottom shell layers is "
|
||||
def->tooltip = L("The number of bottom solid layers is increased when slicing if the thickness calculated by bottom shells layers is "
|
||||
"thinner than this value. This can avoid having too thin shell when layer height is small. 0 means that "
|
||||
"this setting is disabled and thickness of bottom shell is absolutely determained by bottom shell layers");
|
||||
def->full_label = L("Bottom shell thickness");
|
||||
|
@ -709,7 +709,7 @@ void PrintConfigDef::init_fff_params()
|
|||
|
||||
def = this->add("overhang_fan_speed", coInts);
|
||||
def->label = L("Fan speed for overhang");
|
||||
def->tooltip = L("Force part cooling fan to be this speed when printing bridge or overhang wall which has large overhang degree. "
|
||||
def->tooltip = L("Force part cooling fan to be at this speed when printing bridge or overhang wall which has large overhang degree. "
|
||||
"Forcing cooling for overhang and bridge can get better quality for these part");
|
||||
def->sidetext = "%";
|
||||
def->min = 0;
|
||||
|
@ -780,7 +780,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("top_one_wall_type", coEnum);
|
||||
def->label = L("Only one wall on top surfaces");
|
||||
def->category = L("Quality");
|
||||
def->tooltip = L("Use only one wall on flat top surface, to give more space to the top infill pattern. Could be applyed on topmost surface or all top surface.");
|
||||
def->tooltip = L("Use only one wall on flat top surface, to give more space to the top infill pattern. Could be applied on topmost surface or all top surface.");
|
||||
def->enum_keys_map = &ConfigOptionEnum<TopOneWallType>::get_enum_values();
|
||||
def->enum_values.push_back("not apply");
|
||||
def->enum_values.push_back("all top");
|
||||
|
@ -979,7 +979,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("slow_down_for_layer_cooling", coBools);
|
||||
def->label = L("Slow printing down for better layer cooling");
|
||||
def->tooltip = L("Enable this option to slow printing speed down to make the final layer time not shorter than "
|
||||
"the layer time threshold in \"Max fan speed threshold\", so that layer can be cooled for longer time. "
|
||||
"the layer time threshold in \"Max fan speed threshold\", so that layer can be cooled for a longer time. "
|
||||
"This can improve the cooling quality for needle and small details");
|
||||
def->set_default_value(new ConfigOptionBools { true });
|
||||
|
||||
|
@ -1011,7 +1011,7 @@ void PrintConfigDef::init_fff_params()
|
|||
|
||||
def = this->add("during_print_exhaust_fan_speed", coInts);
|
||||
def->label = L("Fan speed");
|
||||
def->tooltip=L("Speed of exhuast fan during printing.This speed will overwrite the speed in filament custom gcode");
|
||||
def->tooltip=L("Speed of exhaust fan during printing.This speed will overwrite the speed in filament custom gcode");
|
||||
def->sidetext = "%";
|
||||
def->min=0;
|
||||
def->max=100;
|
||||
|
@ -1040,7 +1040,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("bridge_no_support", coBool);
|
||||
def->label = L("Don't support bridges");
|
||||
def->category = L("Support");
|
||||
def->tooltip = L("Don't support the whole bridge area which make support very large. "
|
||||
def->tooltip = L("Don't support the whole bridge area which makes support very large. "
|
||||
"Bridge usually can be printing directly without support if not very long");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
@ -1100,9 +1100,10 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("internal_bridge_support_thickness", coFloat);
|
||||
def->label = L("Internal bridge support thickness");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("If enabled, Studio will generate support loops under the contours of internal bridges."
|
||||
"These support loops could prevent internal bridges from extruding over the air and improve the top surface quality, especially when the sparse infill density is low."
|
||||
"This value determines the thickness of the support loops. 0 means disable this feature");
|
||||
def->tooltip = L("When sparse infill density is low, the internal solid infill or internal bridge may have no archor at the end of line. "
|
||||
"This causes falling and bad quality when printing internal solid infill. "
|
||||
"When enable this feature, loop paths will be added to the sparse fill of the lower layers for specific thickness, so that better archor can be provided for internal bridge. "
|
||||
"0 means disable this feature");
|
||||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->max = 2;
|
||||
|
@ -1330,8 +1331,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 stoped and will run at least "
|
||||
"at minimum speed to reduce the frequency of starting and stoping");
|
||||
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->set_default_value(new ConfigOptionBools { false });
|
||||
|
||||
def = this->add("fan_cooling_layer_time", coInts);
|
||||
|
@ -1669,7 +1670,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("initial_layer_print_height", coFloat);
|
||||
def->label = L("Initial layer height");
|
||||
def->category = L("Quality");
|
||||
def->tooltip = L("Height of initial layer. Making initial layer height to be thick slightly can improve build plate adhension");
|
||||
def->tooltip = L("Height of initial layer. Making initial layer height thick slightly can improve build plate adhension");
|
||||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->set_default_value(new ConfigOptionFloat(0.2));
|
||||
|
@ -1748,7 +1749,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("fuzzy_skin_point_distance", coFloat);
|
||||
def->label = L("Fuzzy skin point distance");
|
||||
def->category = L("Others");
|
||||
def->tooltip = L("The average diatance between the random points introducded on each line segment");
|
||||
def->tooltip = L("The average distance between the random points introduced on each line segment");
|
||||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->max = 5;
|
||||
|
@ -1774,7 +1775,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("enable_arc_fitting", coBool);
|
||||
def->label = L("Arc fitting");
|
||||
def->tooltip = L("Enable this to get a G-code file which has G2 and G3 moves. "
|
||||
"And the fitting tolerance is same with resolution");
|
||||
"And the fitting tolerance is the same as resolution");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(0));
|
||||
// BBS
|
||||
|
@ -2303,8 +2304,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 largest printable layer height for extruder. Used to limit "
|
||||
"the maximum layer height when enable adaptive layer height");
|
||||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
|
@ -2346,7 +2347,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("additional_cooling_fan_speed", coInts);
|
||||
def->label = L("Fan speed");
|
||||
def->tooltip = L("Speed of auxiliary part cooling fan. Auxiliary fan will run at this speed during printing except the first several layers "
|
||||
"which is defined by no cooling layers");
|
||||
"which are defined by no cooling layers");
|
||||
def->sidetext = "%";
|
||||
def->min = 0;
|
||||
def->max = 100;
|
||||
|
@ -2355,8 +2356,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 extruder. Used to limit "
|
||||
"the minimum layer height when enable adaptive layer height");
|
||||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
|
@ -2411,7 +2412,7 @@ void PrintConfigDef::init_fff_params()
|
|||
|
||||
def = this->add("start_end_points", coPoints);
|
||||
def->label = L("Start end points");
|
||||
def->tooltip = L("The start and end points which is from cutter area to garbage can.");
|
||||
def->tooltip = L("The start and end points which are from cutter area to garbage can.");
|
||||
def->mode = comDevelop;
|
||||
def->readonly = true;
|
||||
// start and end point is from the change_filament_gcode
|
||||
|
@ -2575,8 +2576,8 @@ void PrintConfigDef::init_fff_params()
|
|||
|
||||
def = this->add("resolution", coFloat);
|
||||
def->label = L("Resolution");
|
||||
def->tooltip = L("G-code path is genereated after simplifing the contour of model to avoid too much points and gcode lines "
|
||||
"in gcode file. Smaller value means higher resolution and more time to slice");
|
||||
def->tooltip = L("G-code path is generated after simplifying the contour of model to avoid too many points and gcode lines "
|
||||
"in the gcode file. Smaller value means higher resolution and more time to slice");
|
||||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
|
@ -2625,7 +2626,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("z_hop", coFloats);
|
||||
def->label = L("Z hop when retract");
|
||||
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. "
|
||||
"It prevents nozzle from hitting the print when travel moves. "
|
||||
"Using spiral line to lift z can prevent stringing");
|
||||
def->sidetext = L("mm");
|
||||
def->mode = comSimple;
|
||||
|
@ -2705,7 +2706,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("deretraction_speed", coFloats);
|
||||
def->label = L("Deretraction Speed");
|
||||
def->full_label = L("Deretraction Speed");
|
||||
def->tooltip = L("Speed for reloading filament into extruder. Zero means same speed with retraction");
|
||||
def->tooltip = L("Speed for reloading filament into extruder. Zero means the same speed as retraction");
|
||||
def->sidetext = L("mm/s");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloats { 0. });
|
||||
|
@ -3284,7 +3285,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("tree_support_wall_count", coInt);
|
||||
def->label = L("Support wall loops");
|
||||
def->category = L("Support");
|
||||
def->tooltip = L("This setting specify the count of walls around support");
|
||||
def->tooltip = L("This setting specifies the count of walls around support");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionInt(0));
|
||||
|
@ -3431,13 +3432,13 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("wipe", coBools);
|
||||
def->label = L("Wipe while retracting");
|
||||
def->tooltip = L("Move nozzle along the last extrusion path when retracting to clean leaked material on nozzle. "
|
||||
"This can minimize blob when print new part after travel");
|
||||
"This can minimize blob when printing new part after travel");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBools { false });
|
||||
|
||||
def = this->add("wipe_distance", coFloats);
|
||||
def->label = L("Wipe Distance");
|
||||
def->tooltip = L("Discribe how long the nozzle will move along the last path when retracting");
|
||||
def->tooltip = L("Describe how long the nozzle will move along the last path when retracting");
|
||||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
|
@ -5336,8 +5337,8 @@ CLITransformConfigDef::CLITransformConfigDef()
|
|||
def->set_default_value(new ConfigOptionInt(0));
|
||||
|
||||
def = this->add("repetitions", coInt);
|
||||
def->label = "Repetions count";
|
||||
def->tooltip = "Repetions count of the whole model";
|
||||
def->label = "Repetition count";
|
||||
def->tooltip = "Repetition count of the whole model";
|
||||
def->cli_params = "count";
|
||||
def->set_default_value(new ConfigOptionInt(1));
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ void AMSSetting::create()
|
|||
|
||||
// tip line2
|
||||
m_tip_Insert_material_line2 = new Label(m_panel_body,
|
||||
_L("Note: if new filament is inserted during printing, the AMS will not automatically read any information until printing is completed.")
|
||||
_L("Note: if a new filament is inserted during printing, the AMS will not automatically read any information until printing is completed.")
|
||||
);
|
||||
m_tip_Insert_material_line2->SetFont(::Label::Body_13);
|
||||
m_tip_Insert_material_line2->SetForegroundColour(AMS_SETTING_GREY700);
|
||||
|
|
|
@ -828,7 +828,7 @@ AmsHumidityTipPopup::AmsHumidityTipPopup(wxWindow* parent)
|
|||
m_staticText1->SetFont(::Label::Head_13);
|
||||
|
||||
|
||||
m_staticText2 = new Label(this, _L("Green means that AMS humidity is normal, orange represent humidity is high, red represent humidity is too high.(Hygrometer: lower the better.)"));
|
||||
m_staticText2 = new Label(this, _L("Green means that AMS humidity is normal, orange represents humidity is high, red represents humidity is too high.(Hygrometer: lower the better.)"));
|
||||
m_staticText2->SetFont(::Label::Body_13);
|
||||
m_staticText2->SetSize(wxSize(FromDIP(357), -1));
|
||||
m_staticText2->SetMinSize(wxSize(FromDIP(357), -1));
|
||||
|
|
|
@ -77,7 +77,7 @@ std::pair<std::string, std::vector<size_t>> SlicingProcessCompletedEvent::format
|
|||
try {
|
||||
this->rethrow_exception();
|
||||
} catch (const std::bad_alloc &ex) {
|
||||
wxString errmsg = GUI::from_u8(boost::format(_utf8(L("A error occurred. Maybe memory of system is not enough or it's a bug "
|
||||
wxString errmsg = GUI::from_u8(boost::format(_utf8(L("An error occurred. Maybe memory of system is not enough or it's a bug "
|
||||
"of the program"))).str());
|
||||
error = std::string(errmsg.ToUTF8()) + "\n" + std::string(ex.what());
|
||||
} catch (const HardCrash &ex) {
|
||||
|
|
|
@ -188,7 +188,7 @@ wxString get_fail_reason(int code)
|
|||
m_link_Terms_title->Wrap(FromDIP(450));
|
||||
m_link_Terms_title->SetForegroundColour(wxColour(0x00AE42));
|
||||
m_link_Terms_title->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {
|
||||
wxString txt = _L("Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab device, please read the termsand conditions.By clicking to agree to use your Bambu Lab device, you agree to abide by the Privacy Policyand Terms of Use(collectively, the \"Terms\"). If you do not comply with or agree to the Bambu Lab Privacy Policy, please do not use Bambu Lab equipment and services.");
|
||||
wxString txt = _L("Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab device, please read the termsand conditions.By clicking to agree to use your Bambu Lab device, you agree to abide by the Privacy Policy and Terms of Use(collectively, the \"Terms\"). If you do not comply with or agree to the Bambu Lab Privacy Policy, please do not use Bambu Lab equipment and services.");
|
||||
ConfirmBeforeSendDialog confirm_dlg(this, wxID_ANY, _L("Terms and Conditions"), ConfirmBeforeSendDialog::ButtonStyle::ONLY_CONFIRM);
|
||||
confirm_dlg.update_text(txt);
|
||||
confirm_dlg.CenterOnParent();
|
||||
|
|
|
@ -408,7 +408,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 overrides 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 override the other results?"), wxEmptyString, wxICON_WARNING | wxYES_NO);
|
||||
if (msg_dlg.ShowModal() != wxID_YES) {
|
||||
return false;
|
||||
}
|
||||
|
@ -420,7 +420,7 @@ bool CaliPASaveAutoPanel::get_result(std::vector<PACalibResult>& out_result) {
|
|||
// Check for duplicate names from history
|
||||
for (auto& result : m_history_results) {
|
||||
if (!set.insert({ result.name, result.filament_id }).second) {
|
||||
MessageDialog msg_dlg(nullptr, wxString::Format(_L("There is already a historical calibration result with the same name: %s. Only one of the results with the same name is saved. Are you sure you want to overrides the historical result?"), result.name), wxEmptyString, wxICON_WARNING | wxYES_NO);
|
||||
MessageDialog msg_dlg(nullptr, wxString::Format(_L("There is already a historical calibration result with the same name: %s. Only one of the results with the same name is saved. Are you sure you want to override the historical result?"), result.name), wxEmptyString, wxICON_WARNING | wxYES_NO);
|
||||
if (msg_dlg.ShowModal() != wxID_YES) {
|
||||
return false;
|
||||
}
|
||||
|
@ -529,7 +529,7 @@ void CaliPASaveManualPanel::set_pa_cali_method(ManualPaCaliMethod method)
|
|||
m_complete_text->SetLabel(_L("Please find the best line on your plate"));
|
||||
set_save_img();
|
||||
} else if (method == ManualPaCaliMethod::PA_PATTERN) {
|
||||
m_complete_text->SetLabel(_L("Please find the cornor with perfect degree of extrusion"));
|
||||
m_complete_text->SetLabel(_L("Please find the corner with perfect degree of extrusion"));
|
||||
if (wxGetApp().app_config->get_language_code() == "zh-cn") {
|
||||
m_picture_panel->set_bmp(ScalableBitmap(this, "fd_pattern_manual_result_CN", 350));
|
||||
} else {
|
||||
|
@ -691,7 +691,7 @@ void CaliPASaveP1PPanel::set_pa_cali_method(ManualPaCaliMethod method)
|
|||
set_save_img();
|
||||
}
|
||||
else if (method == ManualPaCaliMethod::PA_PATTERN) {
|
||||
m_complete_text->SetLabel(_L("Please find the cornor with perfect degree of extrusion"));
|
||||
m_complete_text->SetLabel(_L("Please find the corner with perfect degree of extrusion"));
|
||||
if (wxGetApp().app_config->get_language_code() == "zh-cn") {
|
||||
m_picture_panel->set_bmp(ScalableBitmap(this, "fd_pattern_manual_result_CN", 350));
|
||||
} else {
|
||||
|
|
|
@ -101,7 +101,7 @@ void ConfigManipulation::check_nozzle_temperature_range(DynamicPrintConfig *conf
|
|||
config->opt_int("nozzle_temperature", 0) > temperature_range_high)
|
||||
{
|
||||
wxString msg_text = _(L("Nozzle may be blocked when the temperature is out of recommended range.\n"
|
||||
"Please make sure whether to use the temperature to print.\n\n"));
|
||||
"Please confirm whether to use the temperature for printing.\n\n"));
|
||||
msg_text += wxString::Format(_L("Recommended nozzle temperature of this filament type is [%d, %d] degree centigrade"), temperature_range_low, temperature_range_high);
|
||||
MessageDialog dialog(m_msg_dlg_parent, msg_text, "", wxICON_WARNING | wxOK);
|
||||
is_msg_dlg_already_exist = true;
|
||||
|
@ -130,7 +130,7 @@ void ConfigManipulation::check_nozzle_temperature_initial_layer_range(DynamicPri
|
|||
config->opt_int("nozzle_temperature_initial_layer", 0) > temperature_range_high)
|
||||
{
|
||||
wxString msg_text = _(L("Nozzle may be blocked when the temperature is out of recommended range.\n"
|
||||
"Please make sure whether to use the temperature to print.\n\n"));
|
||||
"Please confirm whether to use the temperature for printing.\n\n"));
|
||||
msg_text += wxString::Format(_L("Recommended nozzle temperature of this filament type is [%d, %d] degree centigrade"), temperature_range_low, temperature_range_high);
|
||||
MessageDialog dialog(m_msg_dlg_parent, msg_text, "", wxICON_WARNING | wxOK);
|
||||
is_msg_dlg_already_exist = true;
|
||||
|
@ -253,9 +253,9 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
|
|||
|
||||
if (abs(config->option<ConfigOptionFloat>("xy_hole_compensation")->value) > 2)
|
||||
{
|
||||
const wxString msg_text = _(L("This setting is only used for model size tunning with small value in some cases.\n"
|
||||
"For example, when model size has small error and hard to be assembled.\n"
|
||||
"For large size tuning, please use model scale function.\n\n"
|
||||
const wxString msg_text = _(L("This setting is only used for model size tuning with small value in some cases.\n"
|
||||
"For example, when the model size has slight errors and is difficult be assembled.\n"
|
||||
"For large size tuning, please use model scaling function.\n\n"
|
||||
"The value will be reset to 0."));
|
||||
MessageDialog dialog(m_msg_dlg_parent, msg_text, "", wxICON_WARNING | wxOK);
|
||||
DynamicPrintConfig new_conf = *config;
|
||||
|
@ -268,9 +268,9 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
|
|||
|
||||
if (abs(config->option<ConfigOptionFloat>("xy_contour_compensation")->value) > 2)
|
||||
{
|
||||
const wxString msg_text = _(L("This setting is only used for model size tunning with small value in some cases.\n"
|
||||
"For example, when model size has small error and hard to be assembled.\n"
|
||||
"For large size tuning, please use model scale function.\n\n"
|
||||
const wxString msg_text = _(L("This setting is only used for model size tuning with small value in some cases.\n"
|
||||
"For example, when the model size has slight errors and is difficult be assembled.\n"
|
||||
"For large size tuning, please use model scaling function.\n\n"
|
||||
"The value will be reset to 0."));
|
||||
MessageDialog dialog(m_msg_dlg_parent, msg_text, "", wxICON_WARNING | wxOK);
|
||||
DynamicPrintConfig new_conf = *config;
|
||||
|
@ -283,7 +283,7 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
|
|||
|
||||
if (config->option<ConfigOptionFloat>("elefant_foot_compensation")->value > 1)
|
||||
{
|
||||
const wxString msg_text = _(L("Too large elefant foot compensation is unreasonable.\n"
|
||||
const wxString msg_text = _(L("Too large elephant foot compensation is unreasonable.\n"
|
||||
"If really have serious elephant foot effect, please check other settings.\n"
|
||||
"For example, whether bed temperature is too high.\n\n"
|
||||
"The value will be reset to 0."));
|
||||
|
@ -491,8 +491,8 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
|
|||
_(fill_pattern_def->enum_labels[it_pattern - fill_pattern_def->enum_values.begin()]));
|
||||
if (is_global_config)
|
||||
msg_text += "\n" + _L("Switch to rectilinear pattern?\n"
|
||||
"Yes - switch to rectilinear pattern automaticlly\n"
|
||||
"No - reset density to default non 100% value automaticlly") + "\n";
|
||||
"Yes - switch to rectilinear pattern automatically\n"
|
||||
"No - reset density to default non 100% value automatically") + "\n";
|
||||
MessageDialog dialog(m_msg_dlg_parent, msg_text, "",
|
||||
wxICON_WARNING | (is_global_config ? wxYES | wxNO : wxOK) );
|
||||
DynamicPrintConfig new_conf = *config;
|
||||
|
|
|
@ -2037,8 +2037,8 @@ bool CreatePrinterPresetDialog::load_system_and_user_presets_with_curr_model(Pre
|
|||
}
|
||||
}
|
||||
if (m_printer_preset_vendor_selected.id.empty() || m_printer_preset_model_selected.id.empty()) {
|
||||
BOOST_LOG_TRIVIAL(info) << "selected id is not find";
|
||||
MessageDialog dlg(this, _L("Preset path is not find, please reselect vendor."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"), wxYES_NO | wxYES_DEFAULT | wxCENTRE);
|
||||
BOOST_LOG_TRIVIAL(info) << "selected id is not found";
|
||||
MessageDialog dlg(this, _L("Preset path is not found, please reselect vendor."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"), wxYES_NO | wxYES_DEFAULT | wxCENTRE);
|
||||
dlg.ShowModal();
|
||||
return false;
|
||||
}
|
||||
|
@ -2058,8 +2058,8 @@ bool CreatePrinterPresetDialog::load_system_and_user_presets_with_curr_model(Pre
|
|||
}
|
||||
|
||||
if (preset_path.empty()) {
|
||||
BOOST_LOG_TRIVIAL(info) << "Preset path is not find";
|
||||
MessageDialog dlg(this, _L("Preset path is not find, please reselect vendor."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"),
|
||||
BOOST_LOG_TRIVIAL(info) << "Preset path is not found";
|
||||
MessageDialog dlg(this, _L("Preset path is not found, please reselect vendor."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"),
|
||||
wxYES_NO | wxYES_DEFAULT | wxCENTRE);
|
||||
dlg.ShowModal();
|
||||
return false;
|
||||
|
@ -2122,8 +2122,8 @@ bool CreatePrinterPresetDialog::load_system_and_user_presets_with_curr_model(Pre
|
|||
preset_path = (boost::filesystem::path(Slic3r::resources_dir()) / PRESET_PROFILES_TEMOLATE_DIR).string();
|
||||
}
|
||||
if (preset_path.empty()) {
|
||||
BOOST_LOG_TRIVIAL(info) << "Preset path is not find";
|
||||
MessageDialog dlg(this, _L("Preset path is not find, please reselect vendor."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"),
|
||||
BOOST_LOG_TRIVIAL(info) << "Preset path is not found";
|
||||
MessageDialog dlg(this, _L("Preset path is not found, please reselect vendor."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"),
|
||||
wxYES_NO | wxYES_DEFAULT | wxCENTRE);
|
||||
dlg.ShowModal();
|
||||
return false;
|
||||
|
@ -2834,7 +2834,7 @@ bool CreatePrinterPresetDialog::data_init()
|
|||
if (iterator != vendors.end()) {
|
||||
m_printer_preset_vendor_selected = iterator->second;
|
||||
} else {
|
||||
MessageDialog dlg(this, _L("Vendor is not find, please reselect."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"), wxYES_NO | wxYES_DEFAULT | wxCENTRE);
|
||||
MessageDialog dlg(this, _L("Vendor is not found, please reselect."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"), wxYES_NO | wxYES_DEFAULT | wxCENTRE);
|
||||
dlg.ShowModal();
|
||||
return;
|
||||
}
|
||||
|
@ -3204,7 +3204,7 @@ CreatePresetSuccessfulDialog::CreatePresetSuccessfulDialog(wxWindow *parent, con
|
|||
break;
|
||||
case FILAMENT:
|
||||
success_text = new wxStaticText(this, wxID_ANY, _L("Filament Created"));
|
||||
next_step_text = new wxStaticText(this, wxID_ANY, _L("Please go to filament setting to edit your presets if you need.\nPlease note that nozzle temperature, hot bed temperature, and maximum volumetric speed have a significant impact on printing quality. Please set them carefully."));
|
||||
next_step_text = new wxStaticText(this, wxID_ANY, _L("Please go to filament setting to edit your presets if you need.\nPlease note that nozzle temperature, hot bed temperature, and maximum volumetric speed has a significant impact on printing quality. Please set them carefully."));
|
||||
break;
|
||||
}
|
||||
success_text->SetFont(Label::Head_18);
|
||||
|
@ -3532,7 +3532,7 @@ wxBoxSizer *ExportConfigsDialog::create_export_config_item(wxWindow *parent)
|
|||
|
||||
radioBoxSizer->Add(create_radio_item(m_exprot_type.preset_bundle, parent, wxEmptyString, m_export_type_btns), 0, wxEXPAND | wxALL, 0);
|
||||
radioBoxSizer->Add(0, 0, 0, wxTOP, FromDIP(6));
|
||||
wxStaticText *static_export_printer_preset_bundle_text = new wxStaticText(parent, wxID_ANY, _L("Printer and all the filament&process presets that belongs to the printer. \nCan be shared with others."), wxDefaultPosition, wxDefaultSize);
|
||||
wxStaticText *static_export_printer_preset_bundle_text = new wxStaticText(parent, wxID_ANY, _L("Printer and all the filament&process presets that belong to the printer. \nCan be shared with others."), wxDefaultPosition, wxDefaultSize);
|
||||
static_export_printer_preset_bundle_text->SetFont(Label::Body_12);
|
||||
static_export_printer_preset_bundle_text->SetForegroundColour(wxColour("#6B6B6B"));
|
||||
radioBoxSizer->Add(static_export_printer_preset_bundle_text, 0, wxEXPAND | wxLEFT, FromDIP(22));
|
||||
|
|
|
@ -9132,7 +9132,7 @@ void GLCanvas3D::_set_warning_notification(EWarning warning, bool state)
|
|||
case EWarning::ToolpathOutside: text = _u8L("A G-code path goes beyond the boundary of plate."); 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 boundary of plate 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.");
|
||||
|
|
|
@ -2178,7 +2178,7 @@ void GUI_App::init_app_config()
|
|||
if (!error.empty()) {
|
||||
// Error while parsing config file. We'll customize the error message and rethrow to be displayed.
|
||||
throw Slic3r::RuntimeError(
|
||||
_u8L("BambuStudio configuration file may be corrupted and is not abled to be parsed."
|
||||
_u8L("BambuStudio configuration file may be corrupted and is not able to be parsed."
|
||||
"Please delete the file and try again.") +
|
||||
"\n\n" + app_config->config_path() + "\n\n" + error);
|
||||
}
|
||||
|
@ -3802,7 +3802,7 @@ void GUI_App::request_user_logout()
|
|||
/* delete old user settings */
|
||||
bool transfer_preset_changes = false;
|
||||
wxString header = _L("Some presets are modified.") + "\n" +
|
||||
_L("You can keep the modifield presets to the new project, discard or save changes as new presets.");
|
||||
_L("You can keep the modified presets for the new project, discard or save changes as new presets.");
|
||||
using ab = UnsavedChangesDialog::ActionButtons;
|
||||
wxGetApp().check_and_keep_current_preset_changes(_L("User logged out"), header, ab::KEEP | ab::SAVE, &transfer_preset_changes);
|
||||
|
||||
|
|
|
@ -1165,10 +1165,10 @@ void MenuFactory::create_bbl_part_menu()
|
|||
if (!split_menu)
|
||||
return;
|
||||
|
||||
append_menu_item(split_menu, wxID_ANY, _L("To objects"), _L("Split the selected object into mutiple objects"),
|
||||
append_menu_item(split_menu, wxID_ANY, _L("To objects"), _L("Split the selected object into multiple objects"),
|
||||
[](wxCommandEvent&) { plater()->split_object(); }, "split_objects", menu,
|
||||
[]() { return plater()->can_split(true); }, m_parent);
|
||||
append_menu_item(split_menu, wxID_ANY, _L("To parts"), _L("Split the selected object into mutiple parts"),
|
||||
append_menu_item(split_menu, wxID_ANY, _L("To parts"), _L("Split the selected object into multiple parts"),
|
||||
[](wxCommandEvent&) { plater()->split_volume(); }, "split_parts", menu,
|
||||
[]() { return plater()->can_split(false); }, m_parent);
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ int GUI_Run(GUI_InitParams ¶ms)
|
|||
wxMessageBox(boost::nowide::widen(ex.what()), _L("Bambu Studio GUI initialization failed"), wxICON_STOP);
|
||||
} catch (const std::exception &ex) {
|
||||
BOOST_LOG_TRIVIAL(error) << ex.what() << std::endl;
|
||||
wxMessageBox(format_wxstr(_L("Fatal error, exception catched: %1%"), ex.what()), _L("Bambu Studio GUI initialization failed"), wxICON_STOP);
|
||||
wxMessageBox(format_wxstr(_L("Fatal error, exception caught: %1%"), ex.what()), _L("Bambu Studio GUI initialization failed"), wxICON_STOP);
|
||||
}
|
||||
// error
|
||||
return 1;
|
||||
|
|
|
@ -2488,7 +2488,7 @@ bool ObjectList::del_from_cut_object(bool is_cut_connector, bool is_model_part/*
|
|||
(_L("This action will break a cut correspondence.\n"
|
||||
"After that model consistency can't be guaranteed .\n"
|
||||
"\n"
|
||||
"To manipulate with solid parts or negative volumes you have to invalidate cut infornation first.") + msg_end ),
|
||||
"To manipulate solid parts or negative volumes you have to invalidate cut information first.") + msg_end ),
|
||||
false, buttons_style | wxCANCEL_DEFAULT | wxICON_WARNING);
|
||||
|
||||
dialog.SetButtonLabel(wxID_YES, _L("Invalidate cut info"));
|
||||
|
@ -2597,7 +2597,7 @@ void ObjectList::split()
|
|||
const ConfigOptionStrings* filament_colors = config.option<ConfigOptionStrings>("filament_colour", false);
|
||||
const auto filament_cnt = (filament_colors == nullptr) ? size_t(1) : filament_colors->size();
|
||||
if (!volume->is_splittable()) {
|
||||
wxMessageBox(_(L("The target object contains only one part and can not be splited.")));
|
||||
wxMessageBox(_(L("The target object contains only one part and can not be split.")));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4893,11 +4893,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 one 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 one should be part of the same object.")) + "\n");
|
||||
}
|
||||
|
||||
// Unselect last selected item, if selection is without SHIFT
|
||||
|
@ -5459,7 +5459,7 @@ void ObjectList::fix_through_netfabb()
|
|||
msg += "\n\n";
|
||||
}
|
||||
if (!failed_models.empty()) {
|
||||
msg += _L_PLURAL("Failed to repair folowing model object", "Failed to repair folowing model objects", failed_models.size()) + ":\n";
|
||||
msg += _L_PLURAL("Failed to repair the following model object", "Failed to repair the following model object", failed_models.size()) + ":\n";
|
||||
for (auto& model : failed_models)
|
||||
msg += bullet_suf + from_u8(model.first) + ": " + _(model.second);
|
||||
}
|
||||
|
|
|
@ -945,7 +945,7 @@ void GLGizmoAdvancedCut::perform_cut(const Selection& selection)
|
|||
if (its_num_open_edges(new_objects[i]->volumes[j]->mesh().its) > 0) {
|
||||
if (!is_showed_dialog) {
|
||||
is_showed_dialog = true;
|
||||
MessageDialog dlg(nullptr, _L("non-mainifold edges be caused by cut tool, do you want to fix it now?"), "", wxYES | wxCANCEL);
|
||||
MessageDialog dlg(nullptr, _L("non-manifold edges be caused by cut tool, do you want to fix it now?"), "", wxYES | wxCANCEL);
|
||||
int ret = dlg.ShowModal();
|
||||
if (ret == wxID_YES) {
|
||||
user_fix_model = true;
|
||||
|
@ -2307,7 +2307,7 @@ void GLGizmoAdvancedCut::render_input_window_warning() const
|
|||
m_imgui->text(out);
|
||||
}
|
||||
if (!m_keep_upper && !m_keep_lower)
|
||||
m_imgui->text(/*wxString(ImGui::WarningMarkerSmall)*/_L("Warning") + ": " + _L("Invalid state. \nNo one part is selected for keep after cut"));
|
||||
m_imgui->text(/*wxString(ImGui::WarningMarkerSmall)*/_L("Warning") + ": " + _L("Invalid state. \nNo one part is selected to keep after cut"));
|
||||
}
|
||||
|
||||
bool GLGizmoAdvancedCut::render_reset_button(const std::string &label_id, const std::string &tooltip) const
|
||||
|
|
|
@ -366,7 +366,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 proccess preview.").c_str());
|
||||
ImGui::SetTooltip("%s", _u8L("Can't apply when process preview.").c_str());
|
||||
}
|
||||
m_imgui->pop_confirm_button_style();
|
||||
m_imgui->disabled_end(); // state !settings
|
||||
|
|
|
@ -150,7 +150,7 @@ bool GLGizmoText::on_init()
|
|||
|
||||
reset_text_info();
|
||||
|
||||
m_desc["rotate_text_caption"] = _L("Shift + Mouse move up or dowm");
|
||||
m_desc["rotate_text_caption"] = _L("Shift + Mouse move up or down");
|
||||
m_desc["rotate_text"] = _L("Rotate text");
|
||||
|
||||
m_grabbers.push_back(Grabber());
|
||||
|
|
|
@ -237,7 +237,7 @@ void ArrangeJob::prepare_all() {
|
|||
if (m_selected.empty()) {
|
||||
if (!selected_is_locked) {
|
||||
m_plater->get_notification_manager()->push_notification(NotificationType::BBLPlateInfo,
|
||||
NotificationManager::NotificationLevel::WarningNotificationLevel, into_u8(_L("No arrangable objects are selected.")));
|
||||
NotificationManager::NotificationLevel::WarningNotificationLevel, into_u8(_L("No arrangeable objects are selected.")));
|
||||
}
|
||||
else {
|
||||
m_plater->get_notification_manager()->push_notification(NotificationType::BBLPlateInfo,
|
||||
|
|
|
@ -122,7 +122,7 @@ wxString PrintJob::get_http_error_msg(unsigned int status, std::string body)
|
|||
return _L("Service Unavailable");
|
||||
}
|
||||
else {
|
||||
wxString unkown_text = _L("Unkown Error.");
|
||||
wxString unkown_text = _L("Unknown Error.");
|
||||
unkown_text += wxString::Format("status=%u, body=%s", status, body);
|
||||
BOOST_LOG_TRIVIAL(error) << "http_error: status=" << status << ", code=" << code << ", error=" << error;
|
||||
return unkown_text;
|
||||
|
|
|
@ -87,7 +87,7 @@ wxString SendJob::get_http_error_msg(unsigned int status, std::string body)
|
|||
return _L("Service Unavailable");
|
||||
}
|
||||
else {
|
||||
wxString unkown_text = _L("Unkown Error.");
|
||||
wxString unkown_text = _L("Unknown Error.");
|
||||
unkown_text += wxString::Format("status=%u, body=%s", status, body);
|
||||
return unkown_text;
|
||||
}
|
||||
|
|
|
@ -518,7 +518,7 @@ void MediaFilePanel::doAction(size_t index, int action)
|
|||
return;
|
||||
if (result != 0) {
|
||||
MessageDialog(this,
|
||||
_L("Failed to fetching model infomations from printer."),
|
||||
_L("Failed to fetch model information from printer."),
|
||||
_L("Error"), wxOK).ShowModal();
|
||||
return;
|
||||
}
|
||||
|
@ -530,7 +530,7 @@ void MediaFilePanel::doAction(size_t index, int action)
|
|||
if (!Slic3r::load_gcode_3mf_from_stream(is, &config, &model, &plate_data_list, &file_version)
|
||||
|| plate_data_list.empty()) {
|
||||
MessageDialog(this,
|
||||
_L("Failed to parse model infomations."),
|
||||
_L("Failed to parse model information."),
|
||||
_L("Error"), wxOK).ShowModal();
|
||||
return;
|
||||
}
|
||||
|
@ -549,7 +549,7 @@ void MediaFilePanel::doAction(size_t index, int action)
|
|||
wxPostEvent(Slic3r::GUI::wxGetApp().plater(), SimpleEvent(EVT_PRINT_FROM_SDCARD_VIEW));
|
||||
}
|
||||
else {
|
||||
MessageDialog dlg(this, _L("The .gcode.3mf file contains no G-code data.Please slice it whthBambu Studio and export a new .gcode.3mf file."), wxEmptyString, wxICON_WARNING | wxOK);
|
||||
MessageDialog dlg(this, _L("The .gcode.3mf file contains no G-code data.Please slice it whth Bambu Studio and export a new .gcode.3mf file."), wxEmptyString, wxICON_WARNING | wxOK);
|
||||
auto res = dlg.ShowModal();
|
||||
}
|
||||
|
||||
|
|
|
@ -1252,7 +1252,7 @@ void NotificationManager::UpdatedItemsInfoNotification::add_type(InfoItemType ty
|
|||
if ((*it).second == 0)
|
||||
continue;
|
||||
switch ((*it).first) {
|
||||
case InfoItemType::CustomSupports: text += format(_L_PLURAL("%1$d Object has custom supports.", "%1$d Objects have custom supports.", (*it).second), (*it).second) + "\n"; break;
|
||||
case InfoItemType::CustomSupports: text += format(_L_PLURAL("%1$d Object has custom support.", "%1$d Objects have custom support.", (*it).second), (*it).second) + "\n"; break;
|
||||
// BBS
|
||||
//case InfoItemType::CustomSeam: text += format(("%1$d Object has custom seam.", "%1$d Objects have custom seam.", (*it).second), (*it).second) + "\n"; break;
|
||||
case InfoItemType::MmuSegmentation: text += format(_L_PLURAL("%1$d Object has color painting.", "%1$d Objects have color painting.",(*it).second), (*it).second) + "\n"; break;
|
||||
|
|
|
@ -8416,7 +8416,7 @@ int Plater::new_project(bool skip_confirm, bool silent, const wxString &project_
|
|||
auto check = [&transfer_preset_changes](bool yes_or_no) {
|
||||
wxString header = _L("Some presets are modified.") + "\n" +
|
||||
(yes_or_no ? _L("You can keep the modified presets to the new project or discard them") :
|
||||
_L("You can keep the modifield presets to the new project, discard or save changes as new presets."));
|
||||
_L("You can keep the modified presets for the new project, discard or save changes as new presets."));
|
||||
using ab = UnsavedChangesDialog::ActionButtons;
|
||||
int act_buttons = ab::KEEP | ab::REMEMBER_CHOISE;
|
||||
if (!yes_or_no)
|
||||
|
|
|
@ -193,7 +193,7 @@ wxBoxSizer *PreferencesDialog::create_item_language_combobox(
|
|||
{
|
||||
//check if the project has changed
|
||||
if (wxGetApp().plater()->is_project_dirty()) {
|
||||
auto result = MessageDialog(static_cast<wxWindow*>(this), _L("The current project has unsaved changes, save it before continue?"),
|
||||
auto result = MessageDialog(static_cast<wxWindow*>(this), _L("The current project has unsaved changes, save it before continuing?"),
|
||||
wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Save"), wxYES_NO | wxCANCEL | wxYES_DEFAULT | wxCENTRE).ShowModal();
|
||||
|
||||
if (result == wxID_YES) {
|
||||
|
@ -1011,7 +1011,7 @@ wxWindow* PreferencesDialog::create_general_page()
|
|||
_L("Studio will remember build plate selected last time for certain printer model."), 50,
|
||||
"user_bed_type");
|
||||
//auto item_hints = create_item_checkbox(_L("Show \"Tip of the day\" notification after start"), page, _L("If enabled, useful hints are displayed at startup."), 50, "show_hints");
|
||||
auto item_calc_mode = create_item_checkbox(_L("Flushing volumes: Auto-calculate everytime the color changed."), page, _L("If enabled, auto-calculate everytime the color changed."), 50, "auto_calculate");
|
||||
auto item_calc_mode = create_item_checkbox(_L("Flushing volumes: Auto-calculate every time when the color is changed."), page, _L("If enabled, auto-calculate every time when the color is changed."), 50, "auto_calculate");
|
||||
auto title_presets = create_item_title(_L("Presets"), page, _L("Presets"));
|
||||
auto item_user_sync = create_item_checkbox(_L("Auto sync user presets(Printer/Filament/Process)"), page, _L("User Sync"), 50, "sync_user_preset");
|
||||
auto item_system_sync = create_item_checkbox(_L("Update built-in Presets automatically."), page, _L("System Sync"), 50, "sync_system_preset");
|
||||
|
|
|
@ -47,7 +47,7 @@ static wxBitmap default_thumbnail;
|
|||
static std::map<int, std::string> error_messages = {
|
||||
{PrinterFileSystem::ERROR_PIPE, L("Connection lost. Please retry.")},
|
||||
{PrinterFileSystem::ERROR_RES_BUSY, L("The device cannot handle more conversations. Please retry later.")},
|
||||
{PrinterFileSystem::FILE_NO_EXIST, L("File not exists.")},
|
||||
{PrinterFileSystem::FILE_NO_EXIST, L("File does not exist.")},
|
||||
{PrinterFileSystem::FILE_CHECK_ERR, L("File checksum error. Please retry.")},
|
||||
{PrinterFileSystem::FILE_TYPE_ERR, L("Not supported on the current printer version.")},
|
||||
{PrinterFileSystem::STORAGE_UNAVAILABLE, L("Storage unavailable, insert SD card.")}
|
||||
|
|
|
@ -24,7 +24,7 @@ static wxString PUBLISH_STEP_STRING[STEP_COUNT] = {
|
|||
_L("Jump to model publish web page")
|
||||
};
|
||||
|
||||
static wxString NOTE_STRING = _L("Note: The preparation may takes several minutes. Please be patiant.");
|
||||
static wxString NOTE_STRING = _L("Note: The preparation may take several minutes. Please be patient.");
|
||||
|
||||
PublishDialog::PublishDialog(Plater *plater)
|
||||
: DPIDialog(static_cast<wxWindow *>(wxGetApp().mainframe), wxID_ANY, _L("Publish"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX)
|
||||
|
|
|
@ -4621,7 +4621,7 @@ wxBoxSizer *ScoreDialog::get_button_sizer()
|
|||
++it;
|
||||
break;
|
||||
case BAMBU_NETWORK_ERR_PARSE_CONFIG_FAILED:
|
||||
error_info += need_upload.second + _L(" upload config prase failed\n").ToUTF8().data() + "\n";
|
||||
error_info += need_upload.second + _L(" upload config parse failed\n").ToUTF8().data() + "\n";
|
||||
m_upload_status_code = StatusCode::UPLOAD_IMG_FAILED;
|
||||
++it;
|
||||
break;
|
||||
|
|
|
@ -797,7 +797,7 @@ bool GuideFrame::apply_config(AppConfig *app_config, PresetBundle *preset_bundle
|
|||
}
|
||||
|
||||
check_unsaved_preset_changes = (enabled_vendors != old_enabled_vendors) || (enabled_filaments != old_enabled_filaments);
|
||||
wxString header = _L("The configuration package is changed in previous Config Guide");
|
||||
wxString header = _L("The configuration package is changed to the previous Config Guide");
|
||||
wxString caption = _L("Configuration package changed");
|
||||
int act_btns = UnsavedChangesDialog::ActionButtons::KEEP|UnsavedChangesDialog::ActionButtons::SAVE;
|
||||
|
||||
|
|
|
@ -2829,7 +2829,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
wxBoxSizer *sizer_err_calibration_v = new wxBoxSizer(wxVERTICAL);
|
||||
m_hyperlink = new wxHyperlinkCtrl(m_calibration_err_panel, wxID_ANY, wxEmptyString, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
|
||||
m_hyperlink->SetVisitedColour(wxColour(31, 142, 234));
|
||||
auto m_tip_calibration_err = new wxStaticText(m_calibration_err_panel, wxID_ANY, _L("A problem occured during calibration. Click to view the solution."), wxDefaultPosition,
|
||||
auto m_tip_calibration_err = new wxStaticText(m_calibration_err_panel, wxID_ANY, _L("A problem occurred during calibration. Click to view the solution."), wxDefaultPosition,
|
||||
wxDefaultSize, 0);
|
||||
m_tip_calibration_err->SetFont(::Label::Body_14);
|
||||
m_tip_calibration_err->SetForegroundColour(AMS_CONTROL_GRAY700);
|
||||
|
@ -3558,7 +3558,7 @@ void AMSControl::ShowFilamentTip(bool hasams)
|
|||
m_simplebook_right->SetSelection(0);
|
||||
if (hasams) {
|
||||
m_tip_right_top->Show();
|
||||
m_tip_load_info->SetLabelText(_L("Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically load or unload filiament."));
|
||||
m_tip_load_info->SetLabelText(_L("Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically load or unload filaments."));
|
||||
} else {
|
||||
// m_tip_load_info->SetLabelText(_L("Before loading, please make sure the filament is pushed into toolhead."));
|
||||
m_tip_right_top->Hide();
|
||||
|
|
Loading…
Reference in New Issue