Localization + new POT
+ added hyperlinks for Ironing parameters
This commit is contained in:
parent
0548df9a76
commit
a6863961f7
8 changed files with 678 additions and 639 deletions
resources/localization
src
File diff suppressed because it is too large
Load diff
|
@ -2441,13 +2441,13 @@ void PrintConfigDef::init_fff_params()
|
||||||
def = this->add("slicing_mode", coEnum);
|
def = this->add("slicing_mode", coEnum);
|
||||||
def->label = L("Slicing Mode");
|
def->label = L("Slicing Mode");
|
||||||
def->category = L("Advanced");
|
def->category = L("Advanced");
|
||||||
def->tooltip = L("Use \"Even / Odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model.");
|
def->tooltip = L("Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model.");
|
||||||
def->enum_keys_map = &ConfigOptionEnum<SlicingMode>::get_enum_values();
|
def->enum_keys_map = &ConfigOptionEnum<SlicingMode>::get_enum_values();
|
||||||
def->enum_values.push_back("regular");
|
def->enum_values.push_back("regular");
|
||||||
def->enum_values.push_back("even_odd");
|
def->enum_values.push_back("even_odd");
|
||||||
def->enum_values.push_back("close_holes");
|
def->enum_values.push_back("close_holes");
|
||||||
def->enum_labels.push_back(L("Regular"));
|
def->enum_labels.push_back(L("Regular"));
|
||||||
def->enum_labels.push_back(L("Even / Odd"));
|
def->enum_labels.push_back(L("Even-odd"));
|
||||||
def->enum_labels.push_back(L("Close holes"));
|
def->enum_labels.push_back(L("Close holes"));
|
||||||
def->mode = comAdvanced;
|
def->mode = comAdvanced;
|
||||||
def->set_default_value(new ConfigOptionEnum<SlicingMode>(SlicingMode::Regular));
|
def->set_default_value(new ConfigOptionEnum<SlicingMode>(SlicingMode::Regular));
|
||||||
|
|
|
@ -772,9 +772,11 @@ void PageMaterials::set_compatible_printers_html_window(const std::vector<std::s
|
||||||
, second_line
|
, second_line
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
wxString second_line = printer_names.empty() ? "" : format_wxstr(_L("Only the following installed printers are compatible with the selected %1%:"),
|
wxString second_line;
|
||||||
materials->technology == T_FFF ? _CTX(L_CONTEXT("filaments", "WithSelected"), "WithSelected") :
|
if (!printer_names.empty())
|
||||||
_CTX(L_CONTEXT("SLA materials", "WithSelected"), "WithSelected"));
|
second_line = (materials->technology == T_FFF ?
|
||||||
|
_L("Only the following installed printers are compatible with the selected filaments") :
|
||||||
|
_L("Only the following installed printers are compatible with the selected SLA materials")) + ":";
|
||||||
text = wxString::Format(
|
text = wxString::Format(
|
||||||
"<html>"
|
"<html>"
|
||||||
"<style>"
|
"<style>"
|
||||||
|
@ -2563,7 +2565,7 @@ bool ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *prese
|
||||||
}
|
}
|
||||||
if (!check_unsaved_preset_changes)
|
if (!check_unsaved_preset_changes)
|
||||||
if ((check_unsaved_preset_changes = install_bundles.size() > 0))
|
if ((check_unsaved_preset_changes = install_bundles.size() > 0))
|
||||||
header = _L_PLURAL("New vendor was installed and one of its printer will be activated", "New vendors were installed and one of theirs printer will be activated", install_bundles.size());
|
header = _L_PLURAL("A new vendor was installed and one of its printers will be activated", "New vendors were installed and one of theirs printers will be activated", install_bundles.size());
|
||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
// Desktop integration on Linux
|
// Desktop integration on Linux
|
||||||
|
|
|
@ -419,7 +419,7 @@ MeshErrorsInfo ObjectList::get_mesh_errors_info(const int obj_idx, const int vol
|
||||||
if (repaired.facets_reversed > 0)
|
if (repaired.facets_reversed > 0)
|
||||||
tooltip += "\t" + format_wxstr(_L_PLURAL("%1$d facet reversed", "%1$d facets reversed", repaired.facets_reversed), repaired.facets_reversed) + "\n";
|
tooltip += "\t" + format_wxstr(_L_PLURAL("%1$d facet reversed", "%1$d facets reversed", repaired.facets_reversed), repaired.facets_reversed) + "\n";
|
||||||
if (repaired.backwards_edges > 0)
|
if (repaired.backwards_edges > 0)
|
||||||
tooltip += "\t" + format_wxstr(_L_PLURAL("%1$d backwards edge", "%1$d backwards edges", repaired.backwards_edges), repaired.backwards_edges) + "\n";
|
tooltip += "\t" + format_wxstr(_L_PLURAL("%1$d backward edge", "%1$d backward edges", repaired.backwards_edges), repaired.backwards_edges) + "\n";
|
||||||
}
|
}
|
||||||
if (!stats.manifold()) {
|
if (!stats.manifold()) {
|
||||||
remaining_info = format_wxstr(_L_PLURAL("%1$d open edge", "%1$d open edges", stats.open_edges), stats.open_edges);
|
remaining_info = format_wxstr(_L_PLURAL("%1$d open edge", "%1$d open edges", stats.open_edges), stats.open_edges);
|
||||||
|
@ -4155,7 +4155,7 @@ void ObjectList::fix_through_netfabb()
|
||||||
wxString msg;
|
wxString msg;
|
||||||
wxString bullet_suf = "\n - ";
|
wxString bullet_suf = "\n - ";
|
||||||
if (!succes_models.empty()) {
|
if (!succes_models.empty()) {
|
||||||
msg = _L_PLURAL("Folowing model is repaired successfully", "Folowing models are repaired successfully", succes_models.size()) + ":";
|
msg = _L_PLURAL("The following model was repaired successfully", "The following models were repaired successfully", succes_models.size()) + ":";
|
||||||
for (auto& model : succes_models)
|
for (auto& model : succes_models)
|
||||||
msg += bullet_suf + from_u8(model);
|
msg += bullet_suf + from_u8(model);
|
||||||
msg += "\n\n";
|
msg += "\n\n";
|
||||||
|
|
|
@ -1068,14 +1068,12 @@ void NotificationManager::UpdatedItemsInfoNotification::add_type(InfoItemType ty
|
||||||
for (it = m_types_and_counts.begin(); it != m_types_and_counts.end(); ++it) {
|
for (it = m_types_and_counts.begin(); it != m_types_and_counts.end(); ++it) {
|
||||||
if ((*it).second == 0)
|
if ((*it).second == 0)
|
||||||
continue;
|
continue;
|
||||||
text += std::to_string((*it).second);
|
|
||||||
text += _L_PLURAL(" Object was loaded with "," Objects were loaded with ", (*it).second).ToUTF8().data();
|
|
||||||
switch ((*it).first) {
|
switch ((*it).first) {
|
||||||
case InfoItemType::CustomSupports: text += _utf8("custom supports.\n"); break;
|
case InfoItemType::CustomSupports: text += format(_L_PLURAL("%1$d Object was loaded with custom supports.", "%1$d Objects were loaded with custom supports.", (*it).second), (*it).second) + "\n"; break;
|
||||||
case InfoItemType::CustomSeam: text += _utf8("custom seam.\n"); break;
|
case InfoItemType::CustomSeam: text += format(_L_PLURAL("%1$d Object was loaded with custom seam.", "%1$d Objects were loaded with custom seam.", (*it).second), (*it).second) + "\n"; break;
|
||||||
case InfoItemType::MmuSegmentation: text += _utf8("multimaterial painting.\n"); break;
|
case InfoItemType::MmuSegmentation: text += format(_L_PLURAL("%1$d Object was loaded with multimaterial painting.", "%1$d Objects were loaded with multimaterial painting.",(*it).second), (*it).second) + "\n"; break;
|
||||||
case InfoItemType::VariableLayerHeight: text += _utf8("variable layer height.\n"); break;
|
case InfoItemType::VariableLayerHeight: text += format(_L_PLURAL("%1$d Object was loaded with variable layer height.", "%1$d Objects were loaded with variable layer height.", (*it).second), (*it).second) + "\n"; break;
|
||||||
case InfoItemType::Sinking: text += _utf8("Partial sinking.\n"); break;
|
case InfoItemType::Sinking: text += format(_L_PLURAL("%1$d Object was loaded with partial sinking.", "%1$d Objects were loaded with partial sinking.", (*it).second), (*it).second) + "\n"; break;
|
||||||
default: BOOST_LOG_TRIVIAL(error) << "Unknown InfoItemType: " << (*it).second; break;
|
default: BOOST_LOG_TRIVIAL(error) << "Unknown InfoItemType: " << (*it).second; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2417,8 +2417,8 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
|
||||||
|
|
||||||
// show notification about temporarily installed presets
|
// show notification about temporarily installed presets
|
||||||
if (!names.empty()) {
|
if (!names.empty()) {
|
||||||
std::string notif_text = into_u8(_L_PLURAL("The preset below was temporarily installed on active instance of PrusaSlicer",
|
std::string notif_text = into_u8(_L_PLURAL("The preset below was temporarily installed on the active instance of PrusaSlicer",
|
||||||
"The presets below were temporarily installed on active instance of PrusaSlicer", names.size())) + ":";
|
"The presets below were temporarily installed on the active instance of PrusaSlicer", names.size())) + ":";
|
||||||
for (std::string& name : names)
|
for (std::string& name : names)
|
||||||
notif_text += "\n - " + name;
|
notif_text += "\n - " + name;
|
||||||
notification_manager->push_notification(NotificationType::CustomNotification,
|
notification_manager->push_notification(NotificationType::CustomNotification,
|
||||||
|
@ -2469,9 +2469,9 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
|
||||||
MessageDialog(q, format_wxstr(_L_PLURAL(
|
MessageDialog(q, format_wxstr(_L_PLURAL(
|
||||||
"Object size from file %s appears to be zero.\n"
|
"Object size from file %s appears to be zero.\n"
|
||||||
"This object has been removed from the model",
|
"This object has been removed from the model",
|
||||||
"Objects size from file %s appear to be zero.\n"
|
"Objects size from file %s appears to be zero.\n"
|
||||||
"These objects have been removed from the model", deleted_objects), from_path(filename)) + "\n",
|
"These objects have been removed from the model", deleted_objects), from_path(filename)) + "\n",
|
||||||
_L("Object size is zero"), wxICON_INFORMATION | wxOK).ShowModal();
|
_L("The size of the object is zero"), wxICON_INFORMATION | wxOK).ShowModal();
|
||||||
}
|
}
|
||||||
if (imperial_units)
|
if (imperial_units)
|
||||||
// Convert even if the object is big.
|
// Convert even if the object is big.
|
||||||
|
@ -2485,9 +2485,9 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
|
||||||
if (answer_convert_from_meters == wxOK_DEFAULT) {
|
if (answer_convert_from_meters == wxOK_DEFAULT) {
|
||||||
RichMessageDialog dlg(q, format_wxstr(_L_PLURAL(
|
RichMessageDialog dlg(q, format_wxstr(_L_PLURAL(
|
||||||
"The dimensions of the object from file %s seem to be defined in meters.\n"
|
"The dimensions of the object from file %s seem to be defined in meters.\n"
|
||||||
"The internal unit of PrusaSlicer are millimeters. Do you want to recalculate the dimensions of the object?",
|
"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate the dimensions of the object?",
|
||||||
"The dimensions of some objects from file %s seem to be defined in meters.\n"
|
"The dimensions of some objects from file %s seem to be defined in meters.\n"
|
||||||
"The internal unit of PrusaSlicer are millimeters. Do you want to recalculate the dimensions of these objects?", model.objects.size()), from_path(filename)) + "\n",
|
"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate the dimensions of these objects?", model.objects.size()), from_path(filename)) + "\n",
|
||||||
_L("The object is too small"), wxICON_QUESTION | wxYES_NO);
|
_L("The object is too small"), wxICON_QUESTION | wxYES_NO);
|
||||||
dlg.ShowCheckBox(_L("Apply to all the remaining small objects being loaded."));
|
dlg.ShowCheckBox(_L("Apply to all the remaining small objects being loaded."));
|
||||||
int answer = dlg.ShowModal();
|
int answer = dlg.ShowModal();
|
||||||
|
@ -2507,9 +2507,9 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
|
||||||
if (answer_convert_from_imperial_units == wxOK_DEFAULT) {
|
if (answer_convert_from_imperial_units == wxOK_DEFAULT) {
|
||||||
RichMessageDialog dlg(q, format_wxstr(_L_PLURAL(
|
RichMessageDialog dlg(q, format_wxstr(_L_PLURAL(
|
||||||
"The dimensions of the object from file %s seem to be defined in inches.\n"
|
"The dimensions of the object from file %s seem to be defined in inches.\n"
|
||||||
"The internal unit of PrusaSlicer are millimeters. Do you want to recalculate the dimensions of the object?",
|
"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate the dimensions of the object?",
|
||||||
"The dimensions of some objects from file %s seem to be defined in inches.\n"
|
"The dimensions of some objects from file %s seem to be defined in inches.\n"
|
||||||
"The internal unit of PrusaSlicer are millimeters. Do you want to recalculate the dimensions of these objects?", model.objects.size()), from_path(filename)) + "\n",
|
"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate the dimensions of these objects?", model.objects.size()), from_path(filename)) + "\n",
|
||||||
_L("The object is too small"), wxICON_QUESTION | wxYES_NO);
|
_L("The object is too small"), wxICON_QUESTION | wxYES_NO);
|
||||||
dlg.ShowCheckBox(_L("Apply to all the remaining small objects being loaded."));
|
dlg.ShowCheckBox(_L("Apply to all the remaining small objects being loaded."));
|
||||||
int answer = dlg.ShowModal();
|
int answer = dlg.ShowModal();
|
||||||
|
|
|
@ -218,7 +218,7 @@ void PreferencesDialog::build(size_t selected_tab)
|
||||||
|
|
||||||
m_optgroup_general->append_separator();
|
m_optgroup_general->append_separator();
|
||||||
|
|
||||||
def.label = L("Ask to save unsaved changes when closing the application or when loading a new project.");
|
def.label = L("Ask to save unsaved changes when closing the application or when loading a new project");
|
||||||
def.type = coBool;
|
def.type = coBool;
|
||||||
def.tooltip = L("Always ask for unsaved changes, when: \n"
|
def.tooltip = L("Always ask for unsaved changes, when: \n"
|
||||||
"- Closing PrusaSlicer while some presets are modified,\n"
|
"- Closing PrusaSlicer while some presets are modified,\n"
|
||||||
|
|
|
@ -1478,7 +1478,7 @@ void TabPrint::build()
|
||||||
optgroup = page->new_optgroup(L("Advanced"));
|
optgroup = page->new_optgroup(L("Advanced"));
|
||||||
optgroup->append_single_option_line("seam_position", category_path + "seam-position");
|
optgroup->append_single_option_line("seam_position", category_path + "seam-position");
|
||||||
optgroup->append_single_option_line("external_perimeters_first", category_path + "external-perimeters-first");
|
optgroup->append_single_option_line("external_perimeters_first", category_path + "external-perimeters-first");
|
||||||
optgroup->append_single_option_line("gap_fill_enabled");
|
optgroup->append_single_option_line("gap_fill_enabled", category_path + "fill-gaps");
|
||||||
|
|
||||||
optgroup = page->new_optgroup(L("Fuzzy skin (experimental)"));
|
optgroup = page->new_optgroup(L("Fuzzy skin (experimental)"));
|
||||||
category_path = "fuzzy-skin_246186/#";
|
category_path = "fuzzy-skin_246186/#";
|
||||||
|
@ -1497,12 +1497,14 @@ void TabPrint::build()
|
||||||
optgroup->append_single_option_line("bottom_fill_pattern", category_path + "bottom-fill-pattern");
|
optgroup->append_single_option_line("bottom_fill_pattern", category_path + "bottom-fill-pattern");
|
||||||
|
|
||||||
optgroup = page->new_optgroup(L("Ironing"));
|
optgroup = page->new_optgroup(L("Ironing"));
|
||||||
optgroup->append_single_option_line("ironing");
|
category_path = "ironing_177488#";
|
||||||
optgroup->append_single_option_line("ironing_type");
|
optgroup->append_single_option_line("ironing", category_path);
|
||||||
optgroup->append_single_option_line("ironing_flowrate");
|
optgroup->append_single_option_line("ironing_type", category_path + "ironing-type");
|
||||||
optgroup->append_single_option_line("ironing_spacing");
|
optgroup->append_single_option_line("ironing_flowrate", category_path + "flow-rate");
|
||||||
|
optgroup->append_single_option_line("ironing_spacing", category_path + "spacing-between-ironing-passes");
|
||||||
|
|
||||||
optgroup = page->new_optgroup(L("Reducing printing time"));
|
optgroup = page->new_optgroup(L("Reducing printing time"));
|
||||||
|
category_path = "infill_42#";
|
||||||
optgroup->append_single_option_line("infill_every_layers", category_path + "combine-infill-every-x-layers");
|
optgroup->append_single_option_line("infill_every_layers", category_path + "combine-infill-every-x-layers");
|
||||||
optgroup->append_single_option_line("infill_only_where_needed", category_path + "only-infill-where-needed");
|
optgroup->append_single_option_line("infill_only_where_needed", category_path + "only-infill-where-needed");
|
||||||
|
|
||||||
|
@ -1540,7 +1542,7 @@ void TabPrint::build()
|
||||||
|
|
||||||
optgroup = page->new_optgroup(L("Raft"));
|
optgroup = page->new_optgroup(L("Raft"));
|
||||||
optgroup->append_single_option_line("raft_layers", category_path + "raft-layers");
|
optgroup->append_single_option_line("raft_layers", category_path + "raft-layers");
|
||||||
optgroup->append_single_option_line("raft_contact_distance");
|
optgroup->append_single_option_line("raft_contact_distance", category_path + "raft-layers");
|
||||||
optgroup->append_single_option_line("raft_expansion");
|
optgroup->append_single_option_line("raft_expansion");
|
||||||
|
|
||||||
optgroup = page->new_optgroup(L("Options for support material and raft"));
|
optgroup = page->new_optgroup(L("Options for support material and raft"));
|
||||||
|
@ -3650,8 +3652,8 @@ void Tab::delete_preset()
|
||||||
for (const std::string& printer : ph_printers)
|
for (const std::string& printer : ph_printers)
|
||||||
msg += "\n \"" + from_u8(printer) + "\",";
|
msg += "\n \"" + from_u8(printer) + "\",";
|
||||||
msg.RemoveLast();
|
msg.RemoveLast();
|
||||||
msg += "\n" + _L_PLURAL("Note, that selected preset will be deleted from this printer too.",
|
msg += "\n" + _L_PLURAL("Note, that the selected preset will be deleted from this printer too.",
|
||||||
"Note, that selected preset will be deleted from these printers too.", ph_printers.size()) + "\n\n";
|
"Note, that the selected preset will be deleted from these printers too.", ph_printers.size()) + "\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ph_printers_only.empty()) {
|
if (!ph_printers_only.empty()) {
|
||||||
|
@ -3660,8 +3662,8 @@ void Tab::delete_preset()
|
||||||
for (const std::string& printer : ph_printers_only)
|
for (const std::string& printer : ph_printers_only)
|
||||||
msg += "\n \"" + from_u8(printer) + "\",";
|
msg += "\n \"" + from_u8(printer) + "\",";
|
||||||
msg.RemoveLast();
|
msg.RemoveLast();
|
||||||
msg += "\n" + _L_PLURAL("Note, that this printer will be deleted after deleting of the selected preset.",
|
msg += "\n" + _L_PLURAL("Note, that this printer will be deleted after deleting the selected preset.",
|
||||||
"Note, that these printers will be deleted after deleting of the selected preset.", ph_printers_only.size()) + "\n\n";
|
"Note, that these printers will be deleted after deleting the selected preset.", ph_printers_only.size()) + "\n\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue