mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-14 02:16:02 +08:00
Fixes in phrases
This commit is contained in:
parent
2b667ffb6b
commit
5998e2f78d
@ -532,6 +532,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def->set_default_value(new ConfigOptionInts { 0 });
|
||||
|
||||
def = this->add("chamber_temperature", coInts);
|
||||
// TRN: Label of a configuration parameter: Nominal chamber temperature.
|
||||
def->label = L("Nominal");
|
||||
def->full_label = L("Chamber temperature");
|
||||
def->tooltip = L("Required chamber temperature for the print.\nWhen set to zero, "
|
||||
@ -543,6 +544,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def->set_default_value(new ConfigOptionInts{ 0 });
|
||||
|
||||
def = this->add("chamber_minimal_temperature", coInts);
|
||||
// TRN: Label of a configuration parameter: Minimal chamber temperature
|
||||
def->label = L("Minimal");
|
||||
def->full_label = L("Chamber minimal temperature");
|
||||
def->tooltip = L("Minimal chamber temperature that the printer waits for before the print starts. This allows "
|
||||
@ -635,12 +637,12 @@ void PrintConfigDef::init_fff_params()
|
||||
def->set_default_value(new ConfigOptionFloat(1));
|
||||
|
||||
def = this->add("top_one_perimeter_type", coEnum);
|
||||
def->label = L("Only one perimeter type");
|
||||
def->label = L("Single perimeter on top surfaces");
|
||||
def->category = L("Layers and Perimeters");
|
||||
def->tooltip = L("Use only one perimeter on flat top surface, to give more space to the top infill pattern. Could be applied on topmost surface or all top surface.");
|
||||
def->tooltip = L("Use only one perimeter on flat top surface, to give more space to the top infill pattern. Could be applied on topmost surface or all top surfaces.");
|
||||
def->mode = comExpert;
|
||||
def->set_enum<TopOnePerimeterType>({
|
||||
{ "none", L("None surfaces") },
|
||||
{ "none", L("Disabled") },
|
||||
{ "top", L("All top surfaces") },
|
||||
{ "topmost", L("Topmost surface only") }
|
||||
});
|
||||
@ -649,7 +651,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def = this->add("only_one_perimeter_first_layer", coBool);
|
||||
def->label = L("Only one perimeter on first layer");
|
||||
def->category = L("Layers and Perimeters");
|
||||
def->tooltip = L("Use only one perimeter on the first layer of model.");
|
||||
def->tooltip = L("Use only one perimeter on the first layer.");
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
@ -1138,9 +1140,9 @@ void PrintConfigDef::init_fff_params()
|
||||
def->set_default_value(new ConfigOptionFloats { 0. });
|
||||
|
||||
def = this->add("filament_infill_max_speed", coFloats);
|
||||
def->label = L("Max simple infill speed");
|
||||
def->tooltip = L("Maximum speed allowed for this filament while printing simple infill. "
|
||||
"The term \"simple infill\" means infill without any self intersections in a single layer. "
|
||||
def->label = L("Max non-crossing infill speed");
|
||||
def->tooltip = L("Maximum speed allowed for this filament while printing infill without "
|
||||
"any self intersections in a single layer. "
|
||||
"Set to zero for no limit.");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
@ -1149,8 +1151,8 @@ void PrintConfigDef::init_fff_params()
|
||||
|
||||
def = this->add("filament_infill_max_crossing_speed", coFloats);
|
||||
def->label = L("Max crossing infill speed");
|
||||
def->tooltip = L("Maximum speed allowed for this filament while printing crossing infill. "
|
||||
"The term \"crossing infill\" means infill with self intersections in a single layer. "
|
||||
def->tooltip = L("Maximum speed allowed for this filament while printing infill with "
|
||||
"self intersections in a single layer. "
|
||||
"Set to zero for no limit.");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
@ -1388,10 +1390,10 @@ void PrintConfigDef::init_fff_params()
|
||||
def->cli = ConfigOptionDef::nocli;
|
||||
|
||||
def = this->add("filament_shrinkage_compensation_xy", coPercents);
|
||||
def->label = L("Shrinkage XY");
|
||||
def->label = L("Shrinkage compensation XY");
|
||||
def->tooltip = L("Enter your filament shrinkage percentages for the X and Y axes here to apply scaling of the object to "
|
||||
"compensate for shrinkage in the X and Y axes. For example, if you measured 99mm instead of 100mm, "
|
||||
"then you should put here 1%.");
|
||||
"enter 1%.");
|
||||
def->sidetext = L("%");
|
||||
def->mode = comAdvanced;
|
||||
def->min = -10.;
|
||||
@ -1399,10 +1401,10 @@ void PrintConfigDef::init_fff_params()
|
||||
def->set_default_value(new ConfigOptionPercents { 0 });
|
||||
|
||||
def = this->add("filament_shrinkage_compensation_z", coPercents);
|
||||
def->label = L("Shrinkage Z");
|
||||
def->label = L("Shrinkage compensation Z");
|
||||
def->tooltip = L("Enter your filament shrinkage percentages for the Z axis here to apply scaling of the object to "
|
||||
"compensate for shrinkage in the Z axis. For example, if you measured 99mm instead of 100mm, "
|
||||
"then you should put here 1%.");
|
||||
"enter 1%.");
|
||||
def->sidetext = L("%");
|
||||
def->mode = comAdvanced;
|
||||
def->min = -10.;
|
||||
@ -5453,8 +5455,8 @@ CLIActionsConfigDef::CLIActionsConfigDef()
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("opengl-aa", coBool);
|
||||
def->label = L("Automatic OpenGL antialising samples number selection");
|
||||
def->tooltip = L("Automatically select the highest number of samples for OpenGL antialising.");
|
||||
def->label = L("Automatic OpenGL antialiasing samples number selection");
|
||||
def->tooltip = L("Automatically select the highest number of samples for OpenGL antialiasing.");
|
||||
def->cli = "opengl-aa";
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
|
@ -1888,7 +1888,7 @@ wxString repo_title(const std::string& repo_id, const std::string& repo_name)
|
||||
{
|
||||
if (repo_name.empty())
|
||||
{
|
||||
return repo_id.empty() ? _L("Other Vendors") : format_wxstr(_L("%1% Vendors"), repo_id);
|
||||
return repo_id.empty() ? wxString::FromUTF8("Unknown repo") : format_wxstr("Unnamed repo (ID %1%)", repo_id);
|
||||
}
|
||||
return repo_name;
|
||||
}
|
||||
@ -1947,12 +1947,12 @@ PageVendors::PageVendors(ConfigWizard* parent, std::string repo_id /*= wxEmptySt
|
||||
}
|
||||
|
||||
if (!user_presets_list.IsEmpty()) {
|
||||
wxString message = format_wxstr(_L_PLURAL("Following user preset has a same name as one of added system presets from '%1%' vendor:\n"
|
||||
"%2%Please note that this user preset will be rewrite by system preset.\n\n"
|
||||
"Do you still wish to add presets from '%1%'?",
|
||||
"Following user presets have same names as some of added system presets from '%1%' vendor:\n"
|
||||
"%2%Please note that these user presets will be rewrite by system presets.\n\n"
|
||||
"Do you still wish to add presets from '%1%'?",
|
||||
wxString message = format_wxstr(_L_PLURAL("Existing user preset '%2%' has the same name as one of new system presets from vendor '%1%'.\n"
|
||||
"Please note that this user preset will be rewritten by the system preset.\n\n"
|
||||
"Do you still wish to add presets from vendor '%1%'?",
|
||||
"Existing user presets (%2%) have the same names as some of new system presets from vendor '%1%'.\n"
|
||||
"Please note that these user presets will be rewritten by the system presets.\n\n"
|
||||
"Do you still wish to add presets from vendor '%1%'?",
|
||||
user_presets_cnt), vendor->name, user_presets_list);
|
||||
|
||||
MessageDialog msg(this->GetParent(), message, _L("Notice"), wxYES_NO);
|
||||
@ -3775,9 +3775,10 @@ bool ConfigWizard::priv::can_clear_printer_pages()
|
||||
if (msg.IsEmpty())
|
||||
return true;
|
||||
|
||||
wxString message = format_wxstr( _L("Next pages will be deleted after configuration update:%1%\n"
|
||||
"Installed presets will be uninstalled.\n"
|
||||
"Would you like to process it?"), "\n\n"+ msg);
|
||||
// TRN: %1% contains list of pages to be removed, each on its own line and ending with a line break.
|
||||
wxString message = format_wxstr( _L("Following Configuration Wizard pages will be removed after the configuration update:\n\n%1%\n"
|
||||
"Installed presets for the respective printers will also be removed.\n"
|
||||
"Do you want to continue?"), msg);
|
||||
|
||||
MessageDialog msg_dlg(this->q, message, _L("Notice"), wxYES_NO);
|
||||
return msg_dlg.ShowModal() == wxID_YES;
|
||||
|
@ -504,7 +504,7 @@ bool DSForLayers::render_multi_extruders_menu(bool switch_current_code/* = false
|
||||
void DSForLayers::render_color_picker()
|
||||
{
|
||||
ImGuiContext& context = *GImGui;
|
||||
const std::string title = _u8L("Select color for color change");
|
||||
const std::string title = _u8L("Select color for Color Change");
|
||||
if (m_show_color_picker) {
|
||||
|
||||
ImGuiPureWrap::set_next_window_pos(1200, 200, ImGuiCond_Always, 0.5f, 0.0f);
|
||||
@ -532,7 +532,7 @@ void DSForLayers::render_cog_menu()
|
||||
if (ImGuiPureWrap::menu_item_with_icon(_u8L("Jump to height").c_str(), "Shift+G")) {
|
||||
jump_to_value();
|
||||
}
|
||||
if (ImGuiPureWrap::menu_item_with_icon(_u8L("Show estimated print time on mouse moving").c_str(), "", icon_sz, 0, m_show_estimated_times)) {
|
||||
if (ImGuiPureWrap::menu_item_with_icon(_u8L("Show estimated print time on hover").c_str(), "", icon_sz, 0, m_show_estimated_times)) {
|
||||
m_show_estimated_times = !m_show_estimated_times;
|
||||
}
|
||||
if (m_mode == MultiAsSingle && m_draw_mode == dmRegular &&
|
||||
|
@ -256,6 +256,7 @@ static std::string to_string(libvgcode::EMoveType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
// TRN: Following strings are labels in the G-code Viewer legend.
|
||||
case libvgcode::EMoveType::Noop: { return _u8L("Noop"); }
|
||||
case libvgcode::EMoveType::Retract: { return _u8L("Retract"); }
|
||||
case libvgcode::EMoveType::Unretract: { return _u8L("Unretract"); }
|
||||
@ -275,6 +276,7 @@ static std::string to_string(libvgcode::EGCodeExtrusionRole role)
|
||||
{
|
||||
switch (role)
|
||||
{
|
||||
// TRN: Following strings are labels in the G-code Viewer legend.
|
||||
case libvgcode::EGCodeExtrusionRole::None: { return _u8L("Unknown"); }
|
||||
case libvgcode::EGCodeExtrusionRole::Perimeter: { return _u8L("Perimeter"); }
|
||||
case libvgcode::EGCodeExtrusionRole::ExternalPerimeter: { return _u8L("External perimeter"); }
|
||||
@ -326,6 +328,7 @@ void GCodeViewer::SequentialView::Marker::render_position_window(const libvgcode
|
||||
ImGuiPureWrap::text(std::string(buf));
|
||||
|
||||
ImGui::SameLine();
|
||||
// TRN: Show/hide properties is a tooltip on a button which toggles an extra window in the G-code Viewer, showing properties of current G-code segment.
|
||||
if (imgui.image_button(properties_shown ? ImGui::HorizontalHide : ImGui::HorizontalShow, properties_shown ? _u8L("Hide properties") : _u8L("Show properties"))) {
|
||||
properties_shown = !properties_shown;
|
||||
imgui.requires_extra_frame();
|
||||
|
@ -3268,6 +3268,7 @@ bool GUI_App::run_wizard(ConfigWizard::RunReason reason, ConfigWizard::StartPage
|
||||
// ConfigWizard can take some time to start. Because it is a wxWidgets window, it has to be done
|
||||
// in UI thread, so displaying a nice modal dialog and letting the CW start in a worker thread
|
||||
// is not an option. Let's at least show a modeless dialog before the UI thread freezes.
|
||||
// TRN: Text showing while the ConfigWizard is loading, so the user knows something is happening.
|
||||
auto cw_loading_dlg = new ConfigWizardLoadingDialog(mainframe, _L("Loading Configuration Wizard..."));
|
||||
cw_loading_dlg->CenterOnParent();
|
||||
cw_loading_dlg->Show();
|
||||
@ -3516,10 +3517,13 @@ bool GUI_App::check_updates(const bool invoked_by_user)
|
||||
// for preset_updater sync we need to sync archive database first
|
||||
plater()->get_preset_archive_database()->sync_blocking();
|
||||
// Now re-extract offline repos
|
||||
std::string extract_msg;
|
||||
if (!plater()->get_preset_archive_database()->extract_archives_with_check(extract_msg)) {
|
||||
extract_msg = GUI::format("%1%\n\n%2%", _L("Following repositories won't be updated:"), extract_msg);
|
||||
show_error(nullptr, extract_msg);
|
||||
std::string failed_paths;
|
||||
if (!plater()->get_preset_archive_database()->extract_archives_with_check(failed_paths)) {
|
||||
int cnt = std::count(failed_paths.begin(), failed_paths.end(), '\n') + 1;
|
||||
// TRN: %1% contains paths from which loading failed. They are separated by \n, there is no \n at the end.
|
||||
failed_paths = GUI::format(_L_PLURAL("It was not possible to extract data from %1%. The repository will not be updated.",
|
||||
"It was not possible to extract data for following local repositories. They will not be updated.\n\n %1%", cnt), failed_paths);
|
||||
show_error(nullptr, failed_paths);
|
||||
}
|
||||
// then its time for preset_updater sync
|
||||
preset_updater->sync_blocking(preset_bundle, this, plater()->get_preset_archive_database()->get_selected_archive_repositories());
|
||||
@ -3592,7 +3596,7 @@ bool GUI_App::open_login_browser_with_dialog(const wxString& url, wxWindow* pare
|
||||
{
|
||||
bool auth_login_dialog_confirmed = app_config->get_bool("auth_login_dialog_confirmed");
|
||||
if (!auth_login_dialog_confirmed) {
|
||||
RichMessageDialog dialog(parent, _L("Open default browser with Prusa Account Log in page?\n(On Yes, You will not be asked again.)"), _L("PrusaSlicer: Open Log in page"), wxICON_QUESTION | wxYES_NO);
|
||||
RichMessageDialog dialog(parent, _L("Open default browser with Prusa Account Log in page?\n(If you select 'Yes', you will not be asked again.)"), _L("PrusaSlicer: Open Log in page"), wxICON_QUESTION | wxYES_NO);
|
||||
if (dialog.ShowModal() != wxID_YES)
|
||||
return false;
|
||||
app_config->set("auth_login_dialog_confirmed", "1");
|
||||
@ -3852,8 +3856,8 @@ bool GUI_App::select_printer_from_connect(const std::string& msg)
|
||||
bool is_installed = printer_preset && select_printer_preset(printer_preset);
|
||||
// notification
|
||||
std::string out = printer_preset ?
|
||||
(is_installed ? GUI::format(_L("Installed and Selected Printer:\n%1%"), printer_preset->name) :
|
||||
GUI::format(_L("Selected Printer:\n%1%"), printer_preset->name)) :
|
||||
(is_installed ? GUI::format(_L("Installed and selected printer:\n%1%"), printer_preset->name) :
|
||||
GUI::format(_L("Selected printer:\n%1%"), printer_preset->name)) :
|
||||
GUI::format(_L("Printer not found:\n%1%"), model_name);
|
||||
this->plater()->get_notification_manager()->close_notification_of_type(NotificationType::SelectPrinterFromConnect);
|
||||
this->plater()->get_notification_manager()->push_notification(
|
||||
@ -3898,7 +3902,7 @@ void GUI_App::search_and_select_filaments(const std::string& material, size_t ex
|
||||
{
|
||||
out_message += /*(extruder_count == 1)
|
||||
? GUI::format(_L("Selected Filament:\n%1%"), filament_preset.preset->name)
|
||||
: */GUI::format(_L("Extruder %1%: Selected Filament %2%\n"), extruder_index + 1, filament.preset->name);
|
||||
: */GUI::format(_L("Extruder %1%: Selected filament %2%\n"), extruder_index + 1, filament.preset->name);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -3930,11 +3934,11 @@ void GUI_App::search_and_select_filaments(const std::string& material, size_t ex
|
||||
&& filament.preset->name.compare(0, 9, "Prusament") == 0
|
||||
&& select_filament_preset(filament.preset, extruder_index))
|
||||
{
|
||||
out_message += GUI::format(_L("Extruder %1%: Selected and Installed Filament %2%\n"), extruder_index + 1, filament.preset->name);
|
||||
out_message += GUI::format(_L("Extruder %1%: Selected and installed filament %2%\n"), extruder_index + 1, filament.preset->name);
|
||||
return;
|
||||
}
|
||||
}
|
||||
out_message += GUI::format(_L("Extruder %2%: Failed to Find and Select Filament type: %1%\n"), material, extruder_index + 1);
|
||||
out_message += GUI::format(_L("Extruder %2%: Failed to find and select filament type: %1%\n"), material, extruder_index + 1);
|
||||
}
|
||||
|
||||
void GUI_App::select_filament_from_connect(const std::string& msg)
|
||||
|
@ -1867,9 +1867,8 @@ void MainFrame::export_configbundle(bool export_physical_printers /*= false*/)
|
||||
#if wxUSE_SECRETSTORE
|
||||
// First password prompts user with dialog
|
||||
if (!passwords_dialog_shown) {
|
||||
//wxString msg = GUI::format_wxstr(L"%1%\n%2%", _L("Some of the exported printers contains passwords, which are stored in the system password store."), _L("Do you wish to include the passwords to the exported file in the plain text form?"));
|
||||
wxString msg = _L("Some of the exported printers contains passwords, which are stored in the system password store."
|
||||
" Do you wish to include the passwords in the plain text form to the exported file?");
|
||||
wxString msg = _L("Some of the exported printers contain passwords, which are stored in the system password store."
|
||||
" Do you want to include the passwords in the plain text form in the exported file?");
|
||||
MessageDialog dlg_psswd(this, msg, wxMessageBoxCaptionStr, wxYES_NO | wxYES_DEFAULT | wxICON_QUESTION);
|
||||
if (dlg_psswd.ShowModal() == wxID_YES)
|
||||
passwords_to_plain = true;
|
||||
@ -1891,7 +1890,7 @@ void MainFrame::export_configbundle(bool export_physical_printers /*= false*/)
|
||||
wxString username;
|
||||
wxSecretValue password;
|
||||
if (!store.Load(service, username, password)) {
|
||||
std::string msg = GUI::format(_u8L("Failed to load credentials from the system secret store for the printer %1%."), printer_id);
|
||||
std::string msg = GUI::format(_u8L("Failed to load credentials from the system secret store for printer %1%."), printer_id);
|
||||
BOOST_LOG_TRIVIAL(error) << msg;
|
||||
show_error(nullptr, msg);
|
||||
return false;
|
||||
|
@ -917,7 +917,8 @@ private:
|
||||
{NotificationType::URLNotRegistered
|
||||
, NotificationLevel::RegularNotificationLevel
|
||||
, 10
|
||||
, _u8L("PrusaSlicer recieved a download request from Printables.com, but it's not allowed. You can allow it")
|
||||
// TRN: The text is followed by a hyperlink saying "here." It is necessary to split it in two phrases, sorry.
|
||||
, _u8L("PrusaSlicer received a download request from Printables.com, but it's not allowed. You can allow it")
|
||||
, _u8L("here.")
|
||||
, [](wxEvtHandler* evnthndlr) {
|
||||
wxGetApp().open_preferences("downloader_url_registered", "Other");
|
||||
|
@ -381,10 +381,10 @@ bool OpenGLManager::init_gl()
|
||||
wxString message = format_wxstr(
|
||||
#if SLIC3R_OPENGL_ES
|
||||
_L("PrusaSlicer requires OpenGL ES 3.0 capable graphics driver to run correctly, \n"
|
||||
"while OpenGL version %s, render %s, vendor %s was detected."), s_gl_info.get_version_string(), s_gl_info.get_renderer(), s_gl_info.get_vendor());
|
||||
"while OpenGL version %s, renderer %s, vendor %s was detected."), s_gl_info.get_version_string(), s_gl_info.get_renderer(), s_gl_info.get_vendor());
|
||||
#else
|
||||
_L("PrusaSlicer requires OpenGL 3.2 capable graphics driver to run correctly,\n"
|
||||
"while OpenGL version %s, render %s, vendor %s was detected."), s_gl_info.get_version_string(), s_gl_info.get_renderer(), s_gl_info.get_vendor());
|
||||
"while OpenGL version %s, renderer %s, vendor %s was detected."), s_gl_info.get_version_string(), s_gl_info.get_renderer(), s_gl_info.get_vendor());
|
||||
#endif // SLIC3R_OPENGL_ES
|
||||
message += "\n";
|
||||
message += _L("You may need to update your graphics card driver.");
|
||||
|
@ -1461,8 +1461,7 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
|
||||
if (!found) {
|
||||
// return to original print profile
|
||||
wxGetApp().get_tab(Preset::Type::TYPE_SLA_PRINT)->select_preset(edited_print_name, false);
|
||||
std::string notif_text = into_u8(_L("Material preset was not loaded:"));
|
||||
notif_text += "\n - " + preset_name;
|
||||
std::string notif_text = GUI::format(_L("Material preset was not loaded:\n - %1%"), preset_name);
|
||||
q->get_notification_manager()->push_notification(NotificationType::CustomNotification,
|
||||
NotificationManager::NotificationLevel::PrintInfoNotificationLevel, notif_text);
|
||||
break;
|
||||
@ -5987,7 +5986,7 @@ void Plater::connect_gcode()
|
||||
}
|
||||
}
|
||||
if (dialog_msg.empty()) {
|
||||
show_error(this, _L("Failed to select a printer. PrusaConnect did not return a value."));
|
||||
show_error(this, _L("Failed to select a printer."));
|
||||
return;
|
||||
}
|
||||
BOOST_LOG_TRIVIAL(debug) << "Message from Printer pick webview: " << dialog_msg;
|
||||
@ -6008,7 +6007,7 @@ void Plater::connect_gcode()
|
||||
|
||||
std::string data_subtree = p->user_account->get_print_data_from_json(dialog_msg, "data");
|
||||
if (filename.empty() || team_id.empty() || data_subtree.empty()) {
|
||||
std::string msg = _u8L("Failed to read response from Connect server. Upload is canceled.");
|
||||
std::string msg = _u8L("Failed to read response from Prusa Connect server. Upload is cancelled.");
|
||||
BOOST_LOG_TRIVIAL(error) << msg;
|
||||
BOOST_LOG_TRIVIAL(error) << "Response: " << dialog_msg;
|
||||
show_error(this, msg);
|
||||
|
@ -353,7 +353,7 @@ bool PresetArchiveDatabase::set_selected_repositories(const std::vector<std::str
|
||||
if (!archive->is_extracted()) {
|
||||
// non existent local repo since start selected
|
||||
msg = GUI::format(
|
||||
_L("Cannot select offline repository from path: %1%. It was not extracted."),
|
||||
_L("Cannot select local repository from path: %1%. It was not extracted."),
|
||||
archive->get_manifest().source_path
|
||||
);
|
||||
return false;
|
||||
@ -380,12 +380,12 @@ bool PresetArchiveDatabase::set_selected_repositories(const std::vector<std::str
|
||||
bool PresetArchiveDatabase::extract_archives_with_check(std::string &msg)
|
||||
{
|
||||
extract_local_archives();
|
||||
for (auto &pair : m_selected_repositories_uuid) {
|
||||
for (const std::pair<std::string, bool>& pair : m_selected_repositories_uuid) {
|
||||
if (!pair.second) {
|
||||
continue;
|
||||
}
|
||||
std::string uuid = pair.first;
|
||||
auto compare_repo = [uuid](const std::unique_ptr<ArchiveRepository> &repo) {
|
||||
const std::string uuid = pair.first;
|
||||
auto compare_repo = [&uuid](const std::unique_ptr<ArchiveRepository> &repo) {
|
||||
return repo->get_uuid() == uuid;
|
||||
};
|
||||
|
||||
@ -393,10 +393,7 @@ bool PresetArchiveDatabase::extract_archives_with_check(std::string &msg)
|
||||
assert(archives_it != m_archive_repositories.end());
|
||||
if (!archives_it->get()->is_extracted()) {
|
||||
// non existent local repo since start selected
|
||||
msg += GUI::format(
|
||||
_L("Offline repository from path: %1% was not extracted.\n"),
|
||||
archives_it->get()->get_manifest().source_path
|
||||
);
|
||||
msg += std::string(msg.empty() ? "" : "\n") + archives_it->get()->get_manifest().source_path.string();
|
||||
}
|
||||
}
|
||||
return msg.empty();
|
||||
|
@ -740,14 +740,17 @@ PlaterPresetComboBox::PlaterPresetComboBox(wxWindow *parent, Preset::Type preset
|
||||
|
||||
connect_info_sizer->Add(new wxStaticBitmap(parent, wxID_ANY, *get_bmp_bundle("connect_status", 14, 14, "#5CD800")), 0, wxALIGN_CENTER_VERTICAL | wxTOP, 1);
|
||||
connect_info_sizer->Add(connect_available_info, 0, wxALIGN_CENTER_VERTICAL);
|
||||
// TRN: this is part of the infoline below Printer Settings dropdown, informing about number of printers available/offline/printing in Prusa Connect.
|
||||
connect_info_sizer->Add(new wxStaticText(parent, wxID_ANY, _L("available")), 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 10);
|
||||
|
||||
connect_info_sizer->Add(new wxStaticBitmap(parent, wxID_ANY, *get_bmp_bundle("connect_status", 14, 14, "#FB3636")), 0, wxALIGN_CENTER_VERTICAL | wxTOP, 1);
|
||||
connect_info_sizer->Add(connect_offline_info, 0, wxALIGN_CENTER_VERTICAL);
|
||||
// TRN: this is part of the infoline below Printer Settings dropdown, informing about number of printers available/offline/printing in Prusa Connect.
|
||||
connect_info_sizer->Add(new wxStaticText(parent, wxID_ANY, _L("offline")), 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 10);
|
||||
|
||||
connect_info_sizer->Add(new wxStaticBitmap(parent, wxID_ANY, *get_bmp_bundle("connect_status", 14, 14, "#2E9BFF")), 0, wxALIGN_CENTER_VERTICAL | wxTOP, 1);
|
||||
connect_info_sizer->Add(connect_printing_info, 0, wxALIGN_CENTER_VERTICAL);
|
||||
// TRN: this is part of the infoline below Printer Settings dropdown, informing about number of printers available/offline/printing in Prusa Connect.
|
||||
connect_info_sizer->Add(new wxStaticText(parent, wxID_ANY, _L("printing")), 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 10);
|
||||
#endif
|
||||
}
|
||||
|
@ -471,7 +471,7 @@ TopBarItemsCtrl::TopBarItemsCtrl(wxWindow *parent, TopBarMenus* menus/* = nullpt
|
||||
|
||||
wxBoxSizer* right_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
||||
m_workspace_btn = new ButtonWithPopup(this, _L("Workspace"), "mode_simple");
|
||||
m_workspace_btn = new ButtonWithPopup(this, "Workspace", "mode_simple");
|
||||
right_sizer->AddStretchSpacer(20);
|
||||
right_sizer->Add(m_workspace_btn, 0, wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, m_btn_margin);
|
||||
|
||||
|
@ -40,7 +40,7 @@ RepositoryUpdateUIManager::RepositoryUpdateUIManager(wxWindow* parent, PresetArc
|
||||
|
||||
m_main_sizer->AddSpacer(em);
|
||||
|
||||
auto offline_label = new wxStaticText(m_parent, wxID_ANY, _L("Offline Repositories"));
|
||||
auto offline_label = new wxStaticText(m_parent, wxID_ANY, _L("Local Repositories"));
|
||||
offline_label->SetFont(wxGetApp().bold_font());
|
||||
|
||||
m_main_sizer->Add(offline_label, 0, wxTOP | wxLEFT, 2 * em);
|
||||
@ -97,7 +97,8 @@ void RepositoryUpdateUIManager::fill_grids()
|
||||
|
||||
// header
|
||||
|
||||
for (const wxString& l : std::initializer_list<wxString>{ _L("Use"), "", _L("Name"), _L("Descrition") }) {
|
||||
// TRN: This string appears in Configuration Wizard in the 'Configuration Manager' step.
|
||||
for (const wxString& l : std::initializer_list<wxString>{ _L("Use"), "", _L("Name"), _L("Description") }) {
|
||||
auto text = new wxStaticText(m_parent, wxID_ANY, l);
|
||||
text->SetFont(wxGetApp().bold_font());
|
||||
add(text);
|
||||
@ -165,7 +166,7 @@ void RepositoryUpdateUIManager::fill_grids()
|
||||
|
||||
{
|
||||
wxStaticBitmap* bmp = new wxStaticBitmap(m_parent, wxID_ANY, *get_bmp_bundle(entry.is_ok ? "tick_mark" : "exclamation"));
|
||||
bmp->SetToolTip(entry.is_ok ? _L("Exists") : _L("Doesn't exist"));
|
||||
bmp->SetToolTip(entry.is_ok ? _L("File exists") : _L("File does NOT exist"));
|
||||
add(bmp);
|
||||
}
|
||||
|
||||
@ -240,7 +241,7 @@ void RepositoryUpdateUIManager::remove_offline_repos(const std::string& id)
|
||||
void RepositoryUpdateUIManager::load_offline_repos()
|
||||
{
|
||||
wxArrayString input_files;
|
||||
wxFileDialog dialog(m_parent, _L("Choose one or more ZIP-files") + ":",
|
||||
wxFileDialog dialog(m_parent, _L("Choose one or more ZIP files") + ":",
|
||||
from_u8(wxGetApp().app_config->get_last_dir()), "",
|
||||
file_wildcards(FT_ZIP), wxFD_OPEN | /*wxFD_MULTIPLE | */wxFD_FILE_MUST_EXIST);
|
||||
|
||||
|
@ -86,19 +86,19 @@ WebViewPanel::WebViewPanel(wxWindow *parent, const wxString& default_url, const
|
||||
#ifdef DEBUG_URL_PANEL
|
||||
// Create the Tools menu
|
||||
m_tools_menu = new wxMenu();
|
||||
wxMenuItem* viewSource = m_tools_menu->Append(wxID_ANY, _L("View Source"));
|
||||
wxMenuItem* viewText = m_tools_menu->Append(wxID_ANY, _L("View Text"));
|
||||
wxMenuItem* viewSource = m_tools_menu->Append(wxID_ANY, "View Source");
|
||||
wxMenuItem* viewText = m_tools_menu->Append(wxID_ANY, "View Text");
|
||||
m_tools_menu->AppendSeparator();
|
||||
|
||||
wxMenu* script_menu = new wxMenu;
|
||||
|
||||
m_script_custom = script_menu->Append(wxID_ANY, "Custom script");
|
||||
m_tools_menu->AppendSubMenu(script_menu, _L("Run Script"));
|
||||
wxMenuItem* addUserScript = m_tools_menu->Append(wxID_ANY, _L("Add user script"));
|
||||
wxMenuItem* setCustomUserAgent = m_tools_menu->Append(wxID_ANY, _L("Set custom user agent"));
|
||||
m_tools_menu->AppendSubMenu(script_menu, "Run Script");
|
||||
wxMenuItem* addUserScript = m_tools_menu->Append(wxID_ANY, "Add user script");
|
||||
wxMenuItem* setCustomUserAgent = m_tools_menu->Append(wxID_ANY, "Set custom user agent");
|
||||
|
||||
m_context_menu = m_tools_menu->AppendCheckItem(wxID_ANY, _L("Enable Context Menu"));
|
||||
m_dev_tools = m_tools_menu->AppendCheckItem(wxID_ANY, _L("Enable Dev Tools"));
|
||||
m_context_menu = m_tools_menu->AppendCheckItem(wxID_ANY, "Enable Context Menu");
|
||||
m_dev_tools = m_tools_menu->AppendCheckItem(wxID_ANY, "Enable Dev Tools");
|
||||
|
||||
#endif
|
||||
|
||||
@ -443,7 +443,7 @@ case type: \
|
||||
BOOST_LOG_TRIVIAL(error) << "WebViewPanel error: " << category;
|
||||
load_error_page();
|
||||
#ifdef DEBUG_URL_PANEL
|
||||
m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() + "\n" +
|
||||
m_info->ShowMessage(wxString("An error occurred loading ") + evt.GetURL() + "\n" +
|
||||
"'" + category + "'", wxICON_ERROR);
|
||||
#endif
|
||||
}
|
||||
@ -637,7 +637,7 @@ void ConnectWebViewPanel::on_user_token(UserAccountSuccessEvent& e)
|
||||
|
||||
void ConnectWebViewPanel::on_script_message(wxWebViewEvent& evt)
|
||||
{
|
||||
BOOST_LOG_TRIVIAL(debug) << "recieved message from PrusaConnect FE: " << evt.GetString();
|
||||
BOOST_LOG_TRIVIAL(debug) << "received message from Prusa Connect FE: " << evt.GetString();
|
||||
handle_message(into_u8(evt.GetString()));
|
||||
}
|
||||
void ConnectWebViewPanel::on_navigation_request(wxWebViewEvent &evt)
|
||||
@ -819,19 +819,19 @@ WebViewDialog::WebViewDialog(wxWindow* parent, const wxString& url, const wxStri
|
||||
#ifdef DEBUG_URL_PANEL
|
||||
// Create the Tools menu
|
||||
m_tools_menu = new wxMenu();
|
||||
wxMenuItem* viewSource = m_tools_menu->Append(wxID_ANY, _L("View Source"));
|
||||
wxMenuItem* viewText = m_tools_menu->Append(wxID_ANY, _L("View Text"));
|
||||
wxMenuItem* viewSource = m_tools_menu->Append(wxID_ANY, "View Source");
|
||||
wxMenuItem* viewText = m_tools_menu->Append(wxID_ANY, "View Text");
|
||||
m_tools_menu->AppendSeparator();
|
||||
|
||||
wxMenu* script_menu = new wxMenu;
|
||||
|
||||
m_script_custom = script_menu->Append(wxID_ANY, "Custom script");
|
||||
m_tools_menu->AppendSubMenu(script_menu, _L("Run Script"));
|
||||
wxMenuItem* addUserScript = m_tools_menu->Append(wxID_ANY, _L("Add user script"));
|
||||
wxMenuItem* setCustomUserAgent = m_tools_menu->Append(wxID_ANY, _L("Set custom user agent"));
|
||||
m_tools_menu->AppendSubMenu(script_menu, "Run Script");
|
||||
wxMenuItem* addUserScript = m_tools_menu->Append(wxID_ANY, "Add user script");
|
||||
wxMenuItem* setCustomUserAgent = m_tools_menu->Append(wxID_ANY, "Set custom user agent");
|
||||
|
||||
m_context_menu = m_tools_menu->AppendCheckItem(wxID_ANY, _L("Enable Context Menu"));
|
||||
m_dev_tools = m_tools_menu->AppendCheckItem(wxID_ANY, _L("Enable Dev Tools"));
|
||||
m_context_menu = m_tools_menu->AppendCheckItem(wxID_ANY, "Enable Context Menu");
|
||||
m_dev_tools = m_tools_menu->AppendCheckItem(wxID_ANY, "Enable Dev Tools");
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -136,7 +136,7 @@ bool PrusaConnectNew::upload(PrintHostUpload upload_data, ProgressFn progress_fn
|
||||
std::string init_out;
|
||||
if (!init_upload(upload_data, init_out))
|
||||
{
|
||||
error_fn(std::move(GUI::from_u8(init_out)));
|
||||
error_fn(GUI::from_u8(init_out));
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -149,14 +149,14 @@ bool PrusaConnectNew::upload(PrintHostUpload upload_data, ProgressFn progress_fn
|
||||
pt::read_json(ss, ptree);
|
||||
const auto id_opt = ptree.get_optional<std::string>("id");
|
||||
if (!id_opt) {
|
||||
error_fn(std::move(_L("Failed to extract upload id from server reply.")));
|
||||
error_fn(wxString("Failed to extract upload id from server reply."));
|
||||
return false;
|
||||
}
|
||||
upload_id = *id_opt;
|
||||
}
|
||||
catch (const std::exception&)
|
||||
{
|
||||
error_fn(std::move(_L("Failed to extract upload id from server reply.")));
|
||||
error_fn(wxString("Failed to extract upload id from server reply."));
|
||||
return false;
|
||||
}
|
||||
const std::string name = get_name();
|
||||
|
Loading…
x
Reference in New Issue
Block a user