From b4e63d47cbd96c36bc0264f924784c97d0d81bcf Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Thu, 26 Apr 2018 11:19:51 +0200 Subject: [PATCH 01/11] Yet another attempt to fix the layer height profile validation --- xs/src/libslic3r/Print.cpp | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/xs/src/libslic3r/Print.cpp b/xs/src/libslic3r/Print.cpp index e692b1e9e..80f68c51b 100644 --- a/xs/src/libslic3r/Print.cpp +++ b/xs/src/libslic3r/Print.cpp @@ -598,10 +598,10 @@ std::string Print::validate() const return "The Wipe Tower is currently only supported with the relative extruder addressing (use_relative_e_distances=1)."; SlicingParameters slicing_params0 = this->objects.front()->slicing_parameters(); - const PrintObject* most_layered_object = this->objects.front(); // object with highest layer_height_profile.size() encountered so far + const PrintObject* tallest_object = this->objects.front(); // let's find the tallest object for (const auto* object : objects) - if (object->layer_height_profile.size() > most_layered_object->layer_height_profile.size()) - most_layered_object = object; + if (*(object->layer_height_profile.end()-2) > *(tallest_object->layer_height_profile.end()-2) ) + tallest_object = object; for (PrintObject *object : this->objects) { SlicingParameters slicing_params = object->slicing_parameters(); @@ -618,17 +618,26 @@ std::string Print::validate() const object->update_layer_height_profile(); object->layer_height_profile_valid = was_layer_height_profile_valid; - if ( this->config.variable_layer_height ) { - int i = 0; - while ( i < object->layer_height_profile.size() ) { - if (std::abs(most_layered_object->layer_height_profile[i] - object->layer_height_profile[i]) > EPSILON) - return "The Wipe tower is only supported if all objects have the same layer height profile"; - ++i; - if (i == object->layer_height_profile.size()-2) // this element contains the objects max z, if the other object is taller, - // it does not have to match - we will step over it - if (most_layered_object->layer_height_profile[i] > object->layer_height_profile[i]) - ++i; + if ( this->config.variable_layer_height ) { // comparing layer height profiles + bool failed = false; + if (tallest_object->layer_height_profile.size() >= object->layer_height_profile.size() ) { + int i = 0; + while ( i < object->layer_height_profile.size() && i < tallest_object->layer_height_profile.size()) { + if (std::abs(tallest_object->layer_height_profile[i] - object->layer_height_profile[i])) { + failed = true; + break; + } + ++i; + if (i == object->layer_height_profile.size()-2) // this element contains this objects max z + if (tallest_object->layer_height_profile[i] > object->layer_height_profile[i]) // the difference does not matter in this case + ++i; + } } + else + failed = true; + + if (failed) + return "The Wipe tower is only supported if all objects have the same layer height profile"; } /*for (size_t i = 5; i < object->layer_height_profile.size(); i += 2) From de0d1f34f3f13701d38d9dfb83e26feca1ded63f Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 2 May 2018 10:52:17 +0200 Subject: [PATCH 02/11] Label in filament settings changed --- xs/src/slic3r/GUI/Tab.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xs/src/slic3r/GUI/Tab.cpp b/xs/src/slic3r/GUI/Tab.cpp index bb1d938a8..96419f6c8 100644 --- a/xs/src/slic3r/GUI/Tab.cpp +++ b/xs/src/slic3r/GUI/Tab.cpp @@ -1311,7 +1311,7 @@ void TabFilament::build() }; optgroup->append_line(line); - optgroup = page->new_optgroup(_(L("Toolchange behaviour"))); + optgroup = page->new_optgroup(_(L("Toolchange parameters with single extruder MM printers"))); optgroup->append_single_option_line("filament_loading_speed"); optgroup->append_single_option_line("filament_unloading_speed"); optgroup->append_single_option_line("filament_toolchange_delay"); From e9b83a20d0733a1f606ed61726d99bae4f8f6f09 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Wed, 2 May 2018 12:44:53 +0200 Subject: [PATCH 03/11] ConfigWizard: Add additional logging --- xs/src/slic3r/GUI/ConfigWizard.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/xs/src/slic3r/GUI/ConfigWizard.cpp b/xs/src/slic3r/GUI/ConfigWizard.cpp index 84f401ba1..1217f8683 100644 --- a/xs/src/slic3r/GUI/ConfigWizard.cpp +++ b/xs/src/slic3r/GUI/ConfigWizard.cpp @@ -4,6 +4,8 @@ #include #include +#include + #include #include #include @@ -741,9 +743,12 @@ void ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *prese if (install_bundles.size() > 0) { // Install bundles from resources. updater->install_bundles_rsrc(std::move(install_bundles), snapshot); + } else { + BOOST_LOG_TRIVIAL(info) << "No bundles need to be installed from resources"; } if (page_welcome->reset_user_profile()) { + BOOST_LOG_TRIVIAL(info) << "Resetting user profiles..."; preset_bundle->reset(true); } @@ -828,10 +833,13 @@ ConfigWizard::~ConfigWizard() {} bool ConfigWizard::run(PresetBundle *preset_bundle, const PresetUpdater *updater) { + BOOST_LOG_TRIVIAL(info) << "Running ConfigWizard, reason: " << p->run_reason; if (ShowModal() == wxID_OK) { p->apply_config(GUI::get_app_config(), preset_bundle, updater); + BOOST_LOG_TRIVIAL(info) << "ConfigWizard applied"; return true; } else { + BOOST_LOG_TRIVIAL(info) << "ConfigWizard cancelled"; return false; } } From 97a948fa522bab8c9ac0a8b4de62c3fe21e1e396 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Wed, 2 May 2018 12:27:46 +0200 Subject: [PATCH 04/11] Fix Perl path MSVC props file #857 --- cmake/msvc/{xs.wperl64d.props => xs.wperl64d.props.in} | 10 +++++++--- xs/CMakeLists.txt | 7 ++++++- 2 files changed, 13 insertions(+), 4 deletions(-) rename cmake/msvc/{xs.wperl64d.props => xs.wperl64d.props.in} (61%) diff --git a/cmake/msvc/xs.wperl64d.props b/cmake/msvc/xs.wperl64d.props.in similarity index 61% rename from cmake/msvc/xs.wperl64d.props rename to cmake/msvc/xs.wperl64d.props.in index b604a56e2..5c7461dc7 100644 --- a/cmake/msvc/xs.wperl64d.props +++ b/cmake/msvc/xs.wperl64d.props.in @@ -1,18 +1,22 @@ + - $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(FxCopDir);$(PATH);c:\wperl64d\bin\; + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(FxCopDir);$(PATH);${PROPS_PERL_BIN_PATH}\; - C:\wperl64d\bin\perl.exe + ${PROPS_PERL_EXECUTABLE} slic3r.pl WindowsLocalDebugger - ..\.. + ${PROPS_CMAKE_SOURCE_DIR} diff --git a/xs/CMakeLists.txt b/xs/CMakeLists.txt index abd9c3617..238a0df34 100644 --- a/xs/CMakeLists.txt +++ b/xs/CMakeLists.txt @@ -647,7 +647,12 @@ endif () if (MSVC) # Here we associate some additional properties with the MSVC project to enable compilation and debugging out of the box. - set_target_properties(XS PROPERTIES VS_USER_PROPS "${PROJECT_SOURCE_DIR}/cmake/msvc/xs.wperl64d.props") + get_filename_component(PROPS_PERL_BIN_PATH "${PERL_EXECUTABLE}" DIRECTORY) + string(REPLACE "/" "\\" PROPS_PERL_BIN_PATH "${PROPS_PERL_BIN_PATH}") + string(REPLACE "/" "\\" PROPS_PERL_EXECUTABLE "${PERL_EXECUTABLE}") + string(REPLACE "/" "\\" PROPS_CMAKE_SOURCE_DIR "${CMAKE_SOURCE_DIR}") + configure_file("${PROJECT_SOURCE_DIR}/cmake/msvc/xs.wperl64d.props.in" "${CMAKE_BINARY_DIR}/xs.wperl64d.props" NEWLINE_STYLE CRLF) + set_target_properties(XS PROPERTIES VS_USER_PROPS "${CMAKE_BINARY_DIR}/xs.wperl64d.props") endif() # l10n From 9d9bcfe03f641c0d951cbf603df27282b55ca347 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Wed, 2 May 2018 13:03:04 +0200 Subject: [PATCH 05/11] MSVC: Rename props file #857 --- cmake/msvc/{xs.wperl64d.props.in => xs.wperl.props.in} | 0 xs/CMakeLists.txt | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename cmake/msvc/{xs.wperl64d.props.in => xs.wperl.props.in} (100%) diff --git a/cmake/msvc/xs.wperl64d.props.in b/cmake/msvc/xs.wperl.props.in similarity index 100% rename from cmake/msvc/xs.wperl64d.props.in rename to cmake/msvc/xs.wperl.props.in diff --git a/xs/CMakeLists.txt b/xs/CMakeLists.txt index 238a0df34..b8d786937 100644 --- a/xs/CMakeLists.txt +++ b/xs/CMakeLists.txt @@ -651,8 +651,8 @@ if (MSVC) string(REPLACE "/" "\\" PROPS_PERL_BIN_PATH "${PROPS_PERL_BIN_PATH}") string(REPLACE "/" "\\" PROPS_PERL_EXECUTABLE "${PERL_EXECUTABLE}") string(REPLACE "/" "\\" PROPS_CMAKE_SOURCE_DIR "${CMAKE_SOURCE_DIR}") - configure_file("${PROJECT_SOURCE_DIR}/cmake/msvc/xs.wperl64d.props.in" "${CMAKE_BINARY_DIR}/xs.wperl64d.props" NEWLINE_STYLE CRLF) - set_target_properties(XS PROPERTIES VS_USER_PROPS "${CMAKE_BINARY_DIR}/xs.wperl64d.props") + configure_file("${PROJECT_SOURCE_DIR}/cmake/msvc/xs.wperl.props.in" "${CMAKE_BINARY_DIR}/xs.wperl.props" NEWLINE_STYLE CRLF) + set_target_properties(XS PROPERTIES VS_USER_PROPS "${CMAKE_BINARY_DIR}/xs.wperl.props") endif() # l10n From e2e4310322badc30a7d62ce9d2744f117f5126c9 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 2 May 2018 13:55:04 +0200 Subject: [PATCH 06/11] Removed unneeded scene reloads when selecting objects --- lib/Slic3r/GUI/3DScene.pm | 6 +++++- lib/Slic3r/GUI/Plater.pm | 15 ++++++++++----- lib/Slic3r/GUI/Plater/3D.pm | 23 +++++++++++++++++++---- lib/Slic3r/GUI/Plater/ObjectCutDialog.pm | 1 - lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm | 1 - 5 files changed, 34 insertions(+), 12 deletions(-) diff --git a/lib/Slic3r/GUI/3DScene.pm b/lib/Slic3r/GUI/3DScene.pm index 352a61264..59b5367b5 100644 --- a/lib/Slic3r/GUI/3DScene.pm +++ b/lib/Slic3r/GUI/3DScene.pm @@ -1152,7 +1152,11 @@ sub InitGL { $self->volumes->finalize_geometry(1) if ($^O eq 'linux' && $self->UseVBOs); - $self->zoom_to_bed; + if (scalar @{$self->volumes} > 0) { + $self->zoom_to_volumes; + } else { + $self->zoom_to_bed; + } glClearColor(0, 0, 0, 1); glColor3f(1, 0, 0); diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 4a013bf2d..79f251b05 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -1809,8 +1809,7 @@ sub list_item_deselected { if ($self->{list}->GetFirstSelected == -1) { $self->select_object(undef); $self->{canvas}->Refresh; - #FIXME VBOs are being refreshed just to change a selection color? - $self->{canvas3D}->reload_scene if $self->{canvas3D}; + $self->{canvas3D}->deselect_volumes if $self->{canvas3D}; } undef $self->{_lecursor}; } @@ -1822,8 +1821,7 @@ sub list_item_selected { my $obj_idx = $event->GetIndex; $self->select_object($obj_idx); $self->{canvas}->Refresh; - #FIXME VBOs are being refreshed just to change a selection color? - $self->{canvas3D}->reload_scene if $self->{canvas3D}; + $self->{canvas3D}->update_volumes_selection if $self->{canvas3D}; undef $self->{_lecursor}; } @@ -2015,8 +2013,15 @@ sub selection_changed { sub select_object { my ($self, $obj_idx) = @_; + + # remove current selection + foreach my $o (0..$#{$self->{objects}}) { + $PreventListEvents = 1; + $self->{objects}->[$o]->selected(0); + $self->{list}->Select($o, 0); + $PreventListEvents = 0; + } - $_->selected(0) for @{ $self->{objects} }; if (defined $obj_idx) { $self->{objects}->[$obj_idx]->selected(1); # We use this flag to avoid circular event handling diff --git a/lib/Slic3r/GUI/Plater/3D.pm b/lib/Slic3r/GUI/Plater/3D.pm index dce60e2c4..ced6fb82e 100644 --- a/lib/Slic3r/GUI/Plater/3D.pm +++ b/lib/Slic3r/GUI/Plater/3D.pm @@ -31,7 +31,9 @@ sub new { $self->{on_select_object} = sub {}; $self->{on_instances_moved} = sub {}; $self->{on_wipe_tower_moved} = sub {}; - + + $self->{objects_volumes_idxs} = (); + $self->on_select(sub { my ($volume_idx) = @_; $self->{on_select_object}->(($volume_idx == -1) ? undef : $self->volumes->[$volume_idx]->object_idx) @@ -181,6 +183,17 @@ sub set_on_enable_action_buttons { $self->on_enable_action_buttons($cb); } +sub update_volumes_selection { + my ($self) = @_; + + foreach my $obj_idx (0..$#{$self->{model}->objects}) { + if ($self->{objects}[$obj_idx]->selected) { + my @volume_idxs = @{$self->{objects_volumes_idxs}[$obj_idx]}; + $self->select_volume($_) for @volume_idxs; + } + } +} + sub reload_scene { my ($self, $force) = @_; @@ -194,12 +207,14 @@ sub reload_scene { $self->{reload_delayed} = 0; + $self->{objects_volumes_idxs} = (); foreach my $obj_idx (0..$#{$self->{model}->objects}) { my @volume_idxs = $self->load_object($self->{model}, $self->{print}, $obj_idx); - if ($self->{objects}[$obj_idx]->selected) { - $self->select_volume($_) for @volume_idxs; - } + push(@{$self->{objects_volumes_idxs}}, \@volume_idxs); } + + $self->update_volumes_selection; + if (defined $self->{config}->nozzle_diameter) { # Should the wipe tower be visualized? my $extruders_count = scalar @{ $self->{config}->nozzle_diameter }; diff --git a/lib/Slic3r/GUI/Plater/ObjectCutDialog.pm b/lib/Slic3r/GUI/Plater/ObjectCutDialog.pm index 0cc8b2dec..4d55e313a 100644 --- a/lib/Slic3r/GUI/Plater/ObjectCutDialog.pm +++ b/lib/Slic3r/GUI/Plater/ObjectCutDialog.pm @@ -116,7 +116,6 @@ sub new { $canvas->set_auto_bed_shape; $canvas->SetSize([500,500]); $canvas->SetMinSize($canvas->GetSize); - $canvas->zoom_to_volumes; } $self->{sizer} = Wx::BoxSizer->new(wxHORIZONTAL); diff --git a/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm b/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm index f7e38ed87..28e3bf92b 100644 --- a/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm +++ b/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm @@ -163,7 +163,6 @@ sub new { $canvas->set_auto_bed_shape; $canvas->SetSize([500,700]); $canvas->update_volumes_colors_by_extruder($self->GetParent->GetParent->GetParent->{config}); - $canvas->zoom_to_volumes; } $self->{sizer} = Wx::BoxSizer->new(wxHORIZONTAL); From cb486522a80737e63175e79e841ad31380aa88c3 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 2 May 2018 14:55:17 +0200 Subject: [PATCH 07/11] Fixed crash when pressing 'A' with empty print bed --- xs/src/libslic3r/Model.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xs/src/libslic3r/Model.cpp b/xs/src/libslic3r/Model.cpp index aaea863e8..a43bf0221 100644 --- a/xs/src/libslic3r/Model.cpp +++ b/xs/src/libslic3r/Model.cpp @@ -269,6 +269,10 @@ TriangleMesh Model::mesh() const static bool _arrange(const Pointfs &sizes, coordf_t dist, const BoundingBoxf* bb, Pointfs &out) { + if (sizes.empty()) + // return if the list is empty or the following call to BoundingBoxf constructor will lead to a crash + return true; + // we supply unscaled data to arrange() bool result = Slic3r::Geometry::arrange( sizes.size(), // number of parts From 16d5faac2000fc6f210e61e18d225ecf4db84c83 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 2 May 2018 13:20:36 +0200 Subject: [PATCH 08/11] Preparations to the localization update & new Slic3rPE.pot --- lib/Slic3r/GUI/Plater.pm | 4 +- resources/localization/Slic3rPE.pot | 2715 +++++++++++++------- resources/localization/list.txt | 14 +- xs/src/slic3r/GUI/AboutDialog.cpp | 2 +- xs/src/slic3r/GUI/BonjourDialog.cpp | 2 +- xs/src/slic3r/GUI/ButtonsDescription.cpp | 2 +- xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp | 33 +- xs/src/slic3r/GUI/ConfigSnapshotDialog.hpp | 2 +- xs/src/slic3r/GUI/GUI.cpp | 17 +- xs/src/slic3r/GUI/Preferences.cpp | 6 + xs/src/slic3r/GUI/Preferences.hpp | 3 +- xs/src/slic3r/GUI/Preset.cpp | 17 +- xs/src/slic3r/GUI/PresetBundle.cpp | 9 +- xs/src/slic3r/GUI/RammingChart.cpp | 6 +- xs/src/slic3r/GUI/Tab.cpp | 5 +- xs/src/slic3r/GUI/WipeTowerDialog.cpp | 12 +- 16 files changed, 1864 insertions(+), 985 deletions(-) diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 4a013bf2d..ac1a1f0be 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -549,8 +549,8 @@ sub _on_select_preset { return if ($selected_item == $self->{"selected_item_$group"}); my $selected_string = $choice->GetString($selected_item); - if ($selected_string eq "------- System presets -------" || - $selected_string eq "------- User presets -------"){ + if ($selected_string eq ("------- ".L("System presets")." -------") || + $selected_string eq ("------- ".L("User presets")." -------") ){ $choice->SetSelection($self->{"selected_item_$group"}); return; } diff --git a/resources/localization/Slic3rPE.pot b/resources/localization/Slic3rPE.pot index 0282e7aae..e4b9e2567 100644 --- a/resources/localization/Slic3rPE.pot +++ b/resources/localization/Slic3rPE.pot @@ -3,20 +3,26 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-14 15:32+0100\n" +"POT-Creation-Date: 2018-05-02 15:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: xs/src/slic3r/GUI/AboutDialog.cpp:32 +msgid "About Slic3r" +msgstr "" + +#: xs/src/slic3r/GUI/AboutDialog.cpp:60 +msgid "Version" +msgstr "" + #: xs/src/slic3r/GUI/BedShapeDialog.cpp:39 msgid "Shape" msgstr "" @@ -25,8 +31,8 @@ msgstr "" msgid "Rectangular" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:50 xs/src/slic3r/GUI/Tab.cpp:1270 -#: lib/Slic3r/GUI/Plater.pm:411 +#: xs/src/slic3r/GUI/BedShapeDialog.cpp:50 xs/src/slic3r/GUI/Tab.cpp:1738 +#: lib/Slic3r/GUI/Plater.pm:421 msgid "Size" msgstr "" @@ -48,25 +54,34 @@ msgstr "" msgid "Circular" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:65 xs/src/libslic3r/PrintConfig.cpp:129 -#: xs/src/libslic3r/PrintConfig.cpp:200 xs/src/libslic3r/PrintConfig.cpp:211 -#: xs/src/libslic3r/PrintConfig.cpp:325 xs/src/libslic3r/PrintConfig.cpp:336 -#: xs/src/libslic3r/PrintConfig.cpp:355 xs/src/libslic3r/PrintConfig.cpp:434 -#: xs/src/libslic3r/PrintConfig.cpp:781 xs/src/libslic3r/PrintConfig.cpp:801 -#: xs/src/libslic3r/PrintConfig.cpp:860 xs/src/libslic3r/PrintConfig.cpp:878 -#: xs/src/libslic3r/PrintConfig.cpp:896 xs/src/libslic3r/PrintConfig.cpp:1051 -#: xs/src/libslic3r/PrintConfig.cpp:1059 xs/src/libslic3r/PrintConfig.cpp:1101 -#: xs/src/libslic3r/PrintConfig.cpp:1110 xs/src/libslic3r/PrintConfig.cpp:1120 -#: xs/src/libslic3r/PrintConfig.cpp:1128 xs/src/libslic3r/PrintConfig.cpp:1136 -#: xs/src/libslic3r/PrintConfig.cpp:1222 xs/src/libslic3r/PrintConfig.cpp:1428 -#: xs/src/libslic3r/PrintConfig.cpp:1498 xs/src/libslic3r/PrintConfig.cpp:1534 -#: xs/src/libslic3r/PrintConfig.cpp:1711 xs/src/libslic3r/PrintConfig.cpp:1718 -#: xs/src/libslic3r/PrintConfig.cpp:1725 xs/src/libslic3r/PrintConfig.cpp:1734 -#: xs/src/libslic3r/PrintConfig.cpp:1744 xs/src/libslic3r/PrintConfig.cpp:1754 +#: xs/src/slic3r/GUI/BedShapeDialog.cpp:65 +#: xs/src/slic3r/GUI/ConfigWizard.cpp:85 +#: xs/src/slic3r/GUI/ConfigWizard.cpp:432 +#: xs/src/slic3r/GUI/ConfigWizard.cpp:446 +#: xs/src/slic3r/GUI/RammingChart.cpp:86 +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:84 +#: xs/src/libslic3r/PrintConfig.cpp:129 xs/src/libslic3r/PrintConfig.cpp:172 +#: xs/src/libslic3r/PrintConfig.cpp:180 xs/src/libslic3r/PrintConfig.cpp:228 +#: xs/src/libslic3r/PrintConfig.cpp:239 xs/src/libslic3r/PrintConfig.cpp:353 +#: xs/src/libslic3r/PrintConfig.cpp:364 xs/src/libslic3r/PrintConfig.cpp:383 +#: xs/src/libslic3r/PrintConfig.cpp:496 xs/src/libslic3r/PrintConfig.cpp:850 +#: xs/src/libslic3r/PrintConfig.cpp:870 xs/src/libslic3r/PrintConfig.cpp:878 +#: xs/src/libslic3r/PrintConfig.cpp:936 xs/src/libslic3r/PrintConfig.cpp:954 +#: xs/src/libslic3r/PrintConfig.cpp:972 xs/src/libslic3r/PrintConfig.cpp:1034 +#: xs/src/libslic3r/PrintConfig.cpp:1151 xs/src/libslic3r/PrintConfig.cpp:1159 +#: xs/src/libslic3r/PrintConfig.cpp:1201 xs/src/libslic3r/PrintConfig.cpp:1210 +#: xs/src/libslic3r/PrintConfig.cpp:1220 xs/src/libslic3r/PrintConfig.cpp:1228 +#: xs/src/libslic3r/PrintConfig.cpp:1236 xs/src/libslic3r/PrintConfig.cpp:1322 +#: xs/src/libslic3r/PrintConfig.cpp:1528 xs/src/libslic3r/PrintConfig.cpp:1598 +#: xs/src/libslic3r/PrintConfig.cpp:1632 xs/src/libslic3r/PrintConfig.cpp:1828 +#: xs/src/libslic3r/PrintConfig.cpp:1835 xs/src/libslic3r/PrintConfig.cpp:1842 +#: xs/src/libslic3r/PrintConfig.cpp:1856 xs/src/libslic3r/PrintConfig.cpp:1866 +#: xs/src/libslic3r/PrintConfig.cpp:1876 msgid "mm" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:66 xs/src/libslic3r/PrintConfig.cpp:431 +#: xs/src/slic3r/GUI/BedShapeDialog.cpp:66 +#: xs/src/libslic3r/PrintConfig.cpp:493 msgid "Diameter" msgstr "" @@ -77,8 +92,8 @@ msgid "" msgstr "" #: xs/src/slic3r/GUI/BedShapeDialog.cpp:71 -#: xs/src/libslic3r/GCode/PreviewData.cpp:150 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:92 +#: xs/src/libslic3r/GCode/PreviewData.cpp:170 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:95 msgid "Custom" msgstr "" @@ -90,300 +105,730 @@ msgstr "" msgid "Settings" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:298 +#: xs/src/slic3r/GUI/BedShapeDialog.cpp:299 msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:315 +#: xs/src/slic3r/GUI/BedShapeDialog.cpp:316 msgid "Error! " msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:324 +#: xs/src/slic3r/GUI/BedShapeDialog.cpp:325 msgid "The selected file contains no geometry." msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.cpp:328 +#: xs/src/slic3r/GUI/BedShapeDialog.cpp:329 msgid "" "The selected file contains several disjoint areas. This is not supported." msgstr "" -#: xs/src/slic3r/GUI/BedShapeDialog.hpp:42 +#: xs/src/slic3r/GUI/BedShapeDialog.hpp:44 +#: xs/src/slic3r/GUI/ConfigWizard.cpp:395 msgid "Bed Shape" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:234 +#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 +msgid "Network lookup" +msgstr "" + +#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 +msgid "Address" +msgstr "" + +#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 +msgid "Hostname" +msgstr "" + +#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 +msgid "Service name" +msgstr "" + +#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 +msgid "OctoPrint version" +msgstr "" + +#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 +msgid "Searching for devices" +msgstr "" + +#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 +msgid "Finished" +msgstr "" + +#: xs/src/slic3r/GUI/ButtonsDescription.cpp:13 +msgid "Buttons And Text Colors Description" +msgstr "" + +#: xs/src/slic3r/GUI/ButtonsDescription.cpp:38 +msgid "Value is the same as the system value" +msgstr "" + +#: xs/src/slic3r/GUI/ButtonsDescription.cpp:55 +msgid "" +"Value was changed and is not equal to the system value or the last saved " +"preset" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:15 +msgid "Upgrade" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 +msgid "Downgrade" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 +msgid "Before roll back" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 +msgid "User" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:24 +msgid "Unknown" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:36 +msgid "Active: " +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:42 +msgid "slic3r version" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:43 +msgid "print" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 +msgid "filaments" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 +msgid "printer" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 xs/src/slic3r/GUI/Tab.cpp:755 +msgid "vendor" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:49 +msgid "version" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 +msgid "min slic3r version" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 +msgid "max slic3r version" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 +msgid "model" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 +msgid "variants" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 +msgid "Incompatible with this Slic3r" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:70 +msgid "Activate" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp:96 xs/src/slic3r/GUI/GUI.cpp:402 +msgid "Configuration Snapshots" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:85 +msgid "nozzle" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:103 +msgid "Select all" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:104 +msgid "Select none" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 +#, possible-c-format +msgid "Welcome to the Slic3r %s" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:205 +msgid "Welcome" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:211 xs/src/slic3r/GUI/GUI.cpp:399 +#, possible-c-format +msgid "Run %s" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:213 +#, possible-c-format +msgid "" +"Hello, welcome to Slic3r Prusa Edition! This %s helps you with the initial " +"configuration; just a few settings and you will be ready to print." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:217 +msgid "" +"Remove user profiles - install from scratch (a snapshot will be taken " +"beforehand)" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:238 +msgid "Other vendors" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:240 +msgid "Custom setup" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 +msgid "Automatic updates" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:264 +msgid "Updates" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:272 xs/src/slic3r/GUI/Preferences.cpp:59 +msgid "Check for application updates" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:275 xs/src/slic3r/GUI/Preferences.cpp:61 +msgid "" +"If enabled, Slic3r checks for new versions of Slic3r PE online. When a new " +"version becomes available a notification is displayed at the next " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:279 xs/src/slic3r/GUI/Preferences.cpp:67 +msgid "Update built-in Presets automatically" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:282 xs/src/slic3r/GUI/Preferences.cpp:69 +msgid "" +"If enabled, Slic3r downloads updates of built-in system presets in the " +"background. These updates are downloaded into a separate temporary location. " +"When a new preset version becomes available it is offered at application " +"startup." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:283 +msgid "" +"Updates are never applied without user's consent and never overwrite user's " +"customized settings." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:288 +msgid "" +"Additionally a backup snapshot of the whole configuration is created before " +"an update is applied." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:295 +msgid "Other Vendors" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:297 +msgid "Pick another vendor supported by Slic3r PE:" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:356 +msgid "Firmware Type" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:356 xs/src/slic3r/GUI/Tab.cpp:1625 +msgid "Firmware" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:360 +msgid "Choose the type of firmware used by your printer." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:395 +msgid "Bed Shape and Size" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:398 +msgid "Set the shape of your printer's bed." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 +msgid "Filament and Nozzle Diameters" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:412 +msgid "Print Diameters" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:428 +msgid "Enter the diameter of your printer's hot end nozzle." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:431 +msgid "Nozzle Diameter:" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:441 +msgid "Enter the diameter of your filament." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:442 +msgid "" +"Good precision is required, so use a caliper and do multiple measurements " +"along the filament, then compute the average." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:445 +msgid "Filament Diameter:" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 +msgid "Extruder and Bed Temperatures" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:463 +msgid "Temperatures" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:479 +msgid "Enter the temperature needed for extruding your filament." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:480 +msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:483 +msgid "Extrusion Temperature:" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:484 +#: xs/src/slic3r/GUI/ConfigWizard.cpp:498 +msgid "°C" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:493 +msgid "" +"Enter the bed temperature needed for getting your filament to stick to your " +"heated bed." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:494 +msgid "" +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " +"no heated bed." +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:497 +msgid "Bed Temperature:" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:791 +msgid "&Finish" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:844 +msgid "Configuration Wizard" +msgstr "" + +#: xs/src/slic3r/GUI/ConfigWizard.cpp:846 +msgid "Configuration Assistant" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:285 msgid "Array of language names and identifiers should have the same size." msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:245 +#: xs/src/slic3r/GUI/GUI.cpp:296 msgid "Select the language" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:245 +#: xs/src/slic3r/GUI/GUI.cpp:296 msgid "Language" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:312 xs/src/libslic3r/PrintConfig.cpp:170 +#: xs/src/slic3r/GUI/GUI.cpp:363 xs/src/libslic3r/PrintConfig.cpp:186 msgid "Default" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:337 +#: xs/src/slic3r/GUI/GUI.cpp:402 +msgid "Inspect / activate configuration snapshots" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:403 +msgid "Take Configuration Snapshot" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:403 +msgid "Capture a configuration snapshot" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:404 +msgid "Check for updates" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:404 +msgid "Check for configuration updates" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:406 xs/src/slic3r/GUI/Preferences.cpp:9 +msgid "Preferences" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:406 +msgid "Application preferences" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:408 msgid "Change Application Language" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:344 +#: xs/src/slic3r/GUI/GUI.cpp:417 +msgid "Taking configuration snapshot" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:417 +msgid "Snapshot name" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:456 msgid "Application will be restarted" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:344 +#: xs/src/slic3r/GUI/GUI.cpp:456 msgid "Attention!" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:351 -msgid "&Localization" +#: xs/src/slic3r/GUI/GUI.cpp:466 +msgid "&Configuration" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:494 lib/Slic3r/GUI/MainFrame.pm:465 -#: lib/Slic3r/GUI/Plater.pm:1304 -msgid "Error" +#: xs/src/slic3r/GUI/GUI.cpp:485 +msgid "You have unsaved changes " msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:499 +#: xs/src/slic3r/GUI/GUI.cpp:485 +msgid ". Discard changes and continue anyway?" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:486 +msgid "Unsaved Presets" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:683 msgid "Notice" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:504 -msgid "GLUquadricObjPtr | Attempt to free unreferenced scalar" +#: xs/src/slic3r/GUI/GUI.cpp:688 +msgid "Attempt to free unreferenced scalar" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:506 +#: xs/src/slic3r/GUI/GUI.cpp:690 xs/src/slic3r/GUI/WipeTowerDialog.cpp:44 +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:326 msgid "Warning" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:655 +#: xs/src/slic3r/GUI/GUI.cpp:879 msgid "Support" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:658 +#: xs/src/slic3r/GUI/GUI.cpp:882 msgid "Select what kind of support do you need" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:659 xs/src/libslic3r/GCode/PreviewData.cpp:137 +#: xs/src/slic3r/GUI/GUI.cpp:883 xs/src/libslic3r/GCode/PreviewData.cpp:157 msgid "None" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:660 xs/src/libslic3r/PrintConfig.cpp:1415 +#: xs/src/slic3r/GUI/GUI.cpp:884 xs/src/libslic3r/PrintConfig.cpp:1515 msgid "Support on build plate only" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:661 +#: xs/src/slic3r/GUI/GUI.cpp:885 msgid "Everywhere" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:673 xs/src/slic3r/GUI/Tab.cpp:441 +#: xs/src/slic3r/GUI/GUI.cpp:897 xs/src/slic3r/GUI/Tab.cpp:869 msgid "Brim" msgstr "" -#: xs/src/slic3r/GUI/GUI.cpp:675 +#: xs/src/slic3r/GUI/GUI.cpp:899 msgid "" "This flag enables the brim that will be printed around each object on the " "first layer." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:57 +#: xs/src/slic3r/GUI/GUI.cpp:908 +msgid "Purging volumes" +msgstr "" + +#: xs/src/slic3r/GUI/GUI.cpp:950 +msgid "Export print config" +msgstr "" + +#: xs/src/slic3r/GUI/MsgDialog.cpp:64 +msgid "Slic3r error" +msgstr "" + +#: xs/src/slic3r/GUI/MsgDialog.cpp:64 +msgid "Slic3r has encountered an error" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:100 msgid "Save current " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:58 +#: xs/src/slic3r/GUI/Tab.cpp:101 msgid "Delete this preset" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:383 +#: xs/src/slic3r/GUI/Tab.cpp:113 +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:741 +msgid "It's a default preset." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:742 +msgid "It's a system preset." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:743 +msgid "Current preset is inherited from " +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:748 +msgid "It can't be deleted or modified. " +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:749 +msgid "" +"Any modifications should be saved as a new preset inherited from this one. " +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:750 +msgid "To do that please specify a new name for the preset." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:754 +msgid "Additional information:" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:762 +msgid "printer model" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:764 +msgid "default print profile" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:767 +msgid "default filament profile" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:811 msgid "Layers and perimeters" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:384 xs/src/libslic3r/PrintConfig.cpp:777 +#: xs/src/slic3r/GUI/Tab.cpp:812 xs/src/libslic3r/PrintConfig.cpp:846 msgid "Layer height" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:388 +#: xs/src/slic3r/GUI/Tab.cpp:816 msgid "Vertical shells" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:399 +#: xs/src/slic3r/GUI/Tab.cpp:827 msgid "Horizontal shells" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:400 xs/src/libslic3r/PrintConfig.cpp:1321 +#: xs/src/slic3r/GUI/Tab.cpp:828 xs/src/libslic3r/PrintConfig.cpp:1421 msgid "Solid layers" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:405 +#: xs/src/slic3r/GUI/Tab.cpp:833 msgid "Quality (slower slicing)" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:412 xs/src/slic3r/GUI/Tab.cpp:426 -#: xs/src/slic3r/GUI/Tab.cpp:519 xs/src/slic3r/GUI/Tab.cpp:522 -#: xs/src/slic3r/GUI/Tab.cpp:905 xs/src/slic3r/GUI/Tab.cpp:1191 -#: xs/src/libslic3r/PrintConfig.cpp:107 xs/src/libslic3r/PrintConfig.cpp:208 -#: xs/src/libslic3r/PrintConfig.cpp:736 xs/src/libslic3r/PrintConfig.cpp:1740 +#: xs/src/slic3r/GUI/Tab.cpp:840 xs/src/slic3r/GUI/Tab.cpp:854 +#: xs/src/slic3r/GUI/Tab.cpp:948 xs/src/slic3r/GUI/Tab.cpp:951 +#: xs/src/slic3r/GUI/Tab.cpp:1300 xs/src/slic3r/GUI/Tab.cpp:1628 +#: xs/src/libslic3r/PrintConfig.cpp:107 xs/src/libslic3r/PrintConfig.cpp:236 +#: xs/src/libslic3r/PrintConfig.cpp:798 xs/src/libslic3r/PrintConfig.cpp:1862 msgid "Advanced" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:416 xs/src/slic3r/GUI/Tab.cpp:417 -#: xs/src/slic3r/GUI/Tab.cpp:735 xs/src/libslic3r/PrintConfig.cpp:87 -#: xs/src/libslic3r/PrintConfig.cpp:247 xs/src/libslic3r/PrintConfig.cpp:488 -#: xs/src/libslic3r/PrintConfig.cpp:502 xs/src/libslic3r/PrintConfig.cpp:540 -#: xs/src/libslic3r/PrintConfig.cpp:681 xs/src/libslic3r/PrintConfig.cpp:691 -#: xs/src/libslic3r/PrintConfig.cpp:709 xs/src/libslic3r/PrintConfig.cpp:727 -#: xs/src/libslic3r/PrintConfig.cpp:746 xs/src/libslic3r/PrintConfig.cpp:1270 -#: xs/src/libslic3r/PrintConfig.cpp:1287 +#: xs/src/slic3r/GUI/Tab.cpp:844 xs/src/slic3r/GUI/Tab.cpp:845 +#: xs/src/slic3r/GUI/Tab.cpp:1152 xs/src/libslic3r/PrintConfig.cpp:87 +#: xs/src/libslic3r/PrintConfig.cpp:275 xs/src/libslic3r/PrintConfig.cpp:550 +#: xs/src/libslic3r/PrintConfig.cpp:564 xs/src/libslic3r/PrintConfig.cpp:602 +#: xs/src/libslic3r/PrintConfig.cpp:743 xs/src/libslic3r/PrintConfig.cpp:753 +#: xs/src/libslic3r/PrintConfig.cpp:771 xs/src/libslic3r/PrintConfig.cpp:789 +#: xs/src/libslic3r/PrintConfig.cpp:808 xs/src/libslic3r/PrintConfig.cpp:1370 +#: xs/src/libslic3r/PrintConfig.cpp:1387 msgid "Infill" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:422 +#: xs/src/slic3r/GUI/Tab.cpp:850 msgid "Reducing printing time" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:434 +#: xs/src/slic3r/GUI/Tab.cpp:862 msgid "Skirt and brim" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:435 xs/src/libslic3r/GCode/PreviewData.cpp:146 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:88 +#: xs/src/slic3r/GUI/Tab.cpp:863 xs/src/libslic3r/GCode/PreviewData.cpp:166 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:91 msgid "Skirt" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:444 xs/src/slic3r/GUI/Tab.cpp:445 -#: xs/src/libslic3r/PrintConfig.cpp:191 xs/src/libslic3r/PrintConfig.cpp:1037 -#: xs/src/libslic3r/PrintConfig.cpp:1387 xs/src/libslic3r/PrintConfig.cpp:1394 -#: xs/src/libslic3r/PrintConfig.cpp:1406 xs/src/libslic3r/PrintConfig.cpp:1416 -#: xs/src/libslic3r/PrintConfig.cpp:1424 xs/src/libslic3r/PrintConfig.cpp:1439 -#: xs/src/libslic3r/PrintConfig.cpp:1460 xs/src/libslic3r/PrintConfig.cpp:1471 -#: xs/src/libslic3r/PrintConfig.cpp:1487 xs/src/libslic3r/PrintConfig.cpp:1496 -#: xs/src/libslic3r/PrintConfig.cpp:1505 xs/src/libslic3r/PrintConfig.cpp:1516 -#: xs/src/libslic3r/PrintConfig.cpp:1532 xs/src/libslic3r/PrintConfig.cpp:1540 -#: xs/src/libslic3r/PrintConfig.cpp:1541 xs/src/libslic3r/PrintConfig.cpp:1550 -#: xs/src/libslic3r/PrintConfig.cpp:1558 xs/src/libslic3r/PrintConfig.cpp:1572 -#: xs/src/libslic3r/GCode/PreviewData.cpp:147 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:89 +#: xs/src/slic3r/GUI/Tab.cpp:872 xs/src/slic3r/GUI/Tab.cpp:873 +#: xs/src/libslic3r/PrintConfig.cpp:219 xs/src/libslic3r/PrintConfig.cpp:1137 +#: xs/src/libslic3r/PrintConfig.cpp:1487 xs/src/libslic3r/PrintConfig.cpp:1494 +#: xs/src/libslic3r/PrintConfig.cpp:1506 xs/src/libslic3r/PrintConfig.cpp:1516 +#: xs/src/libslic3r/PrintConfig.cpp:1524 xs/src/libslic3r/PrintConfig.cpp:1539 +#: xs/src/libslic3r/PrintConfig.cpp:1560 xs/src/libslic3r/PrintConfig.cpp:1571 +#: xs/src/libslic3r/PrintConfig.cpp:1587 xs/src/libslic3r/PrintConfig.cpp:1596 +#: xs/src/libslic3r/PrintConfig.cpp:1605 xs/src/libslic3r/PrintConfig.cpp:1616 +#: xs/src/libslic3r/PrintConfig.cpp:1630 xs/src/libslic3r/PrintConfig.cpp:1638 +#: xs/src/libslic3r/PrintConfig.cpp:1639 xs/src/libslic3r/PrintConfig.cpp:1648 +#: xs/src/libslic3r/PrintConfig.cpp:1656 xs/src/libslic3r/PrintConfig.cpp:1670 +#: xs/src/libslic3r/GCode/PreviewData.cpp:167 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:92 msgid "Support material" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:450 +#: xs/src/slic3r/GUI/Tab.cpp:878 msgid "Raft" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:454 +#: xs/src/slic3r/GUI/Tab.cpp:882 msgid "Options for support material and raft" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:468 xs/src/libslic3r/PrintConfig.cpp:118 -#: xs/src/libslic3r/PrintConfig.cpp:278 xs/src/libslic3r/PrintConfig.cpp:635 -#: xs/src/libslic3r/PrintConfig.cpp:747 xs/src/libslic3r/PrintConfig.cpp:986 -#: xs/src/libslic3r/PrintConfig.cpp:1208 xs/src/libslic3r/PrintConfig.cpp:1258 -#: xs/src/libslic3r/PrintConfig.cpp:1309 xs/src/libslic3r/PrintConfig.cpp:1632 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 +#: xs/src/slic3r/GUI/Tab.cpp:896 xs/src/libslic3r/PrintConfig.cpp:118 +#: xs/src/libslic3r/PrintConfig.cpp:306 xs/src/libslic3r/PrintConfig.cpp:697 +#: xs/src/libslic3r/PrintConfig.cpp:809 xs/src/libslic3r/PrintConfig.cpp:1071 +#: xs/src/libslic3r/PrintConfig.cpp:1308 xs/src/libslic3r/PrintConfig.cpp:1358 +#: xs/src/libslic3r/PrintConfig.cpp:1409 xs/src/libslic3r/PrintConfig.cpp:1730 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:70 msgid "Speed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:469 +#: xs/src/slic3r/GUI/Tab.cpp:897 msgid "Speed for print moves" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:481 +#: xs/src/slic3r/GUI/Tab.cpp:909 msgid "Speed for non-print moves" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:484 +#: xs/src/slic3r/GUI/Tab.cpp:912 msgid "Modifiers" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:487 +#: xs/src/slic3r/GUI/Tab.cpp:915 msgid "Acceleration control (advanced)" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:494 +#: xs/src/slic3r/GUI/Tab.cpp:922 msgid "Autospeed (advanced)" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:500 +#: xs/src/slic3r/GUI/Tab.cpp:928 msgid "Multiple Extruders" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:501 xs/src/slic3r/GUI/Tab.cpp:1040 -#: xs/src/libslic3r/PrintConfig.cpp:308 xs/src/libslic3r/PrintConfig.cpp:702 -#: xs/src/libslic3r/PrintConfig.cpp:965 xs/src/libslic3r/PrintConfig.cpp:1279 -#: xs/src/libslic3r/PrintConfig.cpp:1452 xs/src/libslic3r/PrintConfig.cpp:1478 +#: xs/src/slic3r/GUI/Tab.cpp:929 xs/src/slic3r/GUI/Tab.cpp:1470 +#: xs/src/libslic3r/PrintConfig.cpp:336 xs/src/libslic3r/PrintConfig.cpp:764 +#: xs/src/libslic3r/PrintConfig.cpp:1050 xs/src/libslic3r/PrintConfig.cpp:1379 +#: xs/src/libslic3r/PrintConfig.cpp:1552 xs/src/libslic3r/PrintConfig.cpp:1578 msgid "Extruders" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:508 +#: xs/src/slic3r/GUI/Tab.cpp:936 msgid "Ooze prevention" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:512 xs/src/libslic3r/GCode/PreviewData.cpp:149 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:91 +#: xs/src/slic3r/GUI/Tab.cpp:940 xs/src/libslic3r/GCode/PreviewData.cpp:169 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:94 msgid "Wipe tower" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:523 +#: xs/src/slic3r/GUI/Tab.cpp:952 msgid "Extrusion width" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:533 +#: xs/src/slic3r/GUI/Tab.cpp:962 msgid "Overlap" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:536 +#: xs/src/slic3r/GUI/Tab.cpp:965 msgid "Flow" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:539 +#: xs/src/slic3r/GUI/Tab.cpp:968 msgid "Other" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:546 +#: xs/src/slic3r/GUI/Tab.cpp:975 msgid "Output options" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:547 +#: xs/src/slic3r/GUI/Tab.cpp:976 msgid "Sequential printing" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:549 +#: xs/src/slic3r/GUI/Tab.cpp:978 msgid "Extruder clearance (mm)" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:558 +#: xs/src/slic3r/GUI/Tab.cpp:987 msgid "Output file" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:564 xs/src/libslic3r/PrintConfig.cpp:1008 +#: xs/src/slic3r/GUI/Tab.cpp:993 xs/src/libslic3r/PrintConfig.cpp:1093 msgid "Post-processing scripts" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:570 xs/src/slic3r/GUI/Tab.cpp:571 -#: xs/src/slic3r/GUI/Tab.cpp:933 xs/src/slic3r/GUI/Tab.cpp:934 -#: xs/src/slic3r/GUI/Tab.cpp:1234 xs/src/slic3r/GUI/Tab.cpp:1235 +#: xs/src/slic3r/GUI/Tab.cpp:999 xs/src/slic3r/GUI/Tab.cpp:1000 +#: xs/src/slic3r/GUI/Tab.cpp:1349 xs/src/slic3r/GUI/Tab.cpp:1350 +#: xs/src/slic3r/GUI/Tab.cpp:1671 xs/src/slic3r/GUI/Tab.cpp:1672 msgid "Notes" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:577 xs/src/slic3r/GUI/Tab.cpp:941 +#: xs/src/slic3r/GUI/Tab.cpp:1006 xs/src/slic3r/GUI/Tab.cpp:1357 +#: xs/src/slic3r/GUI/Tab.cpp:1678 msgid "Dependencies" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:578 xs/src/slic3r/GUI/Tab.cpp:942 +#: xs/src/slic3r/GUI/Tab.cpp:1007 xs/src/slic3r/GUI/Tab.cpp:1358 +#: xs/src/slic3r/GUI/Tab.cpp:1679 msgid "Profile dependencies" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:579 xs/src/slic3r/GUI/Tab.cpp:943 -#: xs/src/slic3r/GUI/Tab.cpp:1746 xs/src/libslic3r/PrintConfig.cpp:143 +#: xs/src/slic3r/GUI/Tab.cpp:1008 xs/src/slic3r/GUI/Tab.cpp:1359 +#: xs/src/slic3r/GUI/Tab.cpp:2241 xs/src/libslic3r/PrintConfig.cpp:143 msgid "Compatible printers" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:603 -#, possible-c-format +#: xs/src/slic3r/GUI/Tab.cpp:1041 +#, no-c-format msgid "" "The Spiral Vase mode requires:\n" "- one perimeter\n" @@ -395,25 +840,11 @@ msgid "" "Shall I adjust those settings in order to enable Spiral Vase?" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:610 +#: xs/src/slic3r/GUI/Tab.cpp:1048 msgid "Spiral Vase" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:630 -msgid "" -"The Wipe Tower currently supports only:\n" -"- first layer height 0.2mm\n" -"- layer height from 0.15mm to 0.35mm\n" -"\n" -"Shall I adjust those settings in order to enable the Wipe Tower?" -msgstr "" - -#: xs/src/slic3r/GUI/Tab.cpp:634 xs/src/slic3r/GUI/Tab.cpp:656 -#: xs/src/slic3r/GUI/Tab.cpp:673 -msgid "Wipe Tower" -msgstr "" - -#: xs/src/slic3r/GUI/Tab.cpp:652 +#: xs/src/slic3r/GUI/Tab.cpp:1069 msgid "" "The Wipe Tower currently supports the non-soluble supports only\n" "if they are printed with the current extruder without triggering a tool " @@ -424,7 +855,11 @@ msgid "" "Shall I adjust those settings in order to enable the Wipe Tower?" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:670 +#: xs/src/slic3r/GUI/Tab.cpp:1073 xs/src/slic3r/GUI/Tab.cpp:1090 +msgid "Wipe Tower" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:1087 msgid "" "For the Wipe Tower to work with the soluble supports, the support layers\n" "need to be synchronized with the object layers.\n" @@ -432,7 +867,7 @@ msgid "" "Shall I synchronize support layers in order to enable the Wipe Tower?" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:688 +#: xs/src/slic3r/GUI/Tab.cpp:1105 msgid "" "Supports work better, if the following feature is enabled:\n" "- Detect bridging perimeters\n" @@ -440,355 +875,479 @@ msgid "" "Shall I adjust those settings for supports?" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:691 +#: xs/src/slic3r/GUI/Tab.cpp:1108 msgid "Support Generator" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:733 +#: xs/src/slic3r/GUI/Tab.cpp:1150 msgid "The " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:733 -#, possible-c-format +#: xs/src/slic3r/GUI/Tab.cpp:1150 +#, no-c-format msgid "" " infill pattern is not supposed to work at 100% density.\n" "\n" "Shall I switch to rectilinear fill pattern?" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:860 xs/src/slic3r/GUI/Tab.cpp:861 -#: lib/Slic3r/GUI/Plater.pm:368 +#: xs/src/slic3r/GUI/Tab.cpp:1255 xs/src/slic3r/GUI/Tab.cpp:1256 +#: lib/Slic3r/GUI/Plater.pm:378 msgid "Filament" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:868 +#: xs/src/slic3r/GUI/Tab.cpp:1263 msgid "Temperature " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:869 xs/src/slic3r/GUI/Tab.cpp:1313 -#: xs/src/libslic3r/PrintConfig.cpp:307 +#: xs/src/slic3r/GUI/Tab.cpp:1264 xs/src/libslic3r/PrintConfig.cpp:335 msgid "Extruder" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:874 +#: xs/src/slic3r/GUI/Tab.cpp:1269 msgid "Bed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:879 +#: xs/src/slic3r/GUI/Tab.cpp:1274 msgid "Cooling" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:880 xs/src/libslic3r/PrintConfig.cpp:929 -#: xs/src/libslic3r/PrintConfig.cpp:1702 +#: xs/src/slic3r/GUI/Tab.cpp:1275 xs/src/libslic3r/PrintConfig.cpp:1005 +#: xs/src/libslic3r/PrintConfig.cpp:1800 msgid "Enable" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:891 +#: xs/src/slic3r/GUI/Tab.cpp:1286 msgid "Fan settings" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:892 +#: xs/src/slic3r/GUI/Tab.cpp:1287 msgid "Fan speed" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:900 +#: xs/src/slic3r/GUI/Tab.cpp:1295 msgid "Cooling thresholds" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:906 +#: xs/src/slic3r/GUI/Tab.cpp:1301 msgid "Filament properties" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:910 +#: xs/src/slic3r/GUI/Tab.cpp:1305 msgid "Print speed override" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:920 xs/src/slic3r/GUI/Tab.cpp:1197 +#: xs/src/slic3r/GUI/Tab.cpp:1315 +msgid "Toolchange behaviour" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:1319 +msgid "Ramming" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:1321 +msgid "Ramming settings" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:1336 xs/src/slic3r/GUI/Tab.cpp:1634 msgid "Custom G-code" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:921 xs/src/slic3r/GUI/Tab.cpp:1198 -#: xs/src/libslic3r/PrintConfig.cpp:1349 xs/src/libslic3r/PrintConfig.cpp:1364 +#: xs/src/slic3r/GUI/Tab.cpp:1337 xs/src/slic3r/GUI/Tab.cpp:1635 +#: xs/src/libslic3r/PrintConfig.cpp:1449 xs/src/libslic3r/PrintConfig.cpp:1464 msgid "Start G-code" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:927 xs/src/slic3r/GUI/Tab.cpp:1204 -#: xs/src/libslic3r/PrintConfig.cpp:217 xs/src/libslic3r/PrintConfig.cpp:227 +#: xs/src/slic3r/GUI/Tab.cpp:1343 xs/src/slic3r/GUI/Tab.cpp:1641 +#: xs/src/libslic3r/PrintConfig.cpp:245 xs/src/libslic3r/PrintConfig.cpp:255 msgid "End G-code" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1011 xs/src/slic3r/GUI/Preferences.cpp:11 +#: xs/src/slic3r/GUI/Tab.cpp:1438 xs/src/slic3r/GUI/Preferences.cpp:17 msgid "General" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1012 +#: xs/src/slic3r/GUI/Tab.cpp:1439 msgid "Size and coordinates" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1014 xs/src/libslic3r/PrintConfig.cpp:34 +#: xs/src/slic3r/GUI/Tab.cpp:1441 xs/src/libslic3r/PrintConfig.cpp:34 msgid "Bed shape" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1016 xs/src/slic3r/GUI/Tab.cpp:1715 +#: xs/src/slic3r/GUI/Tab.cpp:1443 xs/src/slic3r/GUI/Tab.cpp:2209 msgid " Set " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1036 +#: xs/src/slic3r/GUI/Tab.cpp:1466 msgid "Capabilities" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1041 +#: xs/src/slic3r/GUI/Tab.cpp:1471 msgid "Number of extruders of the printer." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1063 +#: xs/src/slic3r/GUI/Tab.cpp:1496 msgid "USB/Serial connection" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1064 xs/src/libslic3r/PrintConfig.cpp:1200 +#: xs/src/slic3r/GUI/Tab.cpp:1497 xs/src/libslic3r/PrintConfig.cpp:1300 msgid "Serial port" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1069 +#: xs/src/slic3r/GUI/Tab.cpp:1502 msgid "Rescan serial ports" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1078 xs/src/slic3r/GUI/Tab.cpp:1125 +#: xs/src/slic3r/GUI/Tab.cpp:1511 xs/src/slic3r/GUI/Tab.cpp:1558 msgid "Test" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1091 +#: xs/src/slic3r/GUI/Tab.cpp:1524 msgid "Connection to printer works correctly." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1091 xs/src/slic3r/GUI/Tab.cpp:1135 +#: xs/src/slic3r/GUI/Tab.cpp:1524 xs/src/slic3r/GUI/Tab.cpp:1568 msgid "Success!" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1094 +#: xs/src/slic3r/GUI/Tab.cpp:1527 msgid "Connection failed." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1106 +#: xs/src/slic3r/GUI/Tab.cpp:1539 xs/src/slic3r/Utils/OctoPrint.cpp:50 msgid "OctoPrint upload" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1109 xs/src/slic3r/GUI/Tab.cpp:1156 +#: xs/src/slic3r/GUI/Tab.cpp:1542 xs/src/slic3r/GUI/Tab.cpp:1591 msgid " Browse " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1135 lib/Slic3r/GUI/MainFrame.pm:209 +#: xs/src/slic3r/GUI/Tab.cpp:1568 msgid "Connection to OctoPrint works correctly." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1138 +#: xs/src/slic3r/GUI/Tab.cpp:1571 msgid "Could not connect to OctoPrint" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1138 +#: xs/src/slic3r/GUI/Tab.cpp:1571 msgid "Note: OctoPrint version at least 1.1.0 is required." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1162 +#: xs/src/slic3r/GUI/Tab.cpp:1597 msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1163 +#: xs/src/slic3r/GUI/Tab.cpp:1598 msgid "Open CA certificate file" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1177 +#: xs/src/slic3r/GUI/Tab.cpp:1612 msgid "" "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" "signed certificate." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1188 -msgid "Firmware" -msgstr "" - -#: xs/src/slic3r/GUI/Tab.cpp:1210 xs/src/libslic3r/PrintConfig.cpp:48 +#: xs/src/slic3r/GUI/Tab.cpp:1647 xs/src/libslic3r/PrintConfig.cpp:48 msgid "Before layer change G-code" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1216 xs/src/libslic3r/PrintConfig.cpp:766 +#: xs/src/slic3r/GUI/Tab.cpp:1653 xs/src/libslic3r/PrintConfig.cpp:835 msgid "After layer change G-code" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1222 xs/src/libslic3r/PrintConfig.cpp:1609 +#: xs/src/slic3r/GUI/Tab.cpp:1659 xs/src/libslic3r/PrintConfig.cpp:1707 msgid "Tool change G-code" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1228 +#: xs/src/slic3r/GUI/Tab.cpp:1665 msgid "Between objects G-code (for sequential printing)" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1266 xs/src/libslic3r/GCode/PreviewData.cpp:400 +#: xs/src/slic3r/GUI/Tab.cpp:1716 xs/src/slic3r/GUI/Tab.cpp:1722 +msgid "Single extruder MM setup" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:1723 +msgid "Single extruder multimaterial parameters" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:1734 xs/src/libslic3r/GCode/PreviewData.cpp:440 #, possible-c-format msgid "Extruder %d" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1273 +#: xs/src/slic3r/GUI/Tab.cpp:1741 msgid "Layer height limits" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1278 +#: xs/src/slic3r/GUI/Tab.cpp:1746 msgid "Position (for multi-extruder printers)" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1281 +#: xs/src/slic3r/GUI/Tab.cpp:1749 msgid "Retraction" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1284 +#: xs/src/slic3r/GUI/Tab.cpp:1752 msgid "Only lift Z" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1297 +#: xs/src/slic3r/GUI/Tab.cpp:1765 msgid "" "Retraction when tool is disabled (advanced settings for multi-extruder " "setups)" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1301 lib/Slic3r/GUI/Plater.pm:150 -#: lib/Slic3r/GUI/Plater.pm:2095 +#: xs/src/slic3r/GUI/Tab.cpp:1769 lib/Slic3r/GUI/Plater.pm:160 +#: lib/Slic3r/GUI/Plater.pm:2154 msgid "Preview" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1386 +#: xs/src/slic3r/GUI/Tab.cpp:1848 msgid "" "The Wipe option is not available when using the Firmware Retraction mode.\n" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1388 +#: xs/src/slic3r/GUI/Tab.cpp:1850 msgid "Firmware Retraction" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1547 +#: xs/src/slic3r/GUI/Tab.cpp:2022 msgid "Default " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1547 +#: xs/src/slic3r/GUI/Tab.cpp:2022 msgid " preset" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1548 +#: xs/src/slic3r/GUI/Tab.cpp:2023 msgid " preset\n" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1566 +#: xs/src/slic3r/GUI/Tab.cpp:2041 msgid "" "\n" "\n" "is not compatible with printer\n" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1566 +#: xs/src/slic3r/GUI/Tab.cpp:2041 msgid "" "\n" "\n" "and it has the following unsaved changes:" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1567 +#: xs/src/slic3r/GUI/Tab.cpp:2042 msgid "" "\n" "\n" "has the following unsaved changes:" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1569 +#: xs/src/slic3r/GUI/Tab.cpp:2044 msgid "" "\n" "\n" "Discard changes and continue anyway?" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1570 +#: xs/src/slic3r/GUI/Tab.cpp:2045 msgid "Unsaved Changes" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1638 +#: xs/src/slic3r/GUI/Tab.cpp:2119 msgid "The supplied name is empty. It can't be saved." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1658 +#: xs/src/slic3r/GUI/Tab.cpp:2124 +msgid "Cannot overwrite a system profile." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2128 +msgid "Cannot overwrite an external." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2152 msgid "remove" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1658 +#: xs/src/slic3r/GUI/Tab.cpp:2152 msgid "delete" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1659 +#: xs/src/slic3r/GUI/Tab.cpp:2153 msgid "Are you sure you want to " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1659 +#: xs/src/slic3r/GUI/Tab.cpp:2153 msgid " the selected preset?" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1660 +#: xs/src/slic3r/GUI/Tab.cpp:2154 msgid "Remove" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1660 lib/Slic3r/GUI/Plater.pm:178 -#: lib/Slic3r/GUI/Plater.pm:196 lib/Slic3r/GUI/Plater.pm:1991 +#: xs/src/slic3r/GUI/Tab.cpp:2154 lib/Slic3r/GUI/Plater.pm:188 +#: lib/Slic3r/GUI/Plater.pm:206 lib/Slic3r/GUI/Plater.pm:2050 msgid "Delete" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1661 +#: xs/src/slic3r/GUI/Tab.cpp:2155 msgid " Preset" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1714 +#: xs/src/slic3r/GUI/Tab.cpp:2208 msgid "All" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1745 +#: xs/src/slic3r/GUI/Tab.cpp:2240 msgid "Select the printers this profile is compatible with." msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1834 lib/Slic3r/GUI/MainFrame.pm:509 -#: lib/Slic3r/GUI/Plater.pm:1615 +#: xs/src/slic3r/GUI/Tab.cpp:2286 xs/src/slic3r/GUI/Tab.cpp:2372 +#: xs/src/slic3r/GUI/Preset.cpp:605 xs/src/slic3r/GUI/Preset.cpp:645 +#: xs/src/slic3r/GUI/Preset.cpp:670 xs/src/slic3r/GUI/Preset.cpp:702 +#: xs/src/slic3r/GUI/PresetBundle.cpp:1069 +#: xs/src/slic3r/GUI/PresetBundle.cpp:1122 lib/Slic3r/GUI/Plater.pm:552 +msgid "System presets" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2287 xs/src/slic3r/GUI/Tab.cpp:2373 +msgid "Default presets" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2442 +msgid "" +"LOCKED LOCK;indicates that the settings are the same as the system values " +"for the current option group" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2445 +msgid "" +"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " +"the system values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group " +"to the system values." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2451 +msgid "" +"WHITE BULLET;for the left button: \tindicates a non-system preset,\n" +"for the right button: \tindicates that the settings hasn't been modified." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2455 +msgid "" +"BACK ARROW;indicates that the settings were changed and are not equal to the " +"last saved preset for the current option group.\n" +"Click the BACK ARROW icon to reset all settings for the current option group " +"to the last saved preset." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2481 +msgid "" +"LOCKED LOCK icon indicates that the settings are the same as the system " +"values for the current option group" +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2483 +msgid "" +"UNLOCKED LOCK icon indicates that some settings were changed and are not " +"equal to the system values for the current option group.\n" +"Click to reset all settings for current option group to the system values." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2486 +msgid "WHITE BULLET icon indicates a non system preset." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2489 +msgid "" +"WHITE BULLET icon indicates that the settings are the same as in the last " +"saved preset for the current option group." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2491 +msgid "" +"BACK ARROW icon indicates that the settings were changed and are not equal " +"to the last saved preset for the current option group.\n" +"Click to reset all settings for the current option group to the last saved " +"preset." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2497 +msgid "" +"LOCKED LOCK icon indicates that the value is the same as the system value." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2498 +msgid "" +"UNLOCKED LOCK icon indicates that the value was changed and is not equal to " +"the system value.\n" +"Click to reset current value to the system value." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2504 +msgid "" +"WHITE BULLET icon indicates that the value is the same as in the last saved " +"preset." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2505 +msgid "" +"BACK ARROW icon indicates that the value was changed and is not equal to the " +"last saved preset.\n" +"Click to reset current value to the last saved preset." +msgstr "" + +#: xs/src/slic3r/GUI/Tab.cpp:2575 lib/Slic3r/GUI/MainFrame.pm:445 +#: lib/Slic3r/GUI/Plater.pm:1660 msgid "Save " msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1834 +#: xs/src/slic3r/GUI/Tab.cpp:2575 msgid " as:" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1868 +#: xs/src/slic3r/GUI/Tab.cpp:2609 msgid "" "The supplied name is not valid; the following characters are not allowed:" msgstr "" -#: xs/src/slic3r/GUI/Tab.cpp:1871 +#: xs/src/slic3r/GUI/Tab.cpp:2612 msgid "The supplied name is not available." msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:185 +#: xs/src/slic3r/GUI/Tab.hpp:283 msgid "Print Settings" msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:205 +#: xs/src/slic3r/GUI/Tab.hpp:303 msgid "Filament Settings" msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:226 +#: xs/src/slic3r/GUI/Tab.hpp:325 msgid "Printer Settings" msgstr "" -#: xs/src/slic3r/GUI/Tab.hpp:240 +#: xs/src/slic3r/GUI/Tab.hpp:340 msgid "Save preset" msgstr "" -#: xs/src/slic3r/GUI/Field.cpp:59 +#: xs/src/slic3r/GUI/Field.cpp:72 msgid "default" msgstr "" +#: xs/src/slic3r/GUI/Preset.cpp:649 xs/src/slic3r/GUI/Preset.cpp:706 +#: xs/src/slic3r/GUI/PresetBundle.cpp:1127 lib/Slic3r/GUI/Plater.pm:553 +msgid "User presets" +msgstr "" + #: xs/src/slic3r/GUI/PresetHints.cpp:27 #, possible-c-format msgid "" @@ -915,123 +1474,300 @@ msgstr "" msgid "%d lines: %.2lf mm" msgstr "" -#: xs/src/slic3r/GUI/Preferences.hpp:17 -msgid "Preferences" -msgstr "" - -#: xs/src/slic3r/GUI/Preferences.cpp:27 +#: xs/src/slic3r/GUI/Preferences.cpp:34 msgid "Remember output directory" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:29 +#: xs/src/slic3r/GUI/Preferences.cpp:36 msgid "" "If this is enabled, Slic3r will prompt the last output directory instead of " "the one containing the input files." msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:35 +#: xs/src/slic3r/GUI/Preferences.cpp:42 msgid "Auto-center parts" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:37 +#: xs/src/slic3r/GUI/Preferences.cpp:44 msgid "" "If this is enabled, Slic3r will auto-center objects around the print bed " "center." msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:43 +#: xs/src/slic3r/GUI/Preferences.cpp:50 msgid "Background processing" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:45 +#: xs/src/slic3r/GUI/Preferences.cpp:52 msgid "" "If this is enabled, Slic3r will pre-process objects as soon as they're " "loaded in order to save time when exporting G-code." msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:51 +#: xs/src/slic3r/GUI/Preferences.cpp:74 msgid "Disable USB/serial connection" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:53 +#: xs/src/slic3r/GUI/Preferences.cpp:76 msgid "" "Disable communication with the printer over a serial / USB cable. This " "simplifies the user interface in case the printer is never attached to the " "computer." msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:59 +#: xs/src/slic3r/GUI/Preferences.cpp:82 msgid "Suppress \" - default - \" presets" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:61 +#: xs/src/slic3r/GUI/Preferences.cpp:84 msgid "" "Suppress \" - default - \" presets in the Print / Filament / Printer " "selections once there are any other valid presets available." msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:67 +#: xs/src/slic3r/GUI/Preferences.cpp:90 msgid "Show incompatible print and filament presets" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:69 +#: xs/src/slic3r/GUI/Preferences.cpp:92 msgid "" "When checked, the print and filament presets are shown in the preset editor " "even if they are marked as incompatible with the active printer" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:75 +#: xs/src/slic3r/GUI/Preferences.cpp:98 msgid "Use legacy OpenGL 1.1 rendering" msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:77 +#: xs/src/slic3r/GUI/Preferences.cpp:100 msgid "" "If you have rendering issues caused by a buggy OpenGL 2.0 driver, you may " "try to check this checkbox. This will disable the layer height editing and " "anti aliasing, so it is likely better to upgrade your graphics driver." msgstr "" -#: xs/src/slic3r/GUI/Preferences.cpp:101 +#: xs/src/slic3r/GUI/Preferences.cpp:124 msgid "You need to restart Slic3r to make the changes effective." msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:53 -msgid "Network lookup" +#: xs/src/slic3r/GUI/RammingChart.cpp:28 +msgid "NO RAMMING AT ALL" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:66 -msgid "Address" +#: xs/src/slic3r/GUI/RammingChart.cpp:81 +msgid "Time" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:67 -msgid "Hostname" +#: xs/src/slic3r/GUI/RammingChart.cpp:81 xs/src/slic3r/GUI/RammingChart.cpp:86 +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 +#: xs/src/libslic3r/PrintConfig.cpp:480 +msgid "s" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:68 -msgid "Service name" +#: xs/src/slic3r/GUI/RammingChart.cpp:86 +msgid "Volumetric speed" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:69 -msgid "OctoPrint version" +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 +msgid "Update available" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:187 -msgid "Searching for devices" +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:27 +msgid "New version of Slic3r PE is available" msgstr "" -#: xs/src/slic3r/GUI/BonjourDialog.cpp:194 -msgid "Finished." +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:34 +msgid "To download, follow the link below." msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:53 -msgid "G-code file successfully uploaded to the OctoPrint server" +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:41 +msgid "Current version:" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:67 +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:43 +msgid "New version:" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:51 +msgid "Don't notify about new releases any more" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:161 +msgid "Configuration update" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:69 +msgid "Configuration update is available" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:72 +msgid "" +"Would you like to install it?\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then " +"be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 +msgid "Slic3r incompatibility" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:108 +msgid "Slic3r configuration is incompatible" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:111 +msgid "" +"This version of Slic3r PE is not compatible with currently installed " +"configuration bundles.\n" +"This probably happened as a result of running an older Slic3r PE after using " +"a newer one.\n" +"\n" +"You may either exit Slic3r and try again with a newer version, or you may re-" +"run the initial configuration. Doing so will create a backup snapshot of the " +"existing configuration before installing files compatible with this Slic3r.\n" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:120 +#, possible-c-format +msgid "This Slic3r PE version: %s" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:125 +msgid "Incompatible bundles:" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:141 +msgid "Exit Slic3r" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:144 +msgid "Re-configure" +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:165 +#, possible-c-format +msgid "" +"Slic3r PE now uses an updated configuration structure.\n" +"\n" +"So called 'System presets' have been introduced, which hold the built-in " +"default settings for various printers. These System presets cannot be " +"modified, instead, users now may create their own presets inheriting " +"settings from one of the System presets.\n" +"An inheriting preset may either inherit a particular value from its parent " +"or override it with a customized value.\n" +"\n" +"Please proceed with the %s that follows to set up the new presets and to " +"choose whether to enable automatic preset updates." +msgstr "" + +#: xs/src/slic3r/GUI/UpdateDialogs.cpp:181 +msgid "For more information please visit our wiki page:" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:14 +msgid "Ramming customization" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:40 +msgid "" +"Ramming denotes the rapid extrusion just before a tool change in a single-" +"extruder MM printer. Its purpose is to properly shape the end of the " +"unloaded filament so it does not prevent insertion of the new filament and " +"can itself be reinserted later. This phase is important and different " +"materials can require different extrusion speeds to get the good shape. For " +"this reason, the extrusion rates during ramming are adjustable.\n" +"\n" +"This is an expert-level setting, incorrect adjustment will likely lead to " +"jams, extruder wheel grinding into filament etc." +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:82 +msgid "Total ramming time" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:84 +msgid "Total rammed volume" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:88 +msgid "Ramming line width" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:90 +msgid "Ramming line spacing" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:142 +msgid "Wipe tower - Purging volume adjustment" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:223 +#, possible-c-format +msgid "" +"Here you can adjust required purging volume (mm%s) for any given pair of " +"tools." +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:224 +msgid "Extruder changed to" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:232 +msgid "unloaded" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:233 +msgid "loaded" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:238 +msgid "Tool #" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:245 +msgid "" +"Total purging volume is calculated by summing two values below, depending on " +"which tools are loaded/unloaded." +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:246 +#, possible-c-format +msgid "Volume to purge (mm%s) when the filament is being" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:260 +msgid "From" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:325 +msgid "" +"Switching to simple settings will discard changes done in the advanced " +"mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 +msgid "Show simplified settings" +msgstr "" + +#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:337 +msgid "Show advanced settings" +msgstr "" + +#: xs/src/slic3r/Utils/OctoPrint.cpp:47 msgid "Error while uploading to the OctoPrint server" msgstr "" -#: xs/src/slic3r/Utils/OctoPrint.cpp:102 +#: xs/src/slic3r/Utils/OctoPrint.cpp:51 lib/Slic3r/GUI/Plater.pm:1493 +msgid "Sending G-code file to the OctoPrint server..." +msgstr "" + +#: xs/src/slic3r/Utils/OctoPrint.cpp:120 msgid "Invalid API key" msgstr "" @@ -1046,7 +1782,7 @@ msgid "" "feature slows down both the print and the G-code generation." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:38 xs/src/libslic3r/PrintConfig.cpp:1579 +#: xs/src/libslic3r/PrintConfig.cpp:38 xs/src/libslic3r/PrintConfig.cpp:1677 msgid "Other layers" msgstr "" @@ -1077,20 +1813,20 @@ msgid "" "default extruder and bed temperature are reset using non-wait command; " "however if M104, M109, M140 or M190 are detected in this custom code, Slic3r " "will not add temperature commands. Note that you can use placeholder " -"variables for all Slic3r settings, so you can put a \"M109 " -"S[first_layer_temperature]\" command wherever you want." +"variables for all Slic3r settings, so you can put a \"M109 S" +"[first_layer_temperature]\" command wherever you want." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:68 lib/Slic3r/GUI/MainFrame.pm:364 +#: xs/src/libslic3r/PrintConfig.cpp:68 lib/Slic3r/GUI/MainFrame.pm:307 msgid "Bottom" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:69 xs/src/libslic3r/PrintConfig.cpp:239 -#: xs/src/libslic3r/PrintConfig.cpp:290 xs/src/libslic3r/PrintConfig.cpp:298 -#: xs/src/libslic3r/PrintConfig.cpp:604 xs/src/libslic3r/PrintConfig.cpp:762 -#: xs/src/libslic3r/PrintConfig.cpp:778 xs/src/libslic3r/PrintConfig.cpp:948 -#: xs/src/libslic3r/PrintConfig.cpp:996 xs/src/libslic3r/PrintConfig.cpp:1159 -#: xs/src/libslic3r/PrintConfig.cpp:1590 xs/src/libslic3r/PrintConfig.cpp:1646 +#: xs/src/libslic3r/PrintConfig.cpp:69 xs/src/libslic3r/PrintConfig.cpp:267 +#: xs/src/libslic3r/PrintConfig.cpp:318 xs/src/libslic3r/PrintConfig.cpp:326 +#: xs/src/libslic3r/PrintConfig.cpp:666 xs/src/libslic3r/PrintConfig.cpp:831 +#: xs/src/libslic3r/PrintConfig.cpp:847 xs/src/libslic3r/PrintConfig.cpp:1024 +#: xs/src/libslic3r/PrintConfig.cpp:1081 xs/src/libslic3r/PrintConfig.cpp:1259 +#: xs/src/libslic3r/PrintConfig.cpp:1688 xs/src/libslic3r/PrintConfig.cpp:1744 msgid "Layers and Perimeters" msgstr "" @@ -1112,9 +1848,9 @@ msgid "" "disable acceleration control for bridges." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:80 xs/src/libslic3r/PrintConfig.cpp:174 -#: xs/src/libslic3r/PrintConfig.cpp:576 xs/src/libslic3r/PrintConfig.cpp:684 -#: xs/src/libslic3r/PrintConfig.cpp:959 +#: xs/src/libslic3r/PrintConfig.cpp:80 xs/src/libslic3r/PrintConfig.cpp:190 +#: xs/src/libslic3r/PrintConfig.cpp:638 xs/src/libslic3r/PrintConfig.cpp:746 +#: xs/src/libslic3r/PrintConfig.cpp:1044 msgid "mm/s²" msgstr "" @@ -1129,9 +1865,9 @@ msgid "" "bridges. Use 180° for zero angle." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:91 xs/src/libslic3r/PrintConfig.cpp:492 -#: xs/src/libslic3r/PrintConfig.cpp:1177 xs/src/libslic3r/PrintConfig.cpp:1188 -#: xs/src/libslic3r/PrintConfig.cpp:1408 xs/src/libslic3r/PrintConfig.cpp:1564 +#: xs/src/libslic3r/PrintConfig.cpp:91 xs/src/libslic3r/PrintConfig.cpp:554 +#: xs/src/libslic3r/PrintConfig.cpp:1277 xs/src/libslic3r/PrintConfig.cpp:1288 +#: xs/src/libslic3r/PrintConfig.cpp:1508 xs/src/libslic3r/PrintConfig.cpp:1662 msgid "°" msgstr "" @@ -1143,9 +1879,9 @@ msgstr "" msgid "This fan speed is enforced during all bridges and overhangs." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:99 xs/src/libslic3r/PrintConfig.cpp:504 -#: xs/src/libslic3r/PrintConfig.cpp:789 xs/src/libslic3r/PrintConfig.cpp:850 -#: xs/src/libslic3r/PrintConfig.cpp:1067 +#: xs/src/libslic3r/PrintConfig.cpp:99 xs/src/libslic3r/PrintConfig.cpp:566 +#: xs/src/libslic3r/PrintConfig.cpp:858 xs/src/libslic3r/PrintConfig.cpp:926 +#: xs/src/libslic3r/PrintConfig.cpp:1167 msgid "%" msgstr "" @@ -1169,11 +1905,12 @@ msgstr "" msgid "Speed for printing bridges." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:120 xs/src/libslic3r/PrintConfig.cpp:638 -#: xs/src/libslic3r/PrintConfig.cpp:749 xs/src/libslic3r/PrintConfig.cpp:811 -#: xs/src/libslic3r/PrintConfig.cpp:868 xs/src/libslic3r/PrintConfig.cpp:988 -#: xs/src/libslic3r/PrintConfig.cpp:1144 xs/src/libslic3r/PrintConfig.cpp:1153 -#: xs/src/libslic3r/PrintConfig.cpp:1543 xs/src/libslic3r/PrintConfig.cpp:1656 +#: xs/src/libslic3r/PrintConfig.cpp:120 xs/src/libslic3r/PrintConfig.cpp:461 +#: xs/src/libslic3r/PrintConfig.cpp:470 xs/src/libslic3r/PrintConfig.cpp:700 +#: xs/src/libslic3r/PrintConfig.cpp:811 xs/src/libslic3r/PrintConfig.cpp:887 +#: xs/src/libslic3r/PrintConfig.cpp:944 xs/src/libslic3r/PrintConfig.cpp:1073 +#: xs/src/libslic3r/PrintConfig.cpp:1244 xs/src/libslic3r/PrintConfig.cpp:1253 +#: xs/src/libslic3r/PrintConfig.cpp:1641 xs/src/libslic3r/PrintConfig.cpp:1754 msgid "mm/s" msgstr "" @@ -1231,65 +1968,103 @@ msgid "" "fan speed according to layer printing time." msgstr "" +#: xs/src/libslic3r/PrintConfig.cpp:170 +msgid "Cooling tube position" +msgstr "" + #: xs/src/libslic3r/PrintConfig.cpp:171 +msgid "Distance of the center-point of the cooling tube from the extruder tip " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:178 +msgid "Cooling tube length" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:179 +msgid "Length of the cooling tube to limit space for cooling moves inside it " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:187 msgid "" "This is the acceleration your printer will be reset to after the role-" "specific acceleration values are used (perimeter/infill). Set zero to " "prevent resetting acceleration at all." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:180 +#: xs/src/libslic3r/PrintConfig.cpp:196 +msgid "Default filament profile" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:197 +msgid "" +"Default filament profile associated with the current printer profile. On " +"selection of the current printer profile, this filament profile will be " +"activated." +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:202 +msgid "Default print profile" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:203 +msgid "" +"Default print profile associated with the current printer profile. On " +"selection of the current printer profile, this print profile will be " +"activated." +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:208 msgid "Disable fan for the first" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:181 +#: xs/src/libslic3r/PrintConfig.cpp:209 msgid "" "You can set this to a positive value to disable fan at all during the first " "layers, so that it does not make adhesion worse." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:183 xs/src/libslic3r/PrintConfig.cpp:694 -#: xs/src/libslic3r/PrintConfig.cpp:1040 xs/src/libslic3r/PrintConfig.cpp:1231 -#: xs/src/libslic3r/PrintConfig.cpp:1292 xs/src/libslic3r/PrintConfig.cpp:1444 -#: xs/src/libslic3r/PrintConfig.cpp:1489 +#: xs/src/libslic3r/PrintConfig.cpp:211 xs/src/libslic3r/PrintConfig.cpp:756 +#: xs/src/libslic3r/PrintConfig.cpp:1140 xs/src/libslic3r/PrintConfig.cpp:1331 +#: xs/src/libslic3r/PrintConfig.cpp:1392 xs/src/libslic3r/PrintConfig.cpp:1544 +#: xs/src/libslic3r/PrintConfig.cpp:1589 msgid "layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:190 +#: xs/src/libslic3r/PrintConfig.cpp:218 msgid "Don't support bridges" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:192 +#: xs/src/libslic3r/PrintConfig.cpp:220 msgid "" "Experimental option for preventing support material from being generated " "under bridged areas." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:198 +#: xs/src/libslic3r/PrintConfig.cpp:226 msgid "Distance between copies" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:199 +#: xs/src/libslic3r/PrintConfig.cpp:227 msgid "Distance used for the auto-arrange feature of the plater." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:207 +#: xs/src/libslic3r/PrintConfig.cpp:235 msgid "Elephant foot compensation" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:209 +#: xs/src/libslic3r/PrintConfig.cpp:237 msgid "" "The first layer will be shrunk in the XY plane by the configured value to " "compensate for the 1st layer squish aka an Elephant Foot effect." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:218 +#: xs/src/libslic3r/PrintConfig.cpp:246 msgid "" "This end procedure is inserted at the end of the output file. Note that you " "can use placeholder variables for all Slic3r settings." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:228 +#: xs/src/libslic3r/PrintConfig.cpp:256 msgid "" "This end procedure is inserted at the end of the output file, before the " "printer end gcode. Note that you can use placeholder variables for all " @@ -1297,38 +2072,38 @@ msgid "" "extruder order." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:238 +#: xs/src/libslic3r/PrintConfig.cpp:266 msgid "Ensure vertical shell thickness" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:240 +#: xs/src/libslic3r/PrintConfig.cpp:268 msgid "" "Add solid infill near sloping surfaces to guarantee the vertical shell " "thickness (top+bottom solid layers)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:246 +#: xs/src/libslic3r/PrintConfig.cpp:274 msgid "Top/bottom fill pattern" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:248 +#: xs/src/libslic3r/PrintConfig.cpp:276 msgid "" "Fill pattern for top/bottom infill. This only affects the external visible " "layer, and not its adjacent solid shells." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:267 xs/src/libslic3r/PrintConfig.cpp:277 +#: xs/src/libslic3r/PrintConfig.cpp:295 xs/src/libslic3r/PrintConfig.cpp:305 msgid "External perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:268 xs/src/libslic3r/PrintConfig.cpp:377 -#: xs/src/libslic3r/PrintConfig.cpp:592 xs/src/libslic3r/PrintConfig.cpp:710 -#: xs/src/libslic3r/PrintConfig.cpp:974 xs/src/libslic3r/PrintConfig.cpp:1299 -#: xs/src/libslic3r/PrintConfig.cpp:1461 xs/src/libslic3r/PrintConfig.cpp:1621 +#: xs/src/libslic3r/PrintConfig.cpp:296 xs/src/libslic3r/PrintConfig.cpp:405 +#: xs/src/libslic3r/PrintConfig.cpp:654 xs/src/libslic3r/PrintConfig.cpp:772 +#: xs/src/libslic3r/PrintConfig.cpp:1059 xs/src/libslic3r/PrintConfig.cpp:1399 +#: xs/src/libslic3r/PrintConfig.cpp:1561 xs/src/libslic3r/PrintConfig.cpp:1719 msgid "Extrusion Width" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:269 +#: xs/src/libslic3r/PrintConfig.cpp:297 msgid "" "Set this to a non-zero value to set a manual extrusion width for external " "perimeters. If left zero, default extrusion width will be used if set, " @@ -1336,60 +2111,60 @@ msgid "" "(for example 200%), it will be computed over layer height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:272 xs/src/libslic3r/PrintConfig.cpp:597 -#: xs/src/libslic3r/PrintConfig.cpp:715 xs/src/libslic3r/PrintConfig.cpp:979 -#: xs/src/libslic3r/PrintConfig.cpp:1303 xs/src/libslic3r/PrintConfig.cpp:1465 -#: xs/src/libslic3r/PrintConfig.cpp:1626 +#: xs/src/libslic3r/PrintConfig.cpp:300 xs/src/libslic3r/PrintConfig.cpp:659 +#: xs/src/libslic3r/PrintConfig.cpp:777 xs/src/libslic3r/PrintConfig.cpp:1064 +#: xs/src/libslic3r/PrintConfig.cpp:1403 xs/src/libslic3r/PrintConfig.cpp:1565 +#: xs/src/libslic3r/PrintConfig.cpp:1724 msgid "mm or % (leave 0 for default)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:279 +#: xs/src/libslic3r/PrintConfig.cpp:307 msgid "" "This separate setting will affect the speed of external perimeters (the " "visible ones). If expressed as percentage (for example: 80%) it will be " "calculated on the perimeters speed setting above. Set to zero for auto." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:282 xs/src/libslic3r/PrintConfig.cpp:619 -#: xs/src/libslic3r/PrintConfig.cpp:1262 xs/src/libslic3r/PrintConfig.cpp:1313 -#: xs/src/libslic3r/PrintConfig.cpp:1508 xs/src/libslic3r/PrintConfig.cpp:1638 +#: xs/src/libslic3r/PrintConfig.cpp:310 xs/src/libslic3r/PrintConfig.cpp:681 +#: xs/src/libslic3r/PrintConfig.cpp:1362 xs/src/libslic3r/PrintConfig.cpp:1413 +#: xs/src/libslic3r/PrintConfig.cpp:1608 xs/src/libslic3r/PrintConfig.cpp:1736 msgid "mm/s or %" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:289 +#: xs/src/libslic3r/PrintConfig.cpp:317 msgid "External perimeters first" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:291 +#: xs/src/libslic3r/PrintConfig.cpp:319 msgid "" "Print contour perimeters from the outermost one to the innermost one instead " "of the default inverse order." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:297 +#: xs/src/libslic3r/PrintConfig.cpp:325 msgid "Extra perimeters if needed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:299 -#, possible-c-format +#: xs/src/libslic3r/PrintConfig.cpp:327 +#, no-c-format msgid "" "Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r " "keeps adding perimeters, until more than 70% of the loop immediately above " "is supported." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:309 +#: xs/src/libslic3r/PrintConfig.cpp:337 msgid "" "The extruder to use (unless more specific extruder settings are specified). " "This value overrides perimeter and infill extruders, but not the support " "extruders." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:320 lib/Slic3r/GUI/Plater/3DPreview.pm:69 +#: xs/src/libslic3r/PrintConfig.cpp:348 lib/Slic3r/GUI/Plater/3DPreview.pm:68 msgid "Height" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:321 +#: xs/src/libslic3r/PrintConfig.cpp:349 msgid "" "Set this to the vertical distance between your nozzle tip and (usually) the " "X carriage rods. In other words, this is the height of the clearance " @@ -1397,30 +2172,30 @@ msgid "" "extruder can peek before colliding with other printed objects." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:331 +#: xs/src/libslic3r/PrintConfig.cpp:359 msgid "Radius" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:332 +#: xs/src/libslic3r/PrintConfig.cpp:360 msgid "" "Set this to the clearance radius around your extruder. If the extruder is " "not centered, choose the largest value for safety. This setting is used to " "check for collisions and to display the graphical preview in the plater." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:342 +#: xs/src/libslic3r/PrintConfig.cpp:370 msgid "Extruder Color" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:343 xs/src/libslic3r/PrintConfig.cpp:406 +#: xs/src/libslic3r/PrintConfig.cpp:371 xs/src/libslic3r/PrintConfig.cpp:434 msgid "This is only used in the Slic3r interface as a visual help." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:350 +#: xs/src/libslic3r/PrintConfig.cpp:378 msgid "Extruder offset" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:351 +#: xs/src/libslic3r/PrintConfig.cpp:379 msgid "" "If your firmware doesn't handle the extruder displacement you need the G-" "code to take it into account. This option lets you specify the displacement " @@ -1428,21 +2203,21 @@ msgid "" "coordinates (they will be subtracted from the XY coordinate)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:360 +#: xs/src/libslic3r/PrintConfig.cpp:388 msgid "Extrusion axis" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:361 +#: xs/src/libslic3r/PrintConfig.cpp:389 msgid "" "Use this option to set the axis letter associated to your printer's extruder " "(usually E but some printers use A)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:367 +#: xs/src/libslic3r/PrintConfig.cpp:395 msgid "Extrusion multiplier" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:368 +#: xs/src/libslic3r/PrintConfig.cpp:396 msgid "" "This factor changes the amount of flow proportionally. You may need to tweak " "this setting to get nice surface finish and correct single wall widths. " @@ -1450,11 +2225,11 @@ msgid "" "more, check filament diameter and your firmware E steps." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:376 +#: xs/src/libslic3r/PrintConfig.cpp:404 msgid "Default extrusion width" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:378 +#: xs/src/libslic3r/PrintConfig.cpp:406 msgid "" "Set this to a non-zero value to allow a manual extrusion width. If left to " "zero, Slic3r derives extrusion widths from the nozzle diameter (see the " @@ -1463,74 +2238,113 @@ msgid "" "height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:382 +#: xs/src/libslic3r/PrintConfig.cpp:410 msgid "mm or % (leave 0 for auto)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:387 +#: xs/src/libslic3r/PrintConfig.cpp:415 msgid "Keep fan always on" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:388 +#: xs/src/libslic3r/PrintConfig.cpp:416 msgid "" "If this is enabled, fan will never be disabled and will be kept running at " "least at its minimum speed. Useful for PLA, harmful for ABS." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:394 +#: xs/src/libslic3r/PrintConfig.cpp:422 msgid "Enable fan if layer print time is below" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:395 +#: xs/src/libslic3r/PrintConfig.cpp:423 msgid "" "If layer print time is estimated below this number of seconds, fan will be " "enabled and its speed will be calculated by interpolating the minimum and " "maximum speeds." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:397 xs/src/libslic3r/PrintConfig.cpp:1249 +#: xs/src/libslic3r/PrintConfig.cpp:425 xs/src/libslic3r/PrintConfig.cpp:1349 msgid "approximate seconds" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:405 +#: xs/src/libslic3r/PrintConfig.cpp:433 msgid "Color" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:412 +#: xs/src/libslic3r/PrintConfig.cpp:440 msgid "Filament notes" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:413 +#: xs/src/libslic3r/PrintConfig.cpp:441 msgid "You can put your notes regarding the filament here." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:421 xs/src/libslic3r/PrintConfig.cpp:817 +#: xs/src/libslic3r/PrintConfig.cpp:449 xs/src/libslic3r/PrintConfig.cpp:893 msgid "Max volumetric speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:422 +#: xs/src/libslic3r/PrintConfig.cpp:450 msgid "" "Maximum volumetric speed allowed for this filament. Limits the maximum " "volumetric speed of a print to the minimum of print and filament volumetric " "speed. Set to zero for no limit." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:425 xs/src/libslic3r/PrintConfig.cpp:820 +#: xs/src/libslic3r/PrintConfig.cpp:453 xs/src/libslic3r/PrintConfig.cpp:896 msgid "mm³/s" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:432 +#: xs/src/libslic3r/PrintConfig.cpp:459 +msgid "Loading speed" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:460 +msgid "Speed used for loading the filament on the wipe tower. " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:467 +msgid "Unloading speed" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:468 +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming). " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:476 +msgid "Delay after unloading" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:477 +msgid "" +"Time to wait after the filament is unloaded. May help to get reliable " +"toolchanges with flexible materials that may need more time to shrink to " +"original dimensions. " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:486 +msgid "Ramming parameters" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:487 +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:494 msgid "" "Enter your filament diameter here. Good precision is required, so use a " "caliper and do multiple measurements along the filament, then compute the " "average." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:440 +#: xs/src/libslic3r/PrintConfig.cpp:502 msgid "Density" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:441 +#: xs/src/libslic3r/PrintConfig.cpp:503 msgid "" "Enter your filament density here. This is only for statistical information. " "A decent way is to weigh a known length of filament and compute the ratio of " @@ -1538,15 +2352,15 @@ msgid "" "displacement." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:444 +#: xs/src/libslic3r/PrintConfig.cpp:506 msgid "g/cm³" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:450 +#: xs/src/libslic3r/PrintConfig.cpp:512 msgid "Filament type" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:451 xs/src/libslic3r/PrintConfig.cpp:1009 +#: xs/src/libslic3r/PrintConfig.cpp:513 xs/src/libslic3r/PrintConfig.cpp:1094 msgid "" "If you want to process the output G-code through custom scripts, just list " "their absolute paths here. Separate multiple scripts with a semicolon. " @@ -1555,73 +2369,74 @@ msgid "" "environment variables." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:470 +#: xs/src/libslic3r/PrintConfig.cpp:532 msgid "Soluble material" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:471 +#: xs/src/libslic3r/PrintConfig.cpp:533 msgid "Soluble material is most likely used for a soluble support." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:476 lib/Slic3r/GUI/Plater.pm:453 +#: xs/src/libslic3r/PrintConfig.cpp:538 lib/Slic3r/GUI/Plater.pm:463 msgid "Cost" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:477 +#: xs/src/libslic3r/PrintConfig.cpp:539 msgid "" "Enter your filament cost per kg here. This is only for statistical " "information." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:478 +#: xs/src/libslic3r/PrintConfig.cpp:540 msgid "money/kg" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:487 +#: xs/src/libslic3r/PrintConfig.cpp:549 msgid "Fill angle" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:489 +#: xs/src/libslic3r/PrintConfig.cpp:551 msgid "" "Default base angle for infill orientation. Cross-hatching will be applied to " "this. Bridges will be infilled using the best direction Slic3r can detect, " "so this setting does not affect them." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:501 +#: xs/src/libslic3r/PrintConfig.cpp:563 msgid "Fill density" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:503 +#: xs/src/libslic3r/PrintConfig.cpp:565 +#, possible-c-format msgid "Density of internal infill, expressed in the range 0% - 100%." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:539 +#: xs/src/libslic3r/PrintConfig.cpp:601 msgid "Fill pattern" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:541 +#: xs/src/libslic3r/PrintConfig.cpp:603 msgid "Fill pattern for general low-density infill." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:573 xs/src/libslic3r/PrintConfig.cpp:582 -#: xs/src/libslic3r/PrintConfig.cpp:591 xs/src/libslic3r/PrintConfig.cpp:625 +#: xs/src/libslic3r/PrintConfig.cpp:635 xs/src/libslic3r/PrintConfig.cpp:644 +#: xs/src/libslic3r/PrintConfig.cpp:653 xs/src/libslic3r/PrintConfig.cpp:687 msgid "First layer" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:574 +#: xs/src/libslic3r/PrintConfig.cpp:636 msgid "" "This is the acceleration your printer will use for first layer. Set zero to " "disable acceleration control for first layer." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:583 +#: xs/src/libslic3r/PrintConfig.cpp:645 msgid "" "Heated build plate temperature for the first layer. Set this to zero to " "disable bed temperature control commands in the output." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:593 +#: xs/src/libslic3r/PrintConfig.cpp:655 msgid "" "Set this to a non-zero value to set a manual extrusion width for first " "layer. You can use this to force fatter extrudates for better adhesion. If " @@ -1629,11 +2444,11 @@ msgid "" "layer height. If set to zero, it will use the default extrusion width." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:603 +#: xs/src/libslic3r/PrintConfig.cpp:665 msgid "First layer height" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:605 +#: xs/src/libslic3r/PrintConfig.cpp:667 msgid "" "When printing with very low layer heights, you might still want to print a " "thicker bottom layer to improve adhesion and tolerance for non perfect build " @@ -1641,58 +2456,58 @@ msgid "" "example: 150%) over the default layer height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:609 xs/src/libslic3r/PrintConfig.cpp:740 -#: xs/src/libslic3r/PrintConfig.cpp:1397 +#: xs/src/libslic3r/PrintConfig.cpp:671 xs/src/libslic3r/PrintConfig.cpp:802 +#: xs/src/libslic3r/PrintConfig.cpp:1497 msgid "mm or %" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:615 +#: xs/src/libslic3r/PrintConfig.cpp:677 msgid "First layer speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:616 +#: xs/src/libslic3r/PrintConfig.cpp:678 msgid "" "If expressed as absolute value in mm/s, this speed will be applied to all " "the print moves of the first layer, regardless of their type. If expressed " "as a percentage (for example: 40%) it will scale the default speeds." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:626 +#: xs/src/libslic3r/PrintConfig.cpp:688 msgid "" "Extruder temperature for first layer. If you want to control temperature " "manually during print, set this to zero to disable temperature control " "commands in the output file." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:634 -#: xs/src/libslic3r/GCode/PreviewData.cpp:145 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:87 +#: xs/src/libslic3r/PrintConfig.cpp:696 +#: xs/src/libslic3r/GCode/PreviewData.cpp:165 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:90 msgid "Gap fill" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:636 +#: xs/src/libslic3r/PrintConfig.cpp:698 msgid "" "Speed for filling small gaps using short zigzag moves. Keep this reasonably " "low to avoid too much shaking and resonance issues. Set zero to disable gaps " "filling." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:644 +#: xs/src/libslic3r/PrintConfig.cpp:706 msgid "Verbose G-code" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:645 +#: xs/src/libslic3r/PrintConfig.cpp:707 msgid "" "Enable this to get a commented G-code file, with each line explained by a " "descriptive text. If you print from SD card, the additional weight of the " "file could make your firmware slow down." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:652 +#: xs/src/libslic3r/PrintConfig.cpp:714 msgid "G-code flavor" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:653 +#: xs/src/libslic3r/PrintConfig.cpp:715 msgid "" "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 " @@ -1700,35 +2515,35 @@ msgid "" "extrusion value at all." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:682 +#: xs/src/libslic3r/PrintConfig.cpp:744 msgid "" "This is the acceleration your printer will use for infill. Set zero to " "disable acceleration control for infill." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:690 +#: xs/src/libslic3r/PrintConfig.cpp:752 msgid "Combine infill every" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:692 +#: xs/src/libslic3r/PrintConfig.cpp:754 msgid "" "This feature allows to combine infill and speed up your print by extruding " "thicker infill layers while preserving thin perimeters, thus accuracy." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:696 +#: xs/src/libslic3r/PrintConfig.cpp:758 msgid "Combine infill every n layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:701 +#: xs/src/libslic3r/PrintConfig.cpp:763 msgid "Infill extruder" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:703 +#: xs/src/libslic3r/PrintConfig.cpp:765 msgid "The extruder to use when printing infill." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:711 +#: xs/src/libslic3r/PrintConfig.cpp:773 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill. If " "left zero, default extrusion width will be used if set, otherwise 1.125 x " @@ -1737,32 +2552,32 @@ msgid "" "example 90%) it will be computed over layer height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:720 +#: xs/src/libslic3r/PrintConfig.cpp:782 msgid "Infill before perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:721 +#: xs/src/libslic3r/PrintConfig.cpp:783 msgid "" "This option will switch the print order of perimeters and infill, making the " "latter first." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:726 +#: xs/src/libslic3r/PrintConfig.cpp:788 msgid "Only infill where needed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:728 +#: xs/src/libslic3r/PrintConfig.cpp:790 msgid "" "This option will limit infill to the areas actually needed for supporting " "ceilings (it will act as internal support material). If enabled, slows down " "the G-code generation due to the multiple checks involved." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:735 +#: xs/src/libslic3r/PrintConfig.cpp:797 msgid "Infill/perimeters overlap" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:737 +#: xs/src/libslic3r/PrintConfig.cpp:799 msgid "" "This setting applies an additional overlap between infill and perimeters for " "better bonding. Theoretically this shouldn't be needed, but backlash might " @@ -1770,22 +2585,30 @@ msgid "" "perimeter extrusion width." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:748 +#: xs/src/libslic3r/PrintConfig.cpp:810 msgid "Speed for printing the internal fill. Set to zero for auto." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:757 +#: xs/src/libslic3r/PrintConfig.cpp:819 +msgid "Inherits profile" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:820 +msgid "Name of the profile, from which this profile inherits." +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:826 msgid "Interface shells" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:758 +#: xs/src/libslic3r/PrintConfig.cpp:827 msgid "" "Force the generation of solid shells between adjacent materials/volumes. " "Useful for multi-extruder prints with translucent materials or manual " "soluble support material." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:767 +#: xs/src/libslic3r/PrintConfig.cpp:836 msgid "" "This custom code is inserted at every layer change, right after the Z move " "and before the extruder moves to the first layer point. Note that you can " @@ -1793,22 +2616,22 @@ msgid "" "[layer_z]." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:779 +#: xs/src/libslic3r/PrintConfig.cpp:848 msgid "" "This setting controls the height (and thus the total number) of the slices/" "layers. Thinner layers give better accuracy but take more time to print." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:787 xs/src/libslic3r/PrintConfig.cpp:796 +#: xs/src/libslic3r/PrintConfig.cpp:856 xs/src/libslic3r/PrintConfig.cpp:865 msgid "Max" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:788 +#: xs/src/libslic3r/PrintConfig.cpp:857 msgid "This setting represents the maximum speed of your fan." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:797 -#, possible-c-format +#: xs/src/libslic3r/PrintConfig.cpp:866 +#, no-c-format msgid "" "This is the highest printable layer height for this extruder, used to cap " "the variable layer height and support layer height. Maximum recommended " @@ -1816,28 +2639,38 @@ msgid "" "adhesion. If set to 0, layer height is limited to 75% of the nozzle diameter." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:807 +#: xs/src/libslic3r/PrintConfig.cpp:876 +msgid "Max print height" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:877 +msgid "" +"Set this to the maximum height that can be reached by your extruder while " +"printing." +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:883 msgid "Max print speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:808 +#: xs/src/libslic3r/PrintConfig.cpp:884 msgid "" "When setting other speed settings to 0 Slic3r will autocalculate the optimal " "speed in order to keep constant extruder pressure. This experimental setting " "is used to set the highest print speed you want to allow." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:818 +#: xs/src/libslic3r/PrintConfig.cpp:894 msgid "" "This experimental setting is used to set the maximum volumetric speed your " "extruder supports." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:826 +#: xs/src/libslic3r/PrintConfig.cpp:902 msgid "Max volumetric slope positive" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:827 xs/src/libslic3r/PrintConfig.cpp:838 +#: xs/src/libslic3r/PrintConfig.cpp:903 xs/src/libslic3r/PrintConfig.cpp:914 msgid "" "This experimental setting is used to limit the speed of change in extrusion " "rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate " @@ -1845,109 +2678,109 @@ msgid "" "s) to 5.4 mm³/s (feedrate 60 mm/s) will take at least 2 seconds." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:831 xs/src/libslic3r/PrintConfig.cpp:842 +#: xs/src/libslic3r/PrintConfig.cpp:907 xs/src/libslic3r/PrintConfig.cpp:918 msgid "mm³/s²" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:837 +#: xs/src/libslic3r/PrintConfig.cpp:913 msgid "Max volumetric slope negative" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:848 xs/src/libslic3r/PrintConfig.cpp:857 +#: xs/src/libslic3r/PrintConfig.cpp:924 xs/src/libslic3r/PrintConfig.cpp:933 msgid "Min" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:849 +#: xs/src/libslic3r/PrintConfig.cpp:925 msgid "This setting represents the minimum PWM your fan needs to work." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:858 +#: xs/src/libslic3r/PrintConfig.cpp:934 msgid "" "This is the lowest printable layer height for this extruder and limits the " "resolution for variable layer height. Typical values are between 0.05 mm and " "0.1 mm." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:866 +#: xs/src/libslic3r/PrintConfig.cpp:942 msgid "Min print speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:867 +#: xs/src/libslic3r/PrintConfig.cpp:943 msgid "Slic3r will not scale speed down below this speed." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:874 +#: xs/src/libslic3r/PrintConfig.cpp:950 msgid "Minimum extrusion length" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:875 +#: xs/src/libslic3r/PrintConfig.cpp:951 msgid "" "Generate no less than the number of skirt loops required to consume the " "specified amount of filament on the bottom layer. For multi-extruder " "machines, this minimum applies to each extruder." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:884 +#: xs/src/libslic3r/PrintConfig.cpp:960 msgid "Configuration notes" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:885 +#: xs/src/libslic3r/PrintConfig.cpp:961 msgid "" "You can put here your personal notes. This text will be added to the G-code " "header comments." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:894 +#: xs/src/libslic3r/PrintConfig.cpp:970 msgid "Nozzle diameter" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:895 +#: xs/src/libslic3r/PrintConfig.cpp:971 msgid "" "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:901 +#: xs/src/libslic3r/PrintConfig.cpp:977 msgid "API Key" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:902 +#: xs/src/libslic3r/PrintConfig.cpp:978 msgid "" "Slic3r can upload G-code files to OctoPrint. This field should contain the " "API Key required for authentication." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:915 +#: xs/src/libslic3r/PrintConfig.cpp:991 msgid "Hostname, IP or URL" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:916 +#: xs/src/libslic3r/PrintConfig.cpp:992 msgid "" "Slic3r can upload G-code files to OctoPrint. This field should contain the " "hostname, IP address or URL of the OctoPrint instance." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:922 +#: xs/src/libslic3r/PrintConfig.cpp:998 msgid "Only retract when crossing perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:923 +#: xs/src/libslic3r/PrintConfig.cpp:999 msgid "" "Disables retraction when the travel path does not exceed the upper layer's " "perimeters (and thus any ooze will be probably invisible)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:930 +#: xs/src/libslic3r/PrintConfig.cpp:1006 msgid "" "This option will drop the temperature of the inactive extruders to prevent " "oozing. It will enable a tall skirt automatically and move extruders outside " "such skirt when changing temperatures." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:937 +#: xs/src/libslic3r/PrintConfig.cpp:1013 msgid "Output filename format" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:938 +#: xs/src/libslic3r/PrintConfig.cpp:1014 msgid "" "You can use all configuration options as variables inside this template. For " "example: [layer_height], [fill_density] etc. You can also use [timestamp], " @@ -1955,38 +2788,48 @@ msgid "" "[input_filename], [input_filename_base]." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:947 +#: xs/src/libslic3r/PrintConfig.cpp:1023 msgid "Detect bridging perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:949 +#: xs/src/libslic3r/PrintConfig.cpp:1025 msgid "" "Experimental option to adjust flow for overhangs (bridge flow will be used), " "to apply bridge speed to them and enable fan." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:955 xs/src/libslic3r/PrintConfig.cpp:973 -#: xs/src/libslic3r/PrintConfig.cpp:985 xs/src/libslic3r/PrintConfig.cpp:995 +#: xs/src/libslic3r/PrintConfig.cpp:1031 +msgid "Filament parking position" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1032 +msgid "" +"Distance of the extruder tip from the position where the filament is parked " +"when unloaded. This should match the value in printer firmware. " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1040 xs/src/libslic3r/PrintConfig.cpp:1058 +#: xs/src/libslic3r/PrintConfig.cpp:1070 xs/src/libslic3r/PrintConfig.cpp:1080 msgid "Perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:956 +#: xs/src/libslic3r/PrintConfig.cpp:1041 msgid "" "This is the acceleration your printer will use for perimeters. A high value " "like 9000 usually gives good results if your hardware is up to the job. Set " "zero to disable acceleration control for perimeters." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:964 +#: xs/src/libslic3r/PrintConfig.cpp:1049 msgid "Perimeter extruder" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:966 +#: xs/src/libslic3r/PrintConfig.cpp:1051 msgid "" "The extruder to use when printing perimeters and brim. First extruder is 1." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:975 +#: xs/src/libslic3r/PrintConfig.cpp:1060 msgid "" "Set this to a non-zero value to set a manual extrusion width for perimeters. " "You may want to use thinner extrudates to get more accurate surfaces. If " @@ -1995,12 +2838,12 @@ msgid "" "it will be computed over layer height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:987 +#: xs/src/libslic3r/PrintConfig.cpp:1072 msgid "" "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:997 +#: xs/src/libslic3r/PrintConfig.cpp:1082 msgid "" "This option sets the number of perimeters to generate for each layer. Note " "that Slic3r may increase this number automatically when it detects sloping " @@ -2008,33 +2851,59 @@ msgid "" "Perimeters option is enabled." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1001 +#: xs/src/libslic3r/PrintConfig.cpp:1086 msgid "(minimum)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1021 +#: xs/src/libslic3r/PrintConfig.cpp:1106 +msgid "Printer type" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1107 +msgid "Type of the printer." +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1111 msgid "Printer notes" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1022 +#: xs/src/libslic3r/PrintConfig.cpp:1112 msgid "You can put your notes regarding the printer here." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1036 +#: xs/src/libslic3r/PrintConfig.cpp:1120 +msgid "Printer vendor" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1121 +msgid "Name of the printer vendor." +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1125 +msgid "Printer variant" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1126 +msgid "" +"Name of the printer variant. For example, the printer variants may be " +"differentiated by a nozzle diameter." +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1136 msgid "Raft layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1038 +#: xs/src/libslic3r/PrintConfig.cpp:1138 msgid "" "The object will be raised by this number of layers, and support material " "will be generated under it." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1046 +#: xs/src/libslic3r/PrintConfig.cpp:1146 msgid "Resolution" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1047 +#: xs/src/libslic3r/PrintConfig.cpp:1147 msgid "" "Minimum detail resolution, used to simplify the input file for speeding up " "the slicing job and reducing memory usage. High-resolution models often " @@ -2042,266 +2911,266 @@ msgid "" "simplification and use full resolution from input." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1057 +#: xs/src/libslic3r/PrintConfig.cpp:1157 msgid "Minimum travel after retraction" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1058 +#: xs/src/libslic3r/PrintConfig.cpp:1158 msgid "" "Retraction is not triggered when travel moves are shorter than this length." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1064 +#: xs/src/libslic3r/PrintConfig.cpp:1164 msgid "Retract amount before wipe" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1065 +#: xs/src/libslic3r/PrintConfig.cpp:1165 msgid "" "With bowden extruders, it may be wise to do some amount of quick retract " "before doing the wipe movement." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1072 +#: xs/src/libslic3r/PrintConfig.cpp:1172 msgid "Retract on layer change" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1073 +#: xs/src/libslic3r/PrintConfig.cpp:1173 msgid "This flag enforces a retraction whenever a Z move is done." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1078 xs/src/libslic3r/PrintConfig.cpp:1087 +#: xs/src/libslic3r/PrintConfig.cpp:1178 xs/src/libslic3r/PrintConfig.cpp:1187 msgid "Length" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1079 +#: xs/src/libslic3r/PrintConfig.cpp:1179 msgid "Retraction Length" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1080 +#: xs/src/libslic3r/PrintConfig.cpp:1180 msgid "" "When retraction is triggered, filament is pulled back by the specified " "amount (the length is measured on raw filament, before it enters the " "extruder)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1082 xs/src/libslic3r/PrintConfig.cpp:1092 +#: xs/src/libslic3r/PrintConfig.cpp:1182 xs/src/libslic3r/PrintConfig.cpp:1192 msgid "mm (zero to disable)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1088 +#: xs/src/libslic3r/PrintConfig.cpp:1188 msgid "Retraction Length (Toolchange)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1089 +#: xs/src/libslic3r/PrintConfig.cpp:1189 msgid "" "When retraction is triggered before changing tool, filament is pulled back " "by the specified amount (the length is measured on raw filament, before it " "enters the extruder)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1097 +#: xs/src/libslic3r/PrintConfig.cpp:1197 msgid "Lift Z" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1098 +#: xs/src/libslic3r/PrintConfig.cpp:1198 msgid "" "If you set this to a positive value, Z is quickly raised every time a " "retraction is triggered. When using multiple extruders, only the setting for " "the first extruder will be considered." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1106 +#: xs/src/libslic3r/PrintConfig.cpp:1206 msgid "Above Z" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1107 +#: xs/src/libslic3r/PrintConfig.cpp:1207 msgid "Only lift Z above" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1108 +#: xs/src/libslic3r/PrintConfig.cpp:1208 msgid "" "If you set this to a positive value, Z lift will only take place above the " "specified absolute Z. You can tune this setting for skipping lift on the " "first layers." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1115 +#: xs/src/libslic3r/PrintConfig.cpp:1215 msgid "Below Z" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1116 +#: xs/src/libslic3r/PrintConfig.cpp:1216 msgid "Only lift Z below" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1117 +#: xs/src/libslic3r/PrintConfig.cpp:1217 msgid "" "If you set this to a positive value, Z lift will only take place below the " "specified absolute Z. You can tune this setting for limiting lift to the " "first layers." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1125 xs/src/libslic3r/PrintConfig.cpp:1133 +#: xs/src/libslic3r/PrintConfig.cpp:1225 xs/src/libslic3r/PrintConfig.cpp:1233 msgid "Extra length on restart" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1126 +#: xs/src/libslic3r/PrintConfig.cpp:1226 msgid "" "When the retraction is compensated after the travel move, the extruder will " "push this additional amount of filament. This setting is rarely needed." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1134 +#: xs/src/libslic3r/PrintConfig.cpp:1234 msgid "" "When the retraction is compensated after changing tool, the extruder will " "push this additional amount of filament." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1141 xs/src/libslic3r/PrintConfig.cpp:1142 +#: xs/src/libslic3r/PrintConfig.cpp:1241 xs/src/libslic3r/PrintConfig.cpp:1242 msgid "Retraction Speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1143 +#: xs/src/libslic3r/PrintConfig.cpp:1243 msgid "The speed for retractions (it only applies to the extruder motor)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1149 xs/src/libslic3r/PrintConfig.cpp:1150 +#: xs/src/libslic3r/PrintConfig.cpp:1249 xs/src/libslic3r/PrintConfig.cpp:1250 msgid "Deretraction Speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1151 +#: xs/src/libslic3r/PrintConfig.cpp:1251 msgid "" "The speed for loading of a filament into extruder after retraction (it only " "applies to the extruder motor). If left to zero, the retraction speed is " "used." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1158 +#: xs/src/libslic3r/PrintConfig.cpp:1258 msgid "Seam position" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1160 +#: xs/src/libslic3r/PrintConfig.cpp:1260 msgid "Position of perimeters starting points." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1176 +#: xs/src/libslic3r/PrintConfig.cpp:1276 msgid "Direction" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1178 +#: xs/src/libslic3r/PrintConfig.cpp:1278 msgid "Preferred direction of the seam" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1179 +#: xs/src/libslic3r/PrintConfig.cpp:1279 msgid "Seam preferred direction" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1187 +#: xs/src/libslic3r/PrintConfig.cpp:1287 msgid "Jitter" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1189 +#: xs/src/libslic3r/PrintConfig.cpp:1289 msgid "Seam preferred direction jitter" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1190 +#: xs/src/libslic3r/PrintConfig.cpp:1290 msgid "Preferred direction of the seam - jitter" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1201 +#: xs/src/libslic3r/PrintConfig.cpp:1301 msgid "USB/serial port for printer connection." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1209 +#: xs/src/libslic3r/PrintConfig.cpp:1309 msgid "Serial port speed" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1210 +#: xs/src/libslic3r/PrintConfig.cpp:1310 msgid "Speed (baud) of USB/serial port for printer connection." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1219 +#: xs/src/libslic3r/PrintConfig.cpp:1319 msgid "Distance from object" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1220 +#: xs/src/libslic3r/PrintConfig.cpp:1320 msgid "" "Distance between skirt and object(s). Set this to zero to attach the skirt " "to the object(s) and get a brim for better adhesion." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1228 +#: xs/src/libslic3r/PrintConfig.cpp:1328 msgid "Skirt height" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1229 +#: xs/src/libslic3r/PrintConfig.cpp:1329 msgid "" "Height of skirt expressed in layers. Set this to a tall value to use skirt " "as a shield against drafts." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1236 +#: xs/src/libslic3r/PrintConfig.cpp:1336 msgid "Loops (minimum)" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1237 +#: xs/src/libslic3r/PrintConfig.cpp:1337 msgid "Skirt Loops" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1238 +#: xs/src/libslic3r/PrintConfig.cpp:1338 msgid "" "Number of loops for the skirt. If the Minimum Extrusion Length option is " "set, the number of loops might be greater than the one configured here. Set " "this to zero to disable skirt completely." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1246 +#: xs/src/libslic3r/PrintConfig.cpp:1346 msgid "Slow down if layer print time is below" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1247 +#: xs/src/libslic3r/PrintConfig.cpp:1347 msgid "" "If layer print time is estimated below this number of seconds, print moves " "speed will be scaled down to extend duration to this value." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1257 +#: xs/src/libslic3r/PrintConfig.cpp:1357 msgid "Small perimeters" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1259 +#: xs/src/libslic3r/PrintConfig.cpp:1359 msgid "" "This separate setting will affect the speed of perimeters having radius <= " "6.5mm (usually holes). If expressed as percentage (for example: 80%) it will " "be calculated on the perimeters speed setting above. Set to zero for auto." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1269 +#: xs/src/libslic3r/PrintConfig.cpp:1369 msgid "Solid infill threshold area" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1271 +#: xs/src/libslic3r/PrintConfig.cpp:1371 msgid "" "Force solid infill for regions having a smaller area than the specified " "threshold." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1272 +#: xs/src/libslic3r/PrintConfig.cpp:1372 msgid "mm²" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1278 +#: xs/src/libslic3r/PrintConfig.cpp:1378 msgid "Solid infill extruder" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1280 +#: xs/src/libslic3r/PrintConfig.cpp:1380 msgid "The extruder to use when printing solid infill." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1286 +#: xs/src/libslic3r/PrintConfig.cpp:1386 msgid "Solid infill every" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1288 +#: xs/src/libslic3r/PrintConfig.cpp:1388 msgid "" "This feature allows to force a solid layer every given number of layers. " "Zero to disable. You can set this to any value (for example 9999); Slic3r " @@ -2309,13 +3178,13 @@ msgid "" "according to nozzle diameter and layer height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1298 xs/src/libslic3r/PrintConfig.cpp:1308 -#: xs/src/libslic3r/GCode/PreviewData.cpp:142 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:84 +#: xs/src/libslic3r/PrintConfig.cpp:1398 xs/src/libslic3r/PrintConfig.cpp:1408 +#: xs/src/libslic3r/GCode/PreviewData.cpp:162 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:87 msgid "Solid infill" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1300 +#: xs/src/libslic3r/PrintConfig.cpp:1400 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill for " "solid surfaces. If left zero, default extrusion width will be used if set, " @@ -2323,22 +3192,22 @@ msgid "" "(for example 90%) it will be computed over layer height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1310 +#: xs/src/libslic3r/PrintConfig.cpp:1410 msgid "" "Speed for printing solid regions (top/bottom/internal horizontal shells). " "This can be expressed as a percentage (for example: 80%) over the default " "infill speed above. Set to zero for auto." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1322 +#: xs/src/libslic3r/PrintConfig.cpp:1422 msgid "Number of solid layers to generate on top and bottom surfaces." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1329 +#: xs/src/libslic3r/PrintConfig.cpp:1429 msgid "Spiral vase" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1330 +#: xs/src/libslic3r/PrintConfig.cpp:1430 msgid "" "This feature will raise Z gradually while printing a single-walled object in " "order to remove any visible seam. This option requires a single perimeter, " @@ -2347,18 +3216,18 @@ msgid "" "when printing more than an object." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1339 +#: xs/src/libslic3r/PrintConfig.cpp:1439 msgid "Temperature variation" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1340 +#: xs/src/libslic3r/PrintConfig.cpp:1440 msgid "" "Temperature difference to be applied when an extruder is not active. Enables " "a full-height \"sacrificial\" skirt on which the nozzles are periodically " "wiped." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1350 +#: xs/src/libslic3r/PrintConfig.cpp:1450 msgid "" "This start procedure is inserted at the beginning, after bed has reached the " "target temperature and extruder just started heating, and before extruder " @@ -2369,76 +3238,76 @@ msgid "" "\"M109 S[first_layer_temperature]\" command wherever you want." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1365 +#: xs/src/libslic3r/PrintConfig.cpp:1465 msgid "" "This start procedure is inserted at the beginning, after any printer start " "gcode. This is used to override settings for a specific filament. If Slic3r " "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 wherever you want. If you have multiple " +"variables for all Slic3r 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." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1380 +#: xs/src/libslic3r/PrintConfig.cpp:1480 msgid "Single Extruder Multi Material" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1381 +#: xs/src/libslic3r/PrintConfig.cpp:1481 msgid "The printer multiplexes filaments into a single hot end." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1386 +#: xs/src/libslic3r/PrintConfig.cpp:1486 msgid "Generate support material" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1388 +#: xs/src/libslic3r/PrintConfig.cpp:1488 msgid "Enable support material generation." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1393 +#: xs/src/libslic3r/PrintConfig.cpp:1493 msgid "XY separation between an object and its support" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1395 +#: xs/src/libslic3r/PrintConfig.cpp:1495 msgid "" "XY separation between an object and its support. If expressed as percentage " "(for example 50%), it will be calculated over external perimeter width." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1405 +#: xs/src/libslic3r/PrintConfig.cpp:1505 msgid "Pattern angle" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1407 +#: xs/src/libslic3r/PrintConfig.cpp:1507 msgid "" "Use this setting to rotate the support material pattern on the horizontal " "plane." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1417 +#: xs/src/libslic3r/PrintConfig.cpp:1517 msgid "" "Only create support if it lies on a build plate. Don't create support on a " "print." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1423 +#: xs/src/libslic3r/PrintConfig.cpp:1523 msgid "Contact Z distance" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1425 +#: xs/src/libslic3r/PrintConfig.cpp:1525 msgid "" "The vertical distance between object and support material interface. Setting " "this to 0 will also prevent Slic3r from using bridge flow and speed for the " "first object layer." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1438 +#: xs/src/libslic3r/PrintConfig.cpp:1538 msgid "Enforce support for the first" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1440 +#: xs/src/libslic3r/PrintConfig.cpp:1540 msgid "" "Generate support material for the specified number of layers counting from " "bottom, regardless of whether normal support material is enabled or not and " @@ -2446,21 +3315,21 @@ msgid "" "of objects having a very thin or poor footprint on the build plate." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1446 +#: xs/src/libslic3r/PrintConfig.cpp:1546 msgid "Enforce support for the first n layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1451 +#: xs/src/libslic3r/PrintConfig.cpp:1551 msgid "Support material/raft/skirt extruder" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1453 +#: xs/src/libslic3r/PrintConfig.cpp:1553 msgid "" "The extruder to use when printing support material, raft and skirt (1+, 0 to " "use the current extruder to minimize tool changes)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1462 +#: xs/src/libslic3r/PrintConfig.cpp:1562 msgid "" "Set this to a non-zero value to set a manual extrusion width for support " "material. If left zero, default extrusion width will be used if set, " @@ -2468,91 +3337,91 @@ msgid "" "example 90%) it will be computed over layer height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1470 +#: xs/src/libslic3r/PrintConfig.cpp:1570 msgid "Interface loops" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1472 +#: xs/src/libslic3r/PrintConfig.cpp:1572 msgid "" "Cover the top contact layer of the supports with loops. Disabled by default." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1477 +#: xs/src/libslic3r/PrintConfig.cpp:1577 msgid "Support material/raft interface extruder" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1479 +#: xs/src/libslic3r/PrintConfig.cpp:1579 msgid "" "The extruder to use when printing support material interface (1+, 0 to use " "the current extruder to minimize tool changes). This affects raft too." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1486 +#: xs/src/libslic3r/PrintConfig.cpp:1586 msgid "Interface layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1488 +#: xs/src/libslic3r/PrintConfig.cpp:1588 msgid "" "Number of interface layers to insert between the object(s) and support " "material." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1495 +#: xs/src/libslic3r/PrintConfig.cpp:1595 msgid "Interface pattern spacing" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1497 +#: xs/src/libslic3r/PrintConfig.cpp:1597 msgid "Spacing between interface lines. Set zero to get a solid interface." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1504 -#: xs/src/libslic3r/GCode/PreviewData.cpp:148 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:90 +#: xs/src/libslic3r/PrintConfig.cpp:1604 +#: xs/src/libslic3r/GCode/PreviewData.cpp:168 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:93 msgid "Support material interface" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1506 +#: xs/src/libslic3r/PrintConfig.cpp:1606 msgid "" "Speed for printing support material interface layers. If expressed as " "percentage (for example 50%) it will be calculated over support material " "speed." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1515 +#: xs/src/libslic3r/PrintConfig.cpp:1615 msgid "Pattern" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1517 +#: xs/src/libslic3r/PrintConfig.cpp:1617 msgid "Pattern used to generate support material." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1531 +#: xs/src/libslic3r/PrintConfig.cpp:1629 msgid "Pattern spacing" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1533 +#: xs/src/libslic3r/PrintConfig.cpp:1631 msgid "Spacing between support material lines." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1542 +#: xs/src/libslic3r/PrintConfig.cpp:1640 msgid "Speed for printing support material." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1549 +#: xs/src/libslic3r/PrintConfig.cpp:1647 msgid "Synchronize with object layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1551 +#: xs/src/libslic3r/PrintConfig.cpp:1649 msgid "" "Synchronize support layers with the object print layers. This is useful with " "multi-material printers, where the extruder switch is expensive." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1557 +#: xs/src/libslic3r/PrintConfig.cpp:1655 msgid "Overhang threshold" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1559 +#: xs/src/libslic3r/PrintConfig.cpp:1657 msgid "" "Support material will not be generated for overhangs whose slope angle (90° " "= vertical) is above the given threshold. In other words, this value " @@ -2561,60 +3430,60 @@ msgid "" "detection (recommended)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1571 +#: xs/src/libslic3r/PrintConfig.cpp:1669 msgid "With sheath around the support" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1573 +#: xs/src/libslic3r/PrintConfig.cpp:1671 msgid "" "Add a sheath (a single perimeter line) around the base support. This makes " "the support more reliable, but also more difficult to remove." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1580 +#: xs/src/libslic3r/PrintConfig.cpp:1678 msgid "" "Extruder temperature for layers after the first one. Set this to zero to " "disable temperature control commands in the output." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1583 +#: xs/src/libslic3r/PrintConfig.cpp:1681 msgid "Temperature" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1589 +#: xs/src/libslic3r/PrintConfig.cpp:1687 msgid "Detect thin walls" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1591 +#: xs/src/libslic3r/PrintConfig.cpp:1689 msgid "" "Detect single-width walls (parts where two extrusions don't fit and we need " "to collapse them into a single trace)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1597 +#: xs/src/libslic3r/PrintConfig.cpp:1695 msgid "Threads" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1598 +#: xs/src/libslic3r/PrintConfig.cpp:1696 msgid "" "Threads are used to parallelize long-running tasks. Optimal threads number " "is slightly above the number of available cores/processors." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1610 +#: xs/src/libslic3r/PrintConfig.cpp:1708 msgid "" "This custom code is inserted right before every extruder change. Note that " "you can use placeholder variables for all Slic3r settings as well as " "[previous_extruder] and [next_extruder]." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1620 xs/src/libslic3r/PrintConfig.cpp:1631 -#: xs/src/libslic3r/GCode/PreviewData.cpp:143 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:85 +#: xs/src/libslic3r/PrintConfig.cpp:1718 xs/src/libslic3r/PrintConfig.cpp:1729 +#: xs/src/libslic3r/GCode/PreviewData.cpp:163 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:88 msgid "Top solid infill" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1622 +#: xs/src/libslic3r/PrintConfig.cpp:1720 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill for " "top surfaces. You may want to use thinner extrudates to fill all narrow " @@ -2623,7 +3492,7 @@ msgid "" "percentage (for example 90%) it will be computed over layer height." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1633 +#: xs/src/libslic3r/PrintConfig.cpp:1731 msgid "" "Speed for printing top solid layers (it only applies to the uppermost " "external layers and not to their internal solid layers). You may want to " @@ -2632,51 +3501,51 @@ msgid "" "for auto." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1645 lib/Slic3r/GUI/MainFrame.pm:363 +#: xs/src/libslic3r/PrintConfig.cpp:1743 lib/Slic3r/GUI/MainFrame.pm:306 msgid "Top" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1647 +#: xs/src/libslic3r/PrintConfig.cpp:1745 msgid "Number of solid layers to generate on top surfaces." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1649 +#: xs/src/libslic3r/PrintConfig.cpp:1747 msgid "Top solid layers" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1654 lib/Slic3r/GUI/Plater/3DPreview.pm:95 +#: xs/src/libslic3r/PrintConfig.cpp:1752 lib/Slic3r/GUI/Plater/3DPreview.pm:98 msgid "Travel" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1655 +#: xs/src/libslic3r/PrintConfig.cpp:1753 msgid "Speed for travel moves (jumps between distant extrusion points)." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1663 +#: xs/src/libslic3r/PrintConfig.cpp:1761 msgid "Use firmware retraction" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1664 +#: xs/src/libslic3r/PrintConfig.cpp:1762 msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " "handle the retraction. This is only supported in recent Marlin." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1670 +#: xs/src/libslic3r/PrintConfig.cpp:1768 msgid "Use relative E distances" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1671 +#: xs/src/libslic3r/PrintConfig.cpp:1769 msgid "" "If your firmware requires relative E values, check this, otherwise leave it " "unchecked. Most firmwares use absolute values." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1677 +#: xs/src/libslic3r/PrintConfig.cpp:1775 msgid "Use volumetric E" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1678 +#: xs/src/libslic3r/PrintConfig.cpp:1776 msgid "" "This experimental setting uses outputs the E values in cubic millimeters " "instead of linear millimeters. If your firmware doesn't already know " @@ -2686,83 +3555,113 @@ msgid "" "only supported in recent Marlin." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1688 +#: xs/src/libslic3r/PrintConfig.cpp:1786 msgid "Enable variable layer height feature" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1689 +#: xs/src/libslic3r/PrintConfig.cpp:1787 msgid "" "Some printers or printer setups may have difficulties printing with a " "variable layer height. Enabled by default." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1695 +#: xs/src/libslic3r/PrintConfig.cpp:1793 msgid "Wipe while retracting" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1696 +#: xs/src/libslic3r/PrintConfig.cpp:1794 msgid "" "This flag will move the nozzle while retracting to minimize the possible " "blob on leaky extruders." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1703 +#: xs/src/libslic3r/PrintConfig.cpp:1801 msgid "" "Multi material printers may need to prime or purge extruders on tool " "changes. Extrude the excess material into the wipe tower." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1709 +#: xs/src/libslic3r/PrintConfig.cpp:1807 +msgid "Purging volumes - load/unload volumes" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1808 +msgid "" +"This vector saves required volumes to change from/to each tool used on the " +"wipe tower. These values are used to simplify creation of the full purging " +"volumes below. " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1815 +msgid "Purging volumes - matrix" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1816 +msgid "" +"This matrix describes volumes (in cubic milimetres) required to purge the " +"new filament on the wipe tower for any given pair of tools. " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1826 msgid "Position X" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1710 +#: xs/src/libslic3r/PrintConfig.cpp:1827 msgid "X coordinate of the left front corner of a wipe tower" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1716 +#: xs/src/libslic3r/PrintConfig.cpp:1833 msgid "Position Y" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1717 +#: xs/src/libslic3r/PrintConfig.cpp:1834 msgid "Y coordinate of the left front corner of a wipe tower" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1723 lib/Slic3r/GUI/Plater/3DPreview.pm:70 +#: xs/src/libslic3r/PrintConfig.cpp:1840 lib/Slic3r/GUI/Plater/3DPreview.pm:69 msgid "Width" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1724 +#: xs/src/libslic3r/PrintConfig.cpp:1841 msgid "Width of a wipe tower" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1730 -msgid "Per color change depth" +#: xs/src/libslic3r/PrintConfig.cpp:1847 +msgid "Wipe tower rotation angle" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1731 -msgid "" -"Depth of a wipe color per color change. For N colors, there will be maximum " -"(N-1) tool switches performed, therefore the total depth of the wipe tower " -"will be (N-1) times this value." +#: xs/src/libslic3r/PrintConfig.cpp:1848 +msgid "Wipe tower rotation angle with respect to x-axis " msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1739 +#: xs/src/libslic3r/PrintConfig.cpp:1849 +msgid "degrees" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1854 +msgid "Maximal bridging distance" +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1855 +msgid "Maximal distance between supports on sparse infill sections. " +msgstr "" + +#: xs/src/libslic3r/PrintConfig.cpp:1861 msgid "XY Size Compensation" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1741 +#: xs/src/libslic3r/PrintConfig.cpp:1863 msgid "" "The object will be grown/shrunk in the XY plane by the configured value " "(negative = inwards, positive = outwards). This might be useful for fine-" "tuning hole sizes." msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1749 +#: xs/src/libslic3r/PrintConfig.cpp:1871 msgid "Z offset" msgstr "" -#: xs/src/libslic3r/PrintConfig.cpp:1750 +#: xs/src/libslic3r/PrintConfig.cpp:1872 msgid "" "This value will be added (or subtracted) from all the Z coordinates in the " "output G-code. It is used to compensate for bad Z endstop position: for " @@ -2770,980 +3669,946 @@ msgid "" "print bed, set this to -0.3 (or fix your endstop)." msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:138 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:80 +#: xs/src/libslic3r/GCode/PreviewData.cpp:158 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:83 msgid "Perimeter" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:139 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:81 +#: xs/src/libslic3r/GCode/PreviewData.cpp:159 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:84 msgid "External perimeter" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:140 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:82 +#: xs/src/libslic3r/GCode/PreviewData.cpp:160 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:85 msgid "Overhang perimeter" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:141 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:83 +#: xs/src/libslic3r/GCode/PreviewData.cpp:161 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:86 msgid "Internal infill" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:144 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:86 +#: xs/src/libslic3r/GCode/PreviewData.cpp:164 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:89 msgid "Bridge infill" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:151 +#: xs/src/libslic3r/GCode/PreviewData.cpp:171 msgid "Mixed" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:330 -#: lib/Slic3r/GUI/Plater/3DPreview.pm:68 +#: xs/src/libslic3r/GCode/PreviewData.cpp:362 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:67 msgid "Feature type" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:332 +#: xs/src/libslic3r/GCode/PreviewData.cpp:364 msgid "Height (mm)" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:334 +#: xs/src/libslic3r/GCode/PreviewData.cpp:366 msgid "Width (mm)" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:336 +#: xs/src/libslic3r/GCode/PreviewData.cpp:368 msgid "Speed (mm/s)" msgstr "" -#: xs/src/libslic3r/GCode/PreviewData.cpp:338 +#: xs/src/libslic3r/GCode/PreviewData.cpp:370 +msgid "Volumetric flow rate (mm3/s)" +msgstr "" + +#: xs/src/libslic3r/GCode/PreviewData.cpp:372 #: lib/Slic3r/GUI/Plater/3DPreview.pm:72 msgid "Tool" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:66 +#: lib/Slic3r/GUI.pm:303 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "" + +#: lib/Slic3r/GUI/MainFrame.pm:62 msgid "Version " msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:66 +#: lib/Slic3r/GUI/MainFrame.pm:62 msgid "" " - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:118 +#: lib/Slic3r/GUI/MainFrame.pm:114 msgid "Plater" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:120 +#: lib/Slic3r/GUI/MainFrame.pm:116 msgid "Controller" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:191 -msgid "No Bonjour device found" -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:191 -msgid "Device Browser" -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:212 -msgid "I wasn't able to connect to OctoPrint (" -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:213 -msgid "). Check hostname and OctoPrint version (at least 1.1.0 is required)." -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:245 +#: lib/Slic3r/GUI/MainFrame.pm:194 msgid "Open STL/OBJ/AMF…\tCtrl+O" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:245 +#: lib/Slic3r/GUI/MainFrame.pm:194 msgid "Open a model" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:248 +#: lib/Slic3r/GUI/MainFrame.pm:197 msgid "&Load Config…\tCtrl+L" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:248 +#: lib/Slic3r/GUI/MainFrame.pm:197 msgid "Load exported configuration file" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:251 +#: lib/Slic3r/GUI/MainFrame.pm:200 msgid "&Export Config…\tCtrl+E" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:251 +#: lib/Slic3r/GUI/MainFrame.pm:200 msgid "Export current configuration to file" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:254 +#: lib/Slic3r/GUI/MainFrame.pm:203 msgid "&Load Config Bundle…" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:254 +#: lib/Slic3r/GUI/MainFrame.pm:203 msgid "Load presets from a bundle" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:257 +#: lib/Slic3r/GUI/MainFrame.pm:206 msgid "&Export Config Bundle…" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:257 +#: lib/Slic3r/GUI/MainFrame.pm:206 msgid "Export all presets to file" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:262 +#: lib/Slic3r/GUI/MainFrame.pm:211 msgid "Q&uick Slice…\tCtrl+U" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:262 +#: lib/Slic3r/GUI/MainFrame.pm:211 msgid "Slice a file into a G-code" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:268 +#: lib/Slic3r/GUI/MainFrame.pm:217 msgid "Quick Slice and Save &As…\tCtrl+Alt+U" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:268 +#: lib/Slic3r/GUI/MainFrame.pm:217 msgid "Slice a file into a G-code, save as" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:274 +#: lib/Slic3r/GUI/MainFrame.pm:223 msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:274 +#: lib/Slic3r/GUI/MainFrame.pm:223 msgid "Repeat last quick slice" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:281 +#: lib/Slic3r/GUI/MainFrame.pm:230 msgid "Slice to SV&G…\tCtrl+G" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:281 +#: lib/Slic3r/GUI/MainFrame.pm:230 msgid "Slice file to a multi-layer SVG" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:285 +#: lib/Slic3r/GUI/MainFrame.pm:234 msgid "(&Re)Slice Now\tCtrl+S" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:285 +#: lib/Slic3r/GUI/MainFrame.pm:234 msgid "Start new slicing process" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:288 +#: lib/Slic3r/GUI/MainFrame.pm:237 msgid "Repair STL file…" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:288 +#: lib/Slic3r/GUI/MainFrame.pm:237 msgid "Automatically repair an STL file" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:293 -msgid "Preferences…\tCtrl+," -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:293 -msgid "Application preferences" -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:298 +#: lib/Slic3r/GUI/MainFrame.pm:241 msgid "&Quit" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:298 +#: lib/Slic3r/GUI/MainFrame.pm:241 msgid "Quit Slic3r" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:308 +#: lib/Slic3r/GUI/MainFrame.pm:251 msgid "Export G-code..." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:308 +#: lib/Slic3r/GUI/MainFrame.pm:251 msgid "Export current plate as G-code" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:311 +#: lib/Slic3r/GUI/MainFrame.pm:254 msgid "Export plate as STL..." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:311 +#: lib/Slic3r/GUI/MainFrame.pm:254 msgid "Export current plate as STL" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:314 +#: lib/Slic3r/GUI/MainFrame.pm:257 msgid "Export plate as AMF..." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:314 +#: lib/Slic3r/GUI/MainFrame.pm:257 msgid "Export current plate as AMF" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:317 +#: lib/Slic3r/GUI/MainFrame.pm:260 msgid "Export plate as 3MF..." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:317 +#: lib/Slic3r/GUI/MainFrame.pm:260 msgid "Export current plate as 3MF" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:330 +#: lib/Slic3r/GUI/MainFrame.pm:273 msgid "Select &Plater Tab\tCtrl+1" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:330 +#: lib/Slic3r/GUI/MainFrame.pm:273 msgid "Show the plater" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:336 +#: lib/Slic3r/GUI/MainFrame.pm:279 msgid "Select &Controller Tab\tCtrl+T" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:336 +#: lib/Slic3r/GUI/MainFrame.pm:279 msgid "Show the printer controller" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:344 +#: lib/Slic3r/GUI/MainFrame.pm:287 msgid "Select P&rint Settings Tab\tCtrl+2" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:344 +#: lib/Slic3r/GUI/MainFrame.pm:287 msgid "Show the print settings" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:347 +#: lib/Slic3r/GUI/MainFrame.pm:290 msgid "Select &Filament Settings Tab\tCtrl+3" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:347 +#: lib/Slic3r/GUI/MainFrame.pm:290 msgid "Show the filament settings" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:350 +#: lib/Slic3r/GUI/MainFrame.pm:293 msgid "Select Print&er Settings Tab\tCtrl+4" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:350 +#: lib/Slic3r/GUI/MainFrame.pm:293 msgid "Show the printer settings" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:362 +#: lib/Slic3r/GUI/MainFrame.pm:305 msgid "Iso" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:362 +#: lib/Slic3r/GUI/MainFrame.pm:305 msgid "Iso View" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:363 +#: lib/Slic3r/GUI/MainFrame.pm:306 msgid "Top View" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:364 +#: lib/Slic3r/GUI/MainFrame.pm:307 msgid "Bottom View" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:365 +#: lib/Slic3r/GUI/MainFrame.pm:308 msgid "Front" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:365 +#: lib/Slic3r/GUI/MainFrame.pm:308 msgid "Front View" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:366 +#: lib/Slic3r/GUI/MainFrame.pm:309 msgid "Rear" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:366 +#: lib/Slic3r/GUI/MainFrame.pm:309 msgid "Rear View" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:367 +#: lib/Slic3r/GUI/MainFrame.pm:310 msgid "Left" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:367 +#: lib/Slic3r/GUI/MainFrame.pm:310 msgid "Left View" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:368 +#: lib/Slic3r/GUI/MainFrame.pm:311 msgid "Right" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:368 +#: lib/Slic3r/GUI/MainFrame.pm:311 msgid "Right View" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:374 -msgid "&Configuration " -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:374 -msgid "Run Configuration " -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:379 +#: lib/Slic3r/GUI/MainFrame.pm:317 msgid "Prusa 3D Drivers" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:379 +#: lib/Slic3r/GUI/MainFrame.pm:317 msgid "Open the Prusa3D drivers download page in your browser" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:382 +#: lib/Slic3r/GUI/MainFrame.pm:320 msgid "Prusa Edition Releases" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:382 +#: lib/Slic3r/GUI/MainFrame.pm:320 msgid "Open the Prusa Edition releases page in your browser" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:389 +#: lib/Slic3r/GUI/MainFrame.pm:327 msgid "Slic3r &Website" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:389 +#: lib/Slic3r/GUI/MainFrame.pm:327 msgid "Open the Slic3r website in your browser" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:392 +#: lib/Slic3r/GUI/MainFrame.pm:330 msgid "Slic3r &Manual" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:392 +#: lib/Slic3r/GUI/MainFrame.pm:330 msgid "Open the Slic3r manual in your browser" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:396 +#: lib/Slic3r/GUI/MainFrame.pm:334 msgid "System Info" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:396 +#: lib/Slic3r/GUI/MainFrame.pm:334 msgid "Show system information" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:399 +#: lib/Slic3r/GUI/MainFrame.pm:337 msgid "Report an Issue" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:399 +#: lib/Slic3r/GUI/MainFrame.pm:337 msgid "Report an issue on the Slic3r Prusa Edition" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:402 +#: lib/Slic3r/GUI/MainFrame.pm:340 msgid "&About Slic3r" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:402 +#: lib/Slic3r/GUI/MainFrame.pm:340 msgid "Show about dialog" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:412 +#: lib/Slic3r/GUI/MainFrame.pm:350 msgid "&File" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:413 +#: lib/Slic3r/GUI/MainFrame.pm:351 msgid "&Plater" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:414 +#: lib/Slic3r/GUI/MainFrame.pm:352 msgid "&Object" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:415 +#: lib/Slic3r/GUI/MainFrame.pm:353 msgid "&Window" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:416 +#: lib/Slic3r/GUI/MainFrame.pm:354 msgid "&View" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:420 +#: lib/Slic3r/GUI/MainFrame.pm:357 msgid "&Help" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:452 +#: lib/Slic3r/GUI/MainFrame.pm:388 msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:464 +#: lib/Slic3r/GUI/MainFrame.pm:400 msgid "No previously sliced file." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:469 +#: lib/Slic3r/GUI/MainFrame.pm:401 lib/Slic3r/GUI/Plater.pm:1342 +msgid "Error" +msgstr "" + +#: lib/Slic3r/GUI/MainFrame.pm:405 msgid "Previously sliced file (" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:469 +#: lib/Slic3r/GUI/MainFrame.pm:405 msgid ") not found." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:470 +#: lib/Slic3r/GUI/MainFrame.pm:406 msgid "File Not Found" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:509 +#: lib/Slic3r/GUI/MainFrame.pm:445 msgid "SVG" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:509 +#: lib/Slic3r/GUI/MainFrame.pm:445 msgid "G-code" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:509 lib/Slic3r/GUI/Plater.pm:1615 +#: lib/Slic3r/GUI/MainFrame.pm:445 lib/Slic3r/GUI/Plater.pm:1660 msgid " file as:" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:523 +#: lib/Slic3r/GUI/MainFrame.pm:459 msgid "Slicing…" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:523 +#: lib/Slic3r/GUI/MainFrame.pm:459 msgid "Processing " msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:543 +#: lib/Slic3r/GUI/MainFrame.pm:479 msgid " was successfully sliced." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:545 +#: lib/Slic3r/GUI/MainFrame.pm:481 msgid "Slicing Done!" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:561 +#: lib/Slic3r/GUI/MainFrame.pm:497 msgid "Select the STL file to repair:" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:575 +#: lib/Slic3r/GUI/MainFrame.pm:511 msgid "Save OBJ file (less prone to coordinate errors than STL) as:" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:589 +#: lib/Slic3r/GUI/MainFrame.pm:525 msgid "Your file was repaired." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:589 +#: lib/Slic3r/GUI/MainFrame.pm:525 msgid "Repair" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:600 +#: lib/Slic3r/GUI/MainFrame.pm:536 msgid "Save configuration as:" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:618 lib/Slic3r/GUI/MainFrame.pm:662 +#: lib/Slic3r/GUI/MainFrame.pm:554 lib/Slic3r/GUI/MainFrame.pm:598 msgid "Select configuration to load:" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:641 +#: lib/Slic3r/GUI/MainFrame.pm:577 msgid "Save presets bundle as:" msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:682 +#: lib/Slic3r/GUI/MainFrame.pm:618 #, possible-perl-format msgid "%d presets successfully imported." msgstr "" -#: lib/Slic3r/GUI/MainFrame.pm:744 -msgid "You have unsaved changes " -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:744 -msgid ". Discard changes and continue anyway?" -msgstr "" - -#: lib/Slic3r/GUI/MainFrame.pm:745 -msgid "Unsaved Presets" -msgstr "" - -#: lib/Slic3r/GUI/Plater.pm:104 lib/Slic3r/GUI/Plater.pm:2094 +#: lib/Slic3r/GUI/Plater.pm:112 lib/Slic3r/GUI/Plater.pm:2153 msgid "3D" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:138 +#: lib/Slic3r/GUI/Plater.pm:148 msgid "2D" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:157 +#: lib/Slic3r/GUI/Plater.pm:167 msgid "Layers" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:177 lib/Slic3r/GUI/Plater.pm:195 +#: lib/Slic3r/GUI/Plater.pm:187 lib/Slic3r/GUI/Plater.pm:205 msgid "Add…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:179 lib/Slic3r/GUI/Plater.pm:197 +#: lib/Slic3r/GUI/Plater.pm:189 lib/Slic3r/GUI/Plater.pm:207 msgid "Delete All" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:180 lib/Slic3r/GUI/Plater.pm:198 +#: lib/Slic3r/GUI/Plater.pm:190 lib/Slic3r/GUI/Plater.pm:208 msgid "Arrange" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:182 +#: lib/Slic3r/GUI/Plater.pm:192 msgid "More" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:183 +#: lib/Slic3r/GUI/Plater.pm:193 msgid "Fewer" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:185 +#: lib/Slic3r/GUI/Plater.pm:195 msgid "45° ccw" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:186 +#: lib/Slic3r/GUI/Plater.pm:196 msgid "45° cw" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:187 lib/Slic3r/GUI/Plater.pm:203 +#: lib/Slic3r/GUI/Plater.pm:197 lib/Slic3r/GUI/Plater.pm:213 msgid "Scale…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:188 lib/Slic3r/GUI/Plater.pm:204 -#: lib/Slic3r/GUI/Plater.pm:2069 +#: lib/Slic3r/GUI/Plater.pm:198 lib/Slic3r/GUI/Plater.pm:214 +#: lib/Slic3r/GUI/Plater.pm:2128 msgid "Split" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:189 lib/Slic3r/GUI/Plater.pm:205 -#: lib/Slic3r/GUI/Plater.pm:2072 +#: lib/Slic3r/GUI/Plater.pm:199 lib/Slic3r/GUI/Plater.pm:215 +#: lib/Slic3r/GUI/Plater.pm:2131 msgid "Cut…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:191 lib/Slic3r/GUI/Plater.pm:206 -#: lib/Slic3r/GUI/Plater.pm:2076 +#: lib/Slic3r/GUI/Plater.pm:201 lib/Slic3r/GUI/Plater.pm:216 +#: lib/Slic3r/GUI/Plater.pm:2135 msgid "Settings…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:192 +#: lib/Slic3r/GUI/Plater.pm:202 msgid "Layer Editing" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:207 +#: lib/Slic3r/GUI/Plater.pm:217 msgid "Layer editing" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:220 +#: lib/Slic3r/GUI/Plater.pm:230 msgid "Name" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:221 lib/Slic3r/GUI/Plater.pm:904 +#: lib/Slic3r/GUI/Plater.pm:231 lib/Slic3r/GUI/Plater.pm:942 msgid "Copies" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:222 lib/Slic3r/GUI/Plater.pm:1060 -#: lib/Slic3r/GUI/Plater.pm:1065 lib/Slic3r/GUI/Plater.pm:2038 +#: lib/Slic3r/GUI/Plater.pm:232 lib/Slic3r/GUI/Plater.pm:1098 +#: lib/Slic3r/GUI/Plater.pm:1103 lib/Slic3r/GUI/Plater.pm:2097 msgid "Scale" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:236 +#: lib/Slic3r/GUI/Plater.pm:246 msgid "Export G-code…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:237 +#: lib/Slic3r/GUI/Plater.pm:247 msgid "Slice now" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:238 +#: lib/Slic3r/GUI/Plater.pm:248 msgid "Print…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:239 +#: lib/Slic3r/GUI/Plater.pm:249 msgid "Send to printer" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:240 +#: lib/Slic3r/GUI/Plater.pm:250 msgid "Export STL…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:367 +#: lib/Slic3r/GUI/Plater.pm:377 msgid "Print settings" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:369 +#: lib/Slic3r/GUI/Plater.pm:379 msgid "Printer" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:401 +#: lib/Slic3r/GUI/Plater.pm:411 msgid "Info" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:412 +#: lib/Slic3r/GUI/Plater.pm:422 msgid "Volume" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:413 +#: lib/Slic3r/GUI/Plater.pm:423 msgid "Facets" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:414 +#: lib/Slic3r/GUI/Plater.pm:424 msgid "Materials" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:415 +#: lib/Slic3r/GUI/Plater.pm:425 msgid "Manifold" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:441 +#: lib/Slic3r/GUI/Plater.pm:451 msgid "Sliced Info" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:450 +#: lib/Slic3r/GUI/Plater.pm:460 msgid "Used Filament (m)" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:451 +#: lib/Slic3r/GUI/Plater.pm:461 msgid "Used Filament (mm³)" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:452 +#: lib/Slic3r/GUI/Plater.pm:462 msgid "Used Filament (g)" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:454 +#: lib/Slic3r/GUI/Plater.pm:464 msgid "Estimated printing time" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:633 +#: lib/Slic3r/GUI/Plater.pm:662 msgid "Loading…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:633 lib/Slic3r/GUI/Plater.pm:647 +#: lib/Slic3r/GUI/Plater.pm:662 lib/Slic3r/GUI/Plater.pm:676 msgid "Processing input file\n" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:667 +#: lib/Slic3r/GUI/Plater.pm:699 msgid "" "This file contains several objects positioned at multiple heights. Instead " "of considering them as multiple objects, should I consider\n" "this file as a single object having multiple parts?\n" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:670 lib/Slic3r/GUI/Plater.pm:687 +#: lib/Slic3r/GUI/Plater.pm:702 lib/Slic3r/GUI/Plater.pm:719 msgid "Multi-part object detected" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:684 +#: lib/Slic3r/GUI/Plater.pm:716 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" "these files to represent a single object having multiple parts?\n" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:696 +#: lib/Slic3r/GUI/Plater.pm:728 msgid "Loaded " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:748 +#: lib/Slic3r/GUI/Plater.pm:786 msgid "" "Your object appears to be too large, so it was automatically scaled down to " "fit your print bed." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:749 +#: lib/Slic3r/GUI/Plater.pm:787 msgid "Object too large?" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:904 +#: lib/Slic3r/GUI/Plater.pm:942 msgid "Enter the number of copies of the selected object:" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:931 +#: lib/Slic3r/GUI/Plater.pm:969 msgid "" "\n" "Non-positive value." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:932 +#: lib/Slic3r/GUI/Plater.pm:970 msgid "" "\n" "Not a numeric value." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:933 +#: lib/Slic3r/GUI/Plater.pm:971 msgid "Slic3r Error" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1034 +#: lib/Slic3r/GUI/Plater.pm:992 +msgid "Enter the rotation angle:" +msgstr "" + +#: lib/Slic3r/GUI/Plater.pm:992 +msgid "Rotate around " +msgstr "" + +#: lib/Slic3r/GUI/Plater.pm:992 +msgid "Invalid rotation angle entered" +msgstr "" + +#: lib/Slic3r/GUI/Plater.pm:1072 #, possible-perl-format msgid "Enter the new size for the selected object (print bed: %smm):" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1035 lib/Slic3r/GUI/Plater.pm:1039 +#: lib/Slic3r/GUI/Plater.pm:1073 lib/Slic3r/GUI/Plater.pm:1077 msgid "Scale along " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1035 lib/Slic3r/GUI/Plater.pm:1039 -#: lib/Slic3r/GUI/Plater.pm:1060 lib/Slic3r/GUI/Plater.pm:1065 +#: lib/Slic3r/GUI/Plater.pm:1073 lib/Slic3r/GUI/Plater.pm:1077 +#: lib/Slic3r/GUI/Plater.pm:1098 lib/Slic3r/GUI/Plater.pm:1103 msgid "Invalid scaling value entered" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1039 lib/Slic3r/GUI/Plater.pm:1065 -#, possible-perl-format +#: lib/Slic3r/GUI/Plater.pm:1077 lib/Slic3r/GUI/Plater.pm:1103 +#, no-perl-format msgid "Enter the scale % for the selected object:" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1060 +#: lib/Slic3r/GUI/Plater.pm:1098 msgid "Enter the new max size for the selected object:" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1116 +#: lib/Slic3r/GUI/Plater.pm:1154 msgid "" "The selected object can't be split because it contains more than one volume/" "material." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1125 +#: lib/Slic3r/GUI/Plater.pm:1163 msgid "" "The selected object couldn't be split because it contains only one part." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1290 +#: lib/Slic3r/GUI/Plater.pm:1328 msgid "Slicing cancelled" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1304 +#: lib/Slic3r/GUI/Plater.pm:1342 msgid "Another export job is currently running." msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1335 -msgid "Save G-code file as:" -msgstr "" - -#: lib/Slic3r/GUI/Plater.pm:1352 -msgid "Export cancelled" -msgstr "" - -#: lib/Slic3r/GUI/Plater.pm:1449 +#: lib/Slic3r/GUI/Plater.pm:1490 msgid "File added to print queue" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1452 -msgid "Sending G-code file to the OctoPrint server..." -msgstr "" - -#: lib/Slic3r/GUI/Plater.pm:1455 +#: lib/Slic3r/GUI/Plater.pm:1496 msgid "G-code file exported to " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1458 +#: lib/Slic3r/GUI/Plater.pm:1499 msgid "Export failed" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1509 lib/Slic3r/GUI/Plater.pm:1551 +#: lib/Slic3r/GUI/Plater.pm:1511 +msgid "OctoPrint upload finished." +msgstr "" + +#: lib/Slic3r/GUI/Plater.pm:1554 lib/Slic3r/GUI/Plater.pm:1596 msgid "STL file exported to " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1562 +#: lib/Slic3r/GUI/Plater.pm:1607 msgid "AMF file exported to " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1566 +#: lib/Slic3r/GUI/Plater.pm:1611 msgid "Error exporting AMF file " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1578 +#: lib/Slic3r/GUI/Plater.pm:1623 msgid "3MF file exported to " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1582 +#: lib/Slic3r/GUI/Plater.pm:1627 msgid "Error exporting 3MF file " msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1818 -msgid "" -"Please install the OpenGL modules to use this feature (see build " -"instructions)." -msgstr "" - -#: lib/Slic3r/GUI/Plater.pm:1928 +#: lib/Slic3r/GUI/Plater.pm:1985 #, possible-perl-format msgid "%d (%d shells)" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1930 +#: lib/Slic3r/GUI/Plater.pm:1987 #, possible-perl-format msgid "Auto-repaired (%d errors)" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1935 +#: lib/Slic3r/GUI/Plater.pm:1992 #, possible-perl-format msgid "" "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " "facets reversed, %d backwards edges" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1940 +#: lib/Slic3r/GUI/Plater.pm:1997 msgid "Yes" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1991 +#: lib/Slic3r/GUI/Plater.pm:2050 msgid "Remove the selected object" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1994 +#: lib/Slic3r/GUI/Plater.pm:2053 msgid "Increase copies" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1994 +#: lib/Slic3r/GUI/Plater.pm:2053 msgid "Place one more copy of the selected object" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1997 +#: lib/Slic3r/GUI/Plater.pm:2056 msgid "Decrease copies" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:1997 +#: lib/Slic3r/GUI/Plater.pm:2056 msgid "Remove one copy of the selected object" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2000 +#: lib/Slic3r/GUI/Plater.pm:2059 msgid "Set number of copies…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2000 +#: lib/Slic3r/GUI/Plater.pm:2059 msgid "Change the number of copies of the selected object" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2004 +#: lib/Slic3r/GUI/Plater.pm:2063 msgid "Rotate 45° clockwise" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2004 +#: lib/Slic3r/GUI/Plater.pm:2063 msgid "Rotate the selected object by 45° clockwise" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2007 +#: lib/Slic3r/GUI/Plater.pm:2066 msgid "Rotate 45° counter-clockwise" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2007 +#: lib/Slic3r/GUI/Plater.pm:2066 msgid "Rotate the selected object by 45° counter-clockwise" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2012 +#: lib/Slic3r/GUI/Plater.pm:2071 msgid "Rotate" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2012 +#: lib/Slic3r/GUI/Plater.pm:2071 msgid "Rotate the selected object by an arbitrary angle" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2014 +#: lib/Slic3r/GUI/Plater.pm:2073 msgid "Around X axis…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2014 +#: lib/Slic3r/GUI/Plater.pm:2073 msgid "Rotate the selected object by an arbitrary angle around X axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2017 +#: lib/Slic3r/GUI/Plater.pm:2076 msgid "Around Y axis…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2017 +#: lib/Slic3r/GUI/Plater.pm:2076 msgid "Rotate the selected object by an arbitrary angle around Y axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2020 +#: lib/Slic3r/GUI/Plater.pm:2079 msgid "Around Z axis…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2020 +#: lib/Slic3r/GUI/Plater.pm:2079 msgid "Rotate the selected object by an arbitrary angle around Z axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2025 +#: lib/Slic3r/GUI/Plater.pm:2084 msgid "Mirror" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2025 +#: lib/Slic3r/GUI/Plater.pm:2084 msgid "Mirror the selected object" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2027 lib/Slic3r/GUI/Plater.pm:2043 -#: lib/Slic3r/GUI/Plater.pm:2059 +#: lib/Slic3r/GUI/Plater.pm:2086 lib/Slic3r/GUI/Plater.pm:2102 +#: lib/Slic3r/GUI/Plater.pm:2118 msgid "Along X axis…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2027 +#: lib/Slic3r/GUI/Plater.pm:2086 msgid "Mirror the selected object along the X axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2030 lib/Slic3r/GUI/Plater.pm:2046 -#: lib/Slic3r/GUI/Plater.pm:2062 +#: lib/Slic3r/GUI/Plater.pm:2089 lib/Slic3r/GUI/Plater.pm:2105 +#: lib/Slic3r/GUI/Plater.pm:2121 msgid "Along Y axis…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2030 +#: lib/Slic3r/GUI/Plater.pm:2089 msgid "Mirror the selected object along the Y axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2033 lib/Slic3r/GUI/Plater.pm:2049 -#: lib/Slic3r/GUI/Plater.pm:2065 +#: lib/Slic3r/GUI/Plater.pm:2092 lib/Slic3r/GUI/Plater.pm:2108 +#: lib/Slic3r/GUI/Plater.pm:2124 msgid "Along Z axis…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2033 +#: lib/Slic3r/GUI/Plater.pm:2092 msgid "Mirror the selected object along the Z axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2038 lib/Slic3r/GUI/Plater.pm:2054 +#: lib/Slic3r/GUI/Plater.pm:2097 lib/Slic3r/GUI/Plater.pm:2113 msgid "Scale the selected object along a single axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2040 lib/Slic3r/GUI/Plater.pm:2056 +#: lib/Slic3r/GUI/Plater.pm:2099 lib/Slic3r/GUI/Plater.pm:2115 msgid "Uniformly…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2040 lib/Slic3r/GUI/Plater.pm:2056 +#: lib/Slic3r/GUI/Plater.pm:2099 lib/Slic3r/GUI/Plater.pm:2115 msgid "Scale the selected object along the XYZ axes" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2043 lib/Slic3r/GUI/Plater.pm:2059 +#: lib/Slic3r/GUI/Plater.pm:2102 lib/Slic3r/GUI/Plater.pm:2118 msgid "Scale the selected object along the X axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2046 lib/Slic3r/GUI/Plater.pm:2062 +#: lib/Slic3r/GUI/Plater.pm:2105 lib/Slic3r/GUI/Plater.pm:2121 msgid "Scale the selected object along the Y axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2049 lib/Slic3r/GUI/Plater.pm:2065 +#: lib/Slic3r/GUI/Plater.pm:2108 lib/Slic3r/GUI/Plater.pm:2124 msgid "Scale the selected object along the Z axis" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2054 +#: lib/Slic3r/GUI/Plater.pm:2113 msgid "Scale to size" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2069 +#: lib/Slic3r/GUI/Plater.pm:2128 msgid "Split the selected object into individual parts" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2072 +#: lib/Slic3r/GUI/Plater.pm:2131 msgid "Open the 3D cutting tool" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2076 +#: lib/Slic3r/GUI/Plater.pm:2135 msgid "Open the object editor dialog" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2080 +#: lib/Slic3r/GUI/Plater.pm:2139 msgid "Reload from Disk" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2080 +#: lib/Slic3r/GUI/Plater.pm:2139 msgid "Reload the selected file from Disk" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2083 +#: lib/Slic3r/GUI/Plater.pm:2142 msgid "Export object as STL…" msgstr "" -#: lib/Slic3r/GUI/Plater.pm:2083 +#: lib/Slic3r/GUI/Plater.pm:2142 msgid "Export this single object as STL file" msgstr "" @@ -3755,30 +4620,34 @@ msgstr "" msgid "Drag your objects here" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:63 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:62 msgid "1 Layer" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:65 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:64 msgid "View" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:75 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:71 +msgid "Volumetric flow rate" +msgstr "" + +#: lib/Slic3r/GUI/Plater/3DPreview.pm:78 msgid "Show" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:78 lib/Slic3r/GUI/Plater/3DPreview.pm:79 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:81 lib/Slic3r/GUI/Plater/3DPreview.pm:82 msgid "Feature types" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:96 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:99 msgid "Retractions" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:97 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:100 msgid "Unretractions" msgstr "" -#: lib/Slic3r/GUI/Plater/3DPreview.pm:98 +#: lib/Slic3r/GUI/Plater/3DPreview.pm:101 msgid "Shells" msgstr "" diff --git a/resources/localization/list.txt b/resources/localization/list.txt index 292549545..2112d67c3 100644 --- a/resources/localization/list.txt +++ b/resources/localization/list.txt @@ -1,15 +1,23 @@ +xs/src/slic3r/GUI/AboutDialog.cpp xs/src/slic3r/GUI/BedShapeDialog.cpp xs/src/slic3r/GUI/BedShapeDialog.hpp +xs/src/slic3r/GUI/BonjourDialog.cpp +xs/src/slic3r/GUI/ButtonsDescription.cpp +xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp +xs/src/slic3r/GUI/ConfigWizard.cpp xs/src/slic3r/GUI/GUI.cpp +xs/src/slic3r/GUI/MsgDialog.cpp xs/src/slic3r/GUI/Tab.cpp xs/src/slic3r/GUI/Tab.hpp xs/src/slic3r/GUI/Field.cpp xs/src/slic3r/GUI/OptionsGroup.cpp -xs/src/slic3r/GUI/2DBed.cpp +xs/src/slic3r/GUI/Preset.cpp +xs/src/slic3r/GUI/PresetBundle.cpp xs/src/slic3r/GUI/PresetHints.cpp -xs/src/slic3r/GUI/Preferences.hpp xs/src/slic3r/GUI/Preferences.cpp -xs/src/slic3r/GUI/BonjourDialog.cpp +xs/src/slic3r/GUI/RammingChart.cpp +xs/src/slic3r/GUI/UpdateDialogs.cpp +xs/src/slic3r/GUI/WipeTowerDialog.cpp xs/src/slic3r/Utils/OctoPrint.cpp xs/src/libslic3r/PrintConfig.cpp xs/src/libslic3r/GCode/PreviewData.cpp diff --git a/xs/src/slic3r/GUI/AboutDialog.cpp b/xs/src/slic3r/GUI/AboutDialog.cpp index 3c359fd66..e3c452872 100644 --- a/xs/src/slic3r/GUI/AboutDialog.cpp +++ b/xs/src/slic3r/GUI/AboutDialog.cpp @@ -57,7 +57,7 @@ AboutDialog::AboutDialog() // version { - auto version_string = _(L("Version ")) + std::string(SLIC3R_VERSION); + auto version_string = _(L("Version"))+ " " + std::string(SLIC3R_VERSION); wxStaticText* version = new wxStaticText(this, wxID_ANY, version_string.c_str(), wxDefaultPosition, wxDefaultSize); wxFont version_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); #ifdef __WXMSW__ diff --git a/xs/src/slic3r/GUI/BonjourDialog.cpp b/xs/src/slic3r/GUI/BonjourDialog.cpp index 34fac9a91..11cfea642 100644 --- a/xs/src/slic3r/GUI/BonjourDialog.cpp +++ b/xs/src/slic3r/GUI/BonjourDialog.cpp @@ -191,7 +191,7 @@ void BonjourDialog::on_timer(wxTimerEvent &) label->SetLabel(wxString::Format("%s %s", search_str, dots)); timer_state = (timer_state) % 3 + 1; } else { - label->SetLabel(wxString::Format("%s: %s", search_str, _(L("Finished.")))); + label->SetLabel(wxString::Format("%s: %s", search_str, _(L("Finished"))+".")); timer->Stop(); } } diff --git a/xs/src/slic3r/GUI/ButtonsDescription.cpp b/xs/src/slic3r/GUI/ButtonsDescription.cpp index 7ea16d942..5739fc90e 100644 --- a/xs/src/slic3r/GUI/ButtonsDescription.cpp +++ b/xs/src/slic3r/GUI/ButtonsDescription.cpp @@ -10,7 +10,7 @@ namespace Slic3r { namespace GUI { ButtonsDescription::ButtonsDescription(wxWindow* parent, t_icon_descriptions* icon_descriptions) : - wxDialog(parent, wxID_ANY, "Buttons And Text Colors Description", wxDefaultPosition, wxDefaultSize), + wxDialog(parent, wxID_ANY, _(L("Buttons And Text Colors Description")), wxDefaultPosition, wxDefaultSize), m_icon_descriptions(icon_descriptions) { auto grid_sizer = new wxFlexGridSizer(3, 20, 20); diff --git a/xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp b/xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp index c0affcab7..efcbf05bd 100644 --- a/xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp +++ b/xs/src/slic3r/GUI/ConfigSnapshotDialog.cpp @@ -8,32 +8,32 @@ namespace Slic3r { namespace GUI { -static std::string format_reason(const Config::Snapshot::Reason reason) +static wxString format_reason(const Config::Snapshot::Reason reason) { switch (reason) { case Config::Snapshot::SNAPSHOT_UPGRADE: - return std::string(_(L("Upgrade"))); + return wxString(_(L("Upgrade"))); case Config::Snapshot::SNAPSHOT_DOWNGRADE: - return std::string(_(L("Downgrade"))); + return wxString(_(L("Downgrade"))); case Config::Snapshot::SNAPSHOT_BEFORE_ROLLBACK: - return std::string(_(L("Before roll back"))); + return wxString(_(L("Before roll back"))); case Config::Snapshot::SNAPSHOT_USER: - return std::string(_(L("User"))); + return wxString(_(L("User"))); case Config::Snapshot::SNAPSHOT_UNKNOWN: default: - return std::string(_(L("Unknown"))); + return wxString(_(L("Unknown"))); } } -static std::string generate_html_row(const Config::Snapshot &snapshot, bool row_even, bool snapshot_active) +static wxString generate_html_row(const Config::Snapshot &snapshot, bool row_even, bool snapshot_active) { // Start by declaring a row with an alternating background color. - std::string text = ""; text += ""; // Format the row header. - text += std::string("") + (snapshot_active ? _(L("Active: ")) : "") + + text += wxString("") + (snapshot_active ? _(L("Active: ")) : "") + Utils::format_local_date_time(snapshot.time_captured) + ": " + format_reason(snapshot.reason); if (! snapshot.comment.empty()) text += " (" + snapshot.comment + ")"; @@ -46,9 +46,10 @@ static std::string generate_html_row(const Config::Snapshot &snapshot, bool row_ bool compatible = true; for (const Config::Snapshot::VendorConfig &vc : snapshot.vendor_configs) { - text += _(L("vendor")) + ": " + vc.name + ", ver: " + vc.version.config_version.to_string() + ", min slic3r ver: " + vc.version.min_slic3r_version.to_string(); + text += _(L("vendor")) + ": " + vc.name +", " + _(L("version")) + ": " + vc.version.config_version.to_string() + + ", " + _(L("min slic3r version")) + ": " + vc.version.min_slic3r_version.to_string(); if (vc.version.max_slic3r_version != Semver::inf()) - text += ", max slic3r ver: " + vc.version.max_slic3r_version.to_string(); + text += ", " + _(L("max slic3r version")) + ": " + vc.version.max_slic3r_version.to_string(); text += "
"; for (const std::pair> &model : vc.models_variants_installed) { text += _(L("model")) + ": " + model.first + ", " + _(L("variants")) + ": "; @@ -72,9 +73,9 @@ static std::string generate_html_row(const Config::Snapshot &snapshot, bool row_ return text; } -static std::string generate_html_page(const Config::SnapshotDB &snapshot_db, const std::string &on_snapshot) +static wxString generate_html_page(const Config::SnapshotDB &snapshot_db, const wxString &on_snapshot) { - std::string text = + wxString text = "" "" ""; @@ -91,7 +92,7 @@ static std::string generate_html_page(const Config::SnapshotDB &snapshot_db, con return text; } -ConfigSnapshotDialog::ConfigSnapshotDialog(const Config::SnapshotDB &snapshot_db, const std::string &on_snapshot) +ConfigSnapshotDialog::ConfigSnapshotDialog(const Config::SnapshotDB &snapshot_db, const wxString &on_snapshot) : wxDialog(NULL, wxID_ANY, _(L("Configuration Snapshots")), wxDefaultPosition, wxSize(600, 500), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxMAXIMIZE_BOX) { this->SetBackgroundColour(*wxWHITE); @@ -110,8 +111,8 @@ ConfigSnapshotDialog::ConfigSnapshotDialog(const Config::SnapshotDB &snapshot_db #endif html->SetFonts(font.GetFaceName(), font.GetFaceName(), size); html->SetBorders(2); - std::string text = generate_html_page(snapshot_db, on_snapshot); - html->SetPage(text.c_str()); + wxString text = generate_html_page(snapshot_db, on_snapshot); + html->SetPage(text); vsizer->Add(html, 1, wxEXPAND | wxALIGN_LEFT | wxRIGHT | wxBOTTOM, 0); html->Bind(wxEVT_HTML_LINK_CLICKED, &ConfigSnapshotDialog::onLinkClicked, this); } diff --git a/xs/src/slic3r/GUI/ConfigSnapshotDialog.hpp b/xs/src/slic3r/GUI/ConfigSnapshotDialog.hpp index 943601e73..f43fb8ed1 100644 --- a/xs/src/slic3r/GUI/ConfigSnapshotDialog.hpp +++ b/xs/src/slic3r/GUI/ConfigSnapshotDialog.hpp @@ -17,7 +17,7 @@ namespace Config { class ConfigSnapshotDialog : public wxDialog { public: - ConfigSnapshotDialog(const Config::SnapshotDB &snapshot_db, const std::string &id); + ConfigSnapshotDialog(const Config::SnapshotDB &snapshot_db, const wxString &id); const std::string& snapshot_to_activate() const { return m_snapshot_to_activate; } private: diff --git a/xs/src/slic3r/GUI/GUI.cpp b/xs/src/slic3r/GUI/GUI.cpp index 8d8818126..e6c07b470 100644 --- a/xs/src/slic3r/GUI/GUI.cpp +++ b/xs/src/slic3r/GUI/GUI.cpp @@ -203,7 +203,7 @@ static void init_label_colours() { auto luma = get_colour_approx_luma(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); if (luma >= 128) { - g_color_label_modified = wxColour(253, 88, 0); + g_color_label_modified = wxColour(252, 77, 1); g_color_label_sys = wxColour(26, 132, 57); } else { g_color_label_modified = wxColour(253, 111, 40); @@ -339,6 +339,7 @@ bool load_language() void save_language() { + //! TO DO !! use GetCanonicalName; long language = wxLANGUAGE_UNKNOWN; if (g_wxLocale) { language = g_wxLocale->GetLanguage(); @@ -398,12 +399,12 @@ void add_config_menu(wxMenuBar *menu, int event_preferences_changed, int event_l const auto config_wizard_tooltip = wxString::Format(_(L("Run %s")), ConfigWizard::name()); // Cmd+, is standard on OS X - what about other operating systems? - local_menu->Append(config_id_base + ConfigMenuWizard, ConfigWizard::name() + "\u2026", config_wizard_tooltip); - local_menu->Append(config_id_base + ConfigMenuSnapshots, _(L("Configuration Snapshots\u2026")), _(L("Inspect / activate configuration snapshots"))); - local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _(L("Take Configuration Snapshot")), _(L("Capture a configuration snapshot"))); - local_menu->Append(config_id_base + ConfigMenuUpdate, _(L("Check for updates")), _(L("Check for configuration updates"))); + local_menu->Append(config_id_base + ConfigMenuWizard, ConfigWizard::name() + "\u2026", config_wizard_tooltip); + local_menu->Append(config_id_base + ConfigMenuSnapshots, _(L("Configuration Snapshots"))+"\u2026", _(L("Inspect / activate configuration snapshots"))); + local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _(L("Take Configuration Snapshot")), _(L("Capture a configuration snapshot"))); + local_menu->Append(config_id_base + ConfigMenuUpdate, _(L("Check for updates")), _(L("Check for configuration updates"))); local_menu->AppendSeparator(); - local_menu->Append(config_id_base + ConfigMenuPreferences, _(L("Preferences\u2026\tCtrl+,")), _(L("Application preferences"))); + local_menu->Append(config_id_base + ConfigMenuPreferences, _(L("Preferences"))+"\u2026\tCtrl+,", _(L("Application preferences"))); local_menu->AppendSeparator(); local_menu->Append(config_id_base + ConfigMenuLanguage, _(L("Change Application Language"))); local_menu->Bind(wxEVT_MENU, [config_id_base, event_language_change, event_preferences_changed](wxEvent &event){ @@ -685,7 +686,7 @@ void show_info(wxWindow* parent, const wxString& message, const wxString& title) } void warning_catcher(wxWindow* parent, const wxString& message){ - if (message == _(L("GLUquadricObjPtr | Attempt to free unreferenced scalar")) ) + if (message == "GLUquadricObjPtr | " + _(L("Attempt to free unreferenced scalar")) ) return; wxMessageDialog msg(parent, message, _(L("Warning")), wxOK | wxICON_WARNING); msg.ShowModal(); @@ -903,7 +904,7 @@ void add_frequently_changed_parameters(wxWindow* parent, wxBoxSizer* sizer, wxFl m_optgroup->append_single_option_line(option); - Line line = { _(L("")), "" }; + Line line = { "", "" }; line.widget = [config](wxWindow* parent){ g_wiping_dialog_button = new wxButton(parent, wxID_ANY, _(L("Purging volumes")) + "\u2026", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); auto sizer = new wxBoxSizer(wxHORIZONTAL); diff --git a/xs/src/slic3r/GUI/Preferences.cpp b/xs/src/slic3r/GUI/Preferences.cpp index 4c60577d5..cb7ac92a6 100644 --- a/xs/src/slic3r/GUI/Preferences.cpp +++ b/xs/src/slic3r/GUI/Preferences.cpp @@ -5,6 +5,12 @@ namespace Slic3r { namespace GUI { +PreferencesDialog::PreferencesDialog(wxWindow* parent, int event_preferences) : + wxDialog(parent, wxID_ANY, _(L("Preferences")), wxDefaultPosition, wxDefaultSize), + m_event_preferences(event_preferences) { + build(); + } + void PreferencesDialog::build() { auto app_config = get_app_config(); diff --git a/xs/src/slic3r/GUI/Preferences.hpp b/xs/src/slic3r/GUI/Preferences.hpp index f94a1db69..d01d78b70 100644 --- a/xs/src/slic3r/GUI/Preferences.hpp +++ b/xs/src/slic3r/GUI/Preferences.hpp @@ -17,8 +17,7 @@ class PreferencesDialog : public wxDialog std::shared_ptr m_optgroup; int m_event_preferences; public: - PreferencesDialog(wxWindow* parent, int event_preferences) : wxDialog(parent, wxID_ANY, _(L("Preferences")), - wxDefaultPosition, wxDefaultSize), m_event_preferences(event_preferences) { build(); } + PreferencesDialog(wxWindow* parent, int event_preferences); ~PreferencesDialog(){ } void build(); diff --git a/xs/src/slic3r/GUI/Preset.cpp b/xs/src/slic3r/GUI/Preset.cpp index bc59ac2f9..1388c3510 100644 --- a/xs/src/slic3r/GUI/Preset.cpp +++ b/xs/src/slic3r/GUI/Preset.cpp @@ -602,7 +602,7 @@ void PresetCollection::update_platter_ui(wxBitmapComboBox *ui) std::map nonsys_presets; wxString selected = ""; if (!this->m_presets.front().is_visible) - ui->Append("------- System presets -------", wxNullBitmap); + ui->Append("------- " +_(L("System presets")) + " -------", wxNullBitmap); for (size_t i = this->m_presets.front().is_visible ? 0 : 1; i < this->m_presets.size(); ++i) { const Preset &preset = this->m_presets[i]; if (! preset.is_visible || (! preset.is_compatible && i != m_idx_selected)) @@ -642,11 +642,11 @@ void PresetCollection::update_platter_ui(wxBitmapComboBox *ui) selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str()); } if (preset.is_default) - ui->Append("------- System presets -------", wxNullBitmap); + ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap); } if (!nonsys_presets.empty()) { - ui->Append("------- User presets -------", wxNullBitmap); + ui->Append("------- " + _(L("User presets")) + " -------", wxNullBitmap); for (std::map::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) { ui->Append(it->first, *it->second); if (it->first == selected) @@ -667,7 +667,7 @@ size_t PresetCollection::update_tab_ui(wxBitmapComboBox *ui, bool show_incompati std::map nonsys_presets; wxString selected = ""; if (!this->m_presets.front().is_visible) - ui->Append("------- System presets -------", wxNullBitmap); + ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap); for (size_t i = this->m_presets.front().is_visible ? 0 : 1; i < this->m_presets.size(); ++i) { const Preset &preset = this->m_presets[i]; if (! preset.is_visible || (! show_incompatible && ! preset.is_compatible && i != m_idx_selected)) @@ -699,11 +699,11 @@ size_t PresetCollection::update_tab_ui(wxBitmapComboBox *ui, bool show_incompati selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str()); } if (preset.is_default) - ui->Append("------- System presets -------", wxNullBitmap); + ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap); } if (!nonsys_presets.empty()) { - ui->Append("------- User presets -------", wxNullBitmap); + ui->Append("------- " + _(L("User presets")) + " -------", wxNullBitmap); for (std::map::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) { ui->Append(it->first, *it->second); if (it->first == selected) @@ -808,11 +808,6 @@ bool PresetCollection::select_preset_by_name(const std::string &name_w_suffix, b // If the first visible preset was not found, return the 0th element, which is the default preset. } - // Temporary decision - if (name_w_suffix == "------- System presets -------" || - name_w_suffix == "------- User presets -------") - return true; - // 2) Select the new preset. if (m_idx_selected != idx || force) { this->select_preset(idx); diff --git a/xs/src/slic3r/GUI/PresetBundle.cpp b/xs/src/slic3r/GUI/PresetBundle.cpp index 9123e144b..63b6a4e0c 100644 --- a/xs/src/slic3r/GUI/PresetBundle.cpp +++ b/xs/src/slic3r/GUI/PresetBundle.cpp @@ -1011,8 +1011,7 @@ void PresetBundle::export_configbundle(const std::string &path) //, const Dynami // an optional "(modified)" suffix will be removed from the filament name. void PresetBundle::set_filament_preset(size_t idx, const std::string &name) { - if (name == "------- System presets -------" || - name == "------- User presets -------") + if (name.find_first_of("-------") == 0) return; if (idx >= filament_presets.size()) @@ -1066,7 +1065,7 @@ void PresetBundle::update_platter_filament_ui(unsigned int idx_extruder, wxBitma std::map nonsys_presets; wxString selected_str = ""; if (!this->filaments().front().is_visible) - ui->Append("------- System presets -------", wxNullBitmap); + ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap); for (int i = this->filaments().front().is_visible ? 0 : 1; i < int(this->filaments().size()); ++i) { const Preset &preset = this->filaments.preset(i); bool selected = this->filament_presets[idx_extruder] == preset.name; @@ -1119,12 +1118,12 @@ void PresetBundle::update_platter_filament_ui(unsigned int idx_extruder, wxBitma selected_str = wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()); } if (preset.is_default) - ui->Append("------- System presets -------", wxNullBitmap); + ui->Append("------- " + _(L("System presets")) + " -------", wxNullBitmap); } if (!nonsys_presets.empty()) { - ui->Append("------- User presets -------", wxNullBitmap); + ui->Append("------- " + _(L("User presets")) + " -------", wxNullBitmap); for (std::map::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) { ui->Append(it->first, *it->second); if (it->first == selected_str) diff --git a/xs/src/slic3r/GUI/RammingChart.cpp b/xs/src/slic3r/GUI/RammingChart.cpp index 1ef43be02..97a6b7712 100644 --- a/xs/src/slic3r/GUI/RammingChart.cpp +++ b/xs/src/slic3r/GUI/RammingChart.cpp @@ -25,7 +25,7 @@ void Chart::draw() { dc.DrawRectangle(m_rect); if (visible_area.m_width < 0.499) { - dc.DrawText("NO RAMMING AT ALL",wxPoint(m_rect.GetLeft()+m_rect.GetWidth()/2-50,m_rect.GetBottom()-m_rect.GetHeight()/2)); + dc.DrawText(_(L("NO RAMMING AT ALL")),wxPoint(m_rect.GetLeft()+m_rect.GetWidth()/2-50,m_rect.GetBottom()-m_rect.GetHeight()/2)); return; } @@ -78,12 +78,12 @@ void Chart::draw() { } // axis labels: - wxString label = L("Time (s)"); + wxString label = _(L("Time")) + " ("+_(L("s"))+")"; int text_width = 0; int text_height = 0; dc.GetTextExtent(label,&text_width,&text_height); dc.DrawText(label,wxPoint(0.5*(m_rect.GetRight()+m_rect.GetLeft())-text_width/2.f, m_rect.GetBottom()+25)); - label = L("Volumetric speed (mm\u00B3/s)"); + label = _(L("Volumetric speed")) + " (" + _(L("mm")) + "\u00B3/" + _(L("s")) + ")"; dc.GetTextExtent(label,&text_width,&text_height); dc.DrawRotatedText(label,wxPoint(0,0.5*(m_rect.GetBottom()+m_rect.GetTop())+text_width/2.f),90); } diff --git a/xs/src/slic3r/GUI/Tab.cpp b/xs/src/slic3r/GUI/Tab.cpp index bb1d938a8..ee75f1920 100644 --- a/xs/src/slic3r/GUI/Tab.cpp +++ b/xs/src/slic3r/GUI/Tab.cpp @@ -230,8 +230,9 @@ void Tab::create_preset_tab(PresetBundle *preset_bundle) return; if (selected_item >= 0){ std::string selected_string = m_presets_choice->GetString(selected_item).ToUTF8().data(); - if (selected_string == "------- System presets -------" || - selected_string == "------- User presets -------"){ + if (selected_string.find_first_of("-------") == 0 + /*selected_string == "------- System presets -------" || + selected_string == "------- User presets -------"*/){ m_presets_choice->SetSelection(m_selected_preset_item); return; } diff --git a/xs/src/slic3r/GUI/WipeTowerDialog.cpp b/xs/src/slic3r/GUI/WipeTowerDialog.cpp index b34de0745..4b25ccd3a 100644 --- a/xs/src/slic3r/GUI/WipeTowerDialog.cpp +++ b/xs/src/slic3r/GUI/WipeTowerDialog.cpp @@ -79,15 +79,15 @@ RammingPanel::RammingPanel(wxWindow* parent, const std::string& parameters) m_widget_ramming_step_multiplicator = new wxSpinCtrl(this,wxID_ANY,wxEmptyString,wxDefaultPosition,wxSize(75, -1),wxSP_ARROW_KEYS,10,200,100); auto gsizer_param = new wxFlexGridSizer(2, 5, 15); - gsizer_param->Add(new wxStaticText(this, wxID_ANY, wxString(_(L("Total ramming time (s):")))), 0, wxALIGN_CENTER_VERTICAL); + gsizer_param->Add(new wxStaticText(this, wxID_ANY, wxString(_(L("Total ramming time")) + " (" + _(L("s")) + "):")), 0, wxALIGN_CENTER_VERTICAL); gsizer_param->Add(m_widget_time); - gsizer_param->Add(new wxStaticText(this, wxID_ANY, wxString(_(L("Total rammed volume (mm"))+"\u00B3):")), 0, wxALIGN_CENTER_VERTICAL); + gsizer_param->Add(new wxStaticText(this, wxID_ANY, wxString(_(L("Total rammed volume")) + " (" + _(L("mm")) + "\u00B3):")), 0, wxALIGN_CENTER_VERTICAL); gsizer_param->Add(m_widget_volume); gsizer_param->AddSpacer(20); gsizer_param->AddSpacer(20); - gsizer_param->Add(new wxStaticText(this, wxID_ANY, wxString(_(L("Ramming line width (%):")))), 0, wxALIGN_CENTER_VERTICAL); + gsizer_param->Add(new wxStaticText(this, wxID_ANY, wxString(_(L("Ramming line width")) + " (%):")), 0, wxALIGN_CENTER_VERTICAL); gsizer_param->Add(m_widget_ramming_line_width_multiplicator); - gsizer_param->Add(new wxStaticText(this, wxID_ANY, wxString(_(L("Ramming line spacing (%):")))), 0, wxALIGN_CENTER_VERTICAL); + gsizer_param->Add(new wxStaticText(this, wxID_ANY, wxString(_(L("Ramming line spacing")) + " (%):")), 0, wxALIGN_CENTER_VERTICAL); gsizer_param->Add(m_widget_ramming_step_multiplicator); sizer_param->Add(gsizer_param, 0, wxTOP, 100); @@ -220,7 +220,7 @@ WipingPanel::WipingPanel(wxWindow* parent, const std::vector& matrix, con // collect and format sizer format_sizer(m_sizer_advanced, m_page_advanced, m_gridsizer_advanced, - _(L("Here you can adjust required purging volume (mm\u00B3) for any given pair of tools.")), + wxString::Format(_(L("Here you can adjust required purging volume (mm%s) for any given pair of tools.")), "\u00B3"), _(L("Extruder changed to"))); // Hide preview page before new page creating @@ -243,7 +243,7 @@ WipingPanel::WipingPanel(wxWindow* parent, const std::vector& matrix, con // collect and format sizer format_sizer(m_sizer_simple, m_page_simple, gridsizer_simple, _(L("Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded.")), - _(L("Volume to purge (mm\u00B3) when the filament is being")), 50); + wxString::Format(_(L("Volume to purge (mm%s) when the filament is being")), "\u00B3"), 50); m_sizer = new wxBoxSizer(wxVERTICAL); m_sizer->Add(m_page_simple, 0, wxEXPAND | wxALL, 25); From 8ad605354460407d3462644ac811bc1bc3776c67 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Wed, 2 May 2018 17:13:39 +0200 Subject: [PATCH 09/11] PresetUpdater: More logging --- xs/src/slic3r/Utils/PresetUpdater.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xs/src/slic3r/Utils/PresetUpdater.cpp b/xs/src/slic3r/Utils/PresetUpdater.cpp index 3b786e0d6..3b74b0c6b 100644 --- a/xs/src/slic3r/Utils/PresetUpdater.cpp +++ b/xs/src/slic3r/Utils/PresetUpdater.cpp @@ -359,6 +359,11 @@ Updates PresetUpdater::priv::get_config_updates() const const auto cached_vp = VendorProfile::from_ini(path_in_cache, false); if (cached_vp.config_version == recommended->config_version) { updates.updates.emplace_back(std::move(path_in_cache), std::move(bundle_path), *recommended); + } else { + BOOST_LOG_TRIVIAL(warning) << boost::format("Vendor: %1%: Index indicates update (%2%) but cached bundle has a different version: %3%") + % idx.vendor() + % recommended->config_version.to_string() + % cached_vp.config_version.to_string(); } } } From a02bfdd2bc5f6cd942bf6c124a1e19ea7d066be9 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 3 May 2018 09:10:12 +0200 Subject: [PATCH 10/11] Initial zoom set to bed extent --- lib/Slic3r/GUI/3DScene.pm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/Slic3r/GUI/3DScene.pm b/lib/Slic3r/GUI/3DScene.pm index 59b5367b5..352a61264 100644 --- a/lib/Slic3r/GUI/3DScene.pm +++ b/lib/Slic3r/GUI/3DScene.pm @@ -1152,11 +1152,7 @@ sub InitGL { $self->volumes->finalize_geometry(1) if ($^O eq 'linux' && $self->UseVBOs); - if (scalar @{$self->volumes} > 0) { - $self->zoom_to_volumes; - } else { - $self->zoom_to_bed; - } + $self->zoom_to_bed; glClearColor(0, 0, 0, 1); glColor3f(1, 0, 0); From 20b83c5b534c6767b04338578df2d2c6ff111bd1 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 3 May 2018 09:21:01 +0200 Subject: [PATCH 11/11] Save the Canonical Language Name instead of the Enumerator to the Slic3r.ini --- xs/src/slic3r/GUI/GUI.cpp | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/xs/src/slic3r/GUI/GUI.cpp b/xs/src/slic3r/GUI/GUI.cpp index e6c07b470..4789f4590 100644 --- a/xs/src/slic3r/GUI/GUI.cpp +++ b/xs/src/slic3r/GUI/GUI.cpp @@ -309,22 +309,18 @@ bool select_language(wxArrayString & names, bool load_language() { - long language; - if (!g_AppConfig->has("translation_language")) - language = wxLANGUAGE_UNKNOWN; - else { - auto str_language = g_AppConfig->get("translation_language"); - language = str_language != "" ? stol(str_language) : wxLANGUAGE_UNKNOWN; - } + wxString language = wxEmptyString; + if (g_AppConfig->has("translation_language")) + language = g_AppConfig->get("translation_language"); - if (language == wxLANGUAGE_UNKNOWN) + if (language.IsEmpty()) return false; wxArrayString names; wxArrayLong identifiers; get_installed_languages(names, identifiers); for (size_t i = 0; i < identifiers.Count(); i++) { - if (identifiers[i] == language) + if (wxLocale::GetLanguageCanonicalName(identifiers[i]) == language) { g_wxLocale = new wxLocale; g_wxLocale->Init(identifiers[i]); @@ -339,13 +335,11 @@ bool load_language() void save_language() { - //! TO DO !! use GetCanonicalName; - long language = wxLANGUAGE_UNKNOWN; - if (g_wxLocale) { - language = g_wxLocale->GetLanguage(); - } - std::string str_language = std::to_string(language); - g_AppConfig->set("translation_language", str_language); + wxString language = wxEmptyString; + if (g_wxLocale) + language = g_wxLocale->GetCanonicalName(); + + g_AppConfig->set("translation_language", language.ToStdString()); g_AppConfig->save(); }