diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 8f56c1b83d..98469d5c44 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -368,7 +368,7 @@ void PrintConfigDef::init_fff_params() def = this->add("end_gcode", coString); def->label = L("End G-code"); def->tooltip = L("This end procedure is inserted at the end of the output file. " - "Note that you can use placeholder variables for all Slic3r settings."); + "Note that you can use placeholder variables for all PrusaSlicer settings."); def->multiline = true; def->full_width = true; def->height = 12; @@ -379,7 +379,7 @@ void PrintConfigDef::init_fff_params() def->label = L("End G-code"); def->tooltip = L("This end procedure is inserted at the end of the output file, before the printer end gcode (and " "before any toolchange from this filament in case of multimaterial printers). " - "Note that you can use placeholder variables for all Slic3r settings. " + "Note that you can use placeholder variables for all PrusaSlicer settings. " "If you have multiple extruders, the gcode is processed in extruder order."); def->multiline = true; def->full_width = true; @@ -913,7 +913,7 @@ void PrintConfigDef::init_fff_params() def->label = L("G-code flavor"); def->tooltip = L("Some G/M-code commands, including temperature control and others, are not universal. " "Set this option to your printer's firmware to get a compatible output. " - "The \"No extrusion\" flavor prevents Slic3r from exporting any extrusion value at all."); + "The \"No extrusion\" flavor prevents PrusaSlicer from exporting any extrusion value at all."); def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); def->enum_values.push_back("reprap"); def->enum_values.push_back("repetier"); @@ -1785,10 +1785,10 @@ void PrintConfigDef::init_fff_params() def->label = L("Start G-code"); def->tooltip = L("This start procedure is inserted at the beginning, after bed has reached " "the target temperature and extruder just started heating, and before extruder " - "has finished heating. If Slic3r detects M104 or M190 in your custom codes, " + "has finished heating. If PrusaSlicer detects M104 or M190 in your custom codes, " "such commands will not be prepended automatically so you're free to customize " "the order of heating commands and other custom actions. Note that you can use " - "placeholder variables for all Slic3r settings, so you can put " + "placeholder variables for all PrusaSlicer settings, so you can put " "a \"M109 S[first_layer_temperature]\" command wherever you want."); def->multiline = true; def->full_width = true; @@ -1800,11 +1800,11 @@ void PrintConfigDef::init_fff_params() def->label = L("Start G-code"); def->tooltip = L("This start procedure is inserted at the beginning, after any printer start gcode (and " "after any toolchange to this filament in case of multi-material printers). " - "This is used to override settings for a specific filament. If Slic3r detects " + "This is used to override settings for a specific filament. If PrusaSlicer detects " "M104, M109, M140 or M190 in your custom codes, such commands will " "not be prepended automatically so you're free to customize the order " "of heating commands and other custom actions. Note that you can use placeholder variables " - "for all Slic3r settings, so you can put a \"M109 S[first_layer_temperature]\" command " + "for all PrusaSlicer settings, so you can put a \"M109 S[first_layer_temperature]\" command " "wherever you want. If you have multiple extruders, the gcode is processed " "in extruder order."); def->multiline = true; diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 4fa68ecf20..4c07550f69 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -3468,14 +3468,13 @@ static bool string_getter(const bool is_undo, int idx, const char** out_text) void GLCanvas3D::_render_undo_redo_stack(const bool is_undo, float pos_x) { - const wxString& stack_name = _(is_undo ? L("Undo") : L("Redo")); ImGuiWrapper* imgui = wxGetApp().imgui(); const float x = pos_x * (float)get_camera().get_zoom() + 0.5f * (float)get_canvas_size().get_width(); imgui->set_next_window_pos(x, m_undoredo_toolbar.get_height(), ImGuiCond_Always, 0.5f, 0.0f); imgui->set_next_window_bg_alpha(0.5f); - imgui->begin(wxString::Format(_(L("%s Stack")), stack_name), - ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse); + std::string title = is_undo ? L("Undo History") : L("Redo History"); + imgui->begin(_(title), ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse); int hovered = m_imgui_undo_redo_hovered_pos; int selected = -1; @@ -3492,7 +3491,7 @@ void GLCanvas3D::_render_undo_redo_stack(const bool is_undo, float pos_x) if (selected >= 0) is_undo ? wxGetApp().plater()->undo_to(selected) : wxGetApp().plater()->redo_to(selected); - imgui->text(wxString::Format(_(L("%s %d Action")), stack_name, hovered + 1)); + imgui->text(wxString::Format(_(hovered ? (is_undo ? L("Undo %d Actions") : L("Redo %d Actions")) : (is_undo ? L("Undo %d Action") : L("Redo %d Action"))), hovered + 1)); imgui->end(); } @@ -3645,7 +3644,7 @@ bool GLCanvas3D::_init_main_toolbar() item.name = "layersediting"; item.icon_filename = "layers_white.svg"; - item.tooltip = _utf8(L("Layers editing")); + item.tooltip = _utf8(L("Height ranges")); item.sprite_id = 10; item.left.toggable = true; item.left.action_callback = [this]() { if (m_canvas != nullptr) wxPostEvent(m_canvas, SimpleEvent(EVT_GLTOOLBAR_LAYERSEDITING)); }; @@ -3696,7 +3695,7 @@ bool GLCanvas3D::_init_undoredo_toolbar() item.name = "undo"; item.icon_filename = "undo_toolbar.svg"; - item.tooltip = _utf8(L("Undo")) + " [" + GUI::shortkey_ctrl_prefix() + "Z]"; + item.tooltip = _utf8(L("Undo")) + " [" + GUI::shortkey_ctrl_prefix() + "Z]\n" + _utf8(L("Click right mouse button to open History")); item.sprite_id = 0; item.left.action_callback = [this]() { post_event(SimpleEvent(EVT_GLCANVAS_UNDO)); }; item.right.toggable = true; @@ -3710,8 +3709,11 @@ bool GLCanvas3D::_init_undoredo_toolbar() m_undoredo_toolbar.get_additional_tooltip(id, curr_additional_tooltip); std::string new_additional_tooltip = ""; - if (can_undo) - wxGetApp().plater()->undo_redo_topmost_string_getter(true, new_additional_tooltip); + if (can_undo) { + std::string action; + wxGetApp().plater()->undo_redo_topmost_string_getter(true, action); + new_additional_tooltip = (boost::format(_utf8(L("Undo action: %1%"))) % action).str(); + } if (new_additional_tooltip != curr_additional_tooltip) { @@ -3726,7 +3728,7 @@ bool GLCanvas3D::_init_undoredo_toolbar() item.name = "redo"; item.icon_filename = "redo_toolbar.svg"; - item.tooltip = _utf8(L("Redo")) + " [" + GUI::shortkey_ctrl_prefix() + "Y]"; + item.tooltip = _utf8(L("Redo")) + " [" + GUI::shortkey_ctrl_prefix() + "Y]\n" + _utf8(L("Click right mouse button to open History")); item.sprite_id = 1; item.left.action_callback = [this]() { post_event(SimpleEvent(EVT_GLCANVAS_REDO)); }; item.right.action_callback = [this]() { m_imgui_undo_redo_hovered_pos = -1; }; @@ -3739,8 +3741,11 @@ bool GLCanvas3D::_init_undoredo_toolbar() m_undoredo_toolbar.get_additional_tooltip(id, curr_additional_tooltip); std::string new_additional_tooltip = ""; - if (can_redo) - wxGetApp().plater()->undo_redo_topmost_string_getter(false, new_additional_tooltip); + if (can_redo) { + std::string action; + wxGetApp().plater()->undo_redo_topmost_string_getter(false, action); + new_additional_tooltip = (boost::format(_utf8(L("Redo action: %1%"))) % action).str(); + } if (new_additional_tooltip != curr_additional_tooltip) { diff --git a/src/slic3r/GUI/GUI_ObjectLayers.cpp b/src/slic3r/GUI/GUI_ObjectLayers.cpp index b30d3ecd31..661e45e056 100644 --- a/src/slic3r/GUI/GUI_ObjectLayers.cpp +++ b/src/slic3r/GUI/GUI_ObjectLayers.cpp @@ -24,8 +24,8 @@ ObjectLayers::ObjectLayers(wxWindow* parent) : m_grid_sizer->SetFlexibleDirection(wxHORIZONTAL); // Legend for object layers - for (const std::string col : { "Min Z", "Max Z", "Layer height" }) { - auto temp = new wxStaticText(m_parent, wxID_ANY, _(L(col)), wxDefaultPosition, /*size*/wxDefaultSize, wxST_ELLIPSIZE_MIDDLE); + for (const std::string col : { L("Start at height"), L("Stop at height"), L("Layer height") }) { + auto temp = new wxStaticText(m_parent, wxID_ANY, _(col), wxDefaultPosition, /*size*/wxDefaultSize, wxST_ELLIPSIZE_MIDDLE); temp->SetFont(Slic3r::GUI::wxGetApp().normal_font()); temp->SetBackgroundStyle(wxBG_STYLE_PAINT); temp->SetFont(wxGetApp().bold_font()); @@ -145,7 +145,7 @@ void ObjectLayers::create_layers_list() auto sizer = create_layer(range); auto del_btn = new ScalableButton(m_parent, wxID_ANY, m_bmp_delete); - del_btn->SetToolTip(_(L("Remove layer"))); + del_btn->SetToolTip(_(L("Remove layer range"))); sizer->Add(del_btn, 0, wxRIGHT | wxLEFT, em_unit(m_parent)); @@ -154,7 +154,7 @@ void ObjectLayers::create_layers_list() }); auto add_btn = new ScalableButton(m_parent, wxID_ANY, m_bmp_add); - add_btn->SetToolTip(_(L("Add layer"))); + add_btn->SetToolTip(_(L("Add layer range"))); sizer->Add(add_btn, 0, wxRIGHT, em_unit(m_parent)); diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 94f3252ae7..1f0adf3637 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -1249,7 +1249,7 @@ void ObjectList::get_freq_settings_choice(const wxString& bundle_name) assert(m_config); auto opt_keys = m_config->keys(); - const wxString snapshot_text = item_type & itLayer ? _(L("Add Settings Bundle for Layers")) : + const wxString snapshot_text = item_type & itLayer ? _(L("Add Settings Bundle for Height range")) : item_type & itVolume ? _(L("Add Settings Bundle for Sub-object")) : _(L("Add Settings Bundle for Object")); take_snapshot(snapshot_text); @@ -1347,7 +1347,7 @@ wxMenuItem* ObjectList::append_menu_item_split(wxMenu* menu) wxMenuItem* ObjectList::append_menu_item_layers_editing(wxMenu* menu) { - return append_menu_item(menu, wxID_ANY, _(L("Edit Layers")), "", + return append_menu_item(menu, wxID_ANY, _(L("Height range Modifier")), "", [this](wxCommandEvent&) { layers_editing(); }, "edit_layers_all", menu); } @@ -1895,7 +1895,7 @@ void ObjectList::del_layer_from_object(const int obj_idx, const t_layer_height_r if (del_range == object(obj_idx)->layer_config_ranges.end()) return; - take_snapshot(_(L("Delete Layers Range"))); + take_snapshot(_(L("Delete Height Range"))); object(obj_idx)->layer_config_ranges.erase(del_range); @@ -2203,7 +2203,7 @@ void ObjectList::part_selection_changed() m_config = &(*m_objects)[obj_idx]->config; } else if (type & (itLayerRoot|itLayer)) { - og_name = type & itLayerRoot ? _(L("Layers Editing")) : _(L("Layer Editing")); + og_name = type & itLayerRoot ? _(L("Height ranges")) : _(L("Settings for height range")); update_and_show_layers = true; if (type & itLayer) @@ -2581,7 +2581,7 @@ void ObjectList::add_layer_range_after_current(const t_layer_height_range& curre if (current_range == last_range) { - take_snapshot(_(L("Add New Layers Range"))); + take_snapshot(_(L("Add Height Range"))); const t_layer_height_range& new_range = { last_range.second, last_range.second + 2.0f }; ranges[new_range] = get_default_layer_config(obj_idx); @@ -2610,7 +2610,7 @@ void ObjectList::add_layer_range_after_current(const t_layer_height_range& curre t_layer_height_range new_range = { midl_layer, next_range.second }; - Plater::TakeSnapshot snapshot(wxGetApp().plater(), _(L("Add New Layers Range"))); + Plater::TakeSnapshot snapshot(wxGetApp().plater(), _(L("Add Height Range"))); // create new 2 layers instead of deleted one @@ -2628,7 +2628,7 @@ void ObjectList::add_layer_range_after_current(const t_layer_height_range& curre } else { - take_snapshot(_(L("Add New Layers Range"))); + take_snapshot(_(L("Add Height Range"))); const t_layer_height_range new_range = { current_range.second, next_range.first }; ranges[new_range] = get_default_layer_config(obj_idx); @@ -2687,7 +2687,7 @@ bool ObjectList::edit_layer_range(const t_layer_height_range& range, const t_lay const int obj_idx = get_selected_obj_idx(); if (obj_idx < 0) return false; - take_snapshot(_(L("Edit Layers Range"))); + take_snapshot(_(L("Edit Height Range"))); const ItemType sel_type = m_objects_model->GetItemType(GetSelection()); diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index 29013389e5..51717a420d 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -562,7 +562,7 @@ void ObjectManipulation::update_if_dirty() if (selection.requires_uniform_scale()) { m_lock_bnt->SetLock(true); - m_lock_bnt->SetToolTip(_(L("You cann't use non-uniform scaling mode for multiple objects/parts selection"))); + m_lock_bnt->SetToolTip(_(L("You cannot use non-uniform scaling mode for multiple objects/parts selection"))); m_lock_bnt->disable(); } else { diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index 64218d08f6..de6289f7d2 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -252,7 +252,6 @@ bool Preview::init(wxWindow* parent, Bed3D& bed, Camera& camera, GLToolbar& view m_checkbox_retractions = new wxCheckBox(this, wxID_ANY, _(L("Retractions"))); m_checkbox_unretractions = new wxCheckBox(this, wxID_ANY, _(L("Unretractions"))); m_checkbox_shells = new wxCheckBox(this, wxID_ANY, _(L("Shells"))); - m_checkbox_legend = new wxCheckBox(this, wxID_ANY, _(L("Legend"))); m_checkbox_legend->SetValue(true); diff --git a/src/slic3r/GUI/KBShortcutsDialog.cpp b/src/slic3r/GUI/KBShortcutsDialog.cpp index 2d5454ce99..d3486901dd 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.cpp +++ b/src/slic3r/GUI/KBShortcutsDialog.cpp @@ -151,7 +151,7 @@ void KBShortcutsDialog::fill_shortcuts() plater_shortcuts.push_back(Shortcut("F", L("Press to scale selection to fit print volume\nin Gizmo scale"))); plater_shortcuts.push_back(Shortcut(alt, L("Press to activate deselection rectangle\nor to scale or rotate selected objects\naround their own center"))); plater_shortcuts.push_back(Shortcut(ctrl, L("Press to activate one direction scaling in Gizmo scale"))); - plater_shortcuts.push_back(Shortcut("K", L("Change camera type"))); + plater_shortcuts.push_back(Shortcut("K", L("Change camera type (perspective, orthographic)"))); plater_shortcuts.push_back(Shortcut("B", L("Zoom to Bed"))); plater_shortcuts.push_back(Shortcut("Z", L("Zoom to all objects in scene, if none selected"))); plater_shortcuts.push_back(Shortcut("Z", L("Zoom to selected object"))); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index d33b858890..4fc5341b6c 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2240,7 +2240,7 @@ std::vector Plater::priv::load_files(const std::vector& input_ if (object->volumes.size() > 1) { Slic3r::GUI::show_info(nullptr, - _(L("You can't to load SLA project if there is at least one multi-part object on the bed")) + "\n\n" + + _(L("You can't load SLA project if there is at least one multi-part object on the bed")) + "\n\n" + _(L("Please check your object list before preset changing.")), _(L("Attention!"))); return obj_idxs;