diff --git a/resources/localization/Slic3rPE.pot b/resources/localization/Slic3rPE.pot
index 1a2af6858..f73d4a593 100644
--- a/resources/localization/Slic3rPE.pot
+++ b/resources/localization/Slic3rPE.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-05-10 15:08+0200\n"
+"POT-Creation-Date: 2019-05-11 23:18+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -83,7 +83,7 @@ msgstr ""
 
 #: src/slic3r/GUI/BedShapeDialog.cpp:72
 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:232 src/slic3r/GUI/Plater.cpp:137
-#: src/slic3r/GUI/Tab.cpp:2260
+#: src/slic3r/GUI/Tab.cpp:2263
 msgid "Size"
 msgstr ""
 
@@ -108,32 +108,32 @@ msgstr ""
 #: src/slic3r/GUI/BedShapeDialog.cpp:87 src/slic3r/GUI/ConfigWizard.cpp:118
 #: src/slic3r/GUI/ConfigWizard.cpp:565 src/slic3r/GUI/ConfigWizard.cpp:579
 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:229
-#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:84
-#: src/libslic3r/PrintConfig.cpp:60 src/libslic3r/PrintConfig.cpp:67
-#: src/libslic3r/PrintConfig.cpp:76 src/libslic3r/PrintConfig.cpp:211
-#: src/libslic3r/PrintConfig.cpp:286 src/libslic3r/PrintConfig.cpp:294
-#: src/libslic3r/PrintConfig.cpp:344 src/libslic3r/PrintConfig.cpp:354
-#: src/libslic3r/PrintConfig.cpp:474 src/libslic3r/PrintConfig.cpp:485
-#: src/libslic3r/PrintConfig.cpp:503 src/libslic3r/PrintConfig.cpp:681
-#: src/libslic3r/PrintConfig.cpp:1191 src/libslic3r/PrintConfig.cpp:1252
-#: src/libslic3r/PrintConfig.cpp:1270 src/libslic3r/PrintConfig.cpp:1288
-#: src/libslic3r/PrintConfig.cpp:1340 src/libslic3r/PrintConfig.cpp:1350
-#: src/libslic3r/PrintConfig.cpp:1471 src/libslic3r/PrintConfig.cpp:1479
-#: src/libslic3r/PrintConfig.cpp:1520 src/libslic3r/PrintConfig.cpp:1528
-#: src/libslic3r/PrintConfig.cpp:1538 src/libslic3r/PrintConfig.cpp:1546
-#: src/libslic3r/PrintConfig.cpp:1554 src/libslic3r/PrintConfig.cpp:1637
-#: src/libslic3r/PrintConfig.cpp:1853 src/libslic3r/PrintConfig.cpp:1923
-#: src/libslic3r/PrintConfig.cpp:1957 src/libslic3r/PrintConfig.cpp:2150
-#: src/libslic3r/PrintConfig.cpp:2157 src/libslic3r/PrintConfig.cpp:2164
-#: src/libslic3r/PrintConfig.cpp:2194 src/libslic3r/PrintConfig.cpp:2204
-#: src/libslic3r/PrintConfig.cpp:2214 src/libslic3r/PrintConfig.cpp:2322
-#: src/libslic3r/PrintConfig.cpp:2397 src/libslic3r/PrintConfig.cpp:2406
-#: src/libslic3r/PrintConfig.cpp:2415 src/libslic3r/PrintConfig.cpp:2425
-#: src/libslic3r/PrintConfig.cpp:2469 src/libslic3r/PrintConfig.cpp:2479
-#: src/libslic3r/PrintConfig.cpp:2498 src/libslic3r/PrintConfig.cpp:2508
-#: src/libslic3r/PrintConfig.cpp:2517 src/libslic3r/PrintConfig.cpp:2535
-#: src/libslic3r/PrintConfig.cpp:2550 src/libslic3r/PrintConfig.cpp:2564
-#: src/libslic3r/PrintConfig.cpp:2577 src/libslic3r/PrintConfig.cpp:2587
+#: src/slic3r/GUI/WipeTowerDialog.cpp:84 src/libslic3r/PrintConfig.cpp:60
+#: src/libslic3r/PrintConfig.cpp:67 src/libslic3r/PrintConfig.cpp:76
+#: src/libslic3r/PrintConfig.cpp:211 src/libslic3r/PrintConfig.cpp:286
+#: src/libslic3r/PrintConfig.cpp:294 src/libslic3r/PrintConfig.cpp:344
+#: src/libslic3r/PrintConfig.cpp:354 src/libslic3r/PrintConfig.cpp:474
+#: src/libslic3r/PrintConfig.cpp:485 src/libslic3r/PrintConfig.cpp:503
+#: src/libslic3r/PrintConfig.cpp:681 src/libslic3r/PrintConfig.cpp:1191
+#: src/libslic3r/PrintConfig.cpp:1252 src/libslic3r/PrintConfig.cpp:1270
+#: src/libslic3r/PrintConfig.cpp:1288 src/libslic3r/PrintConfig.cpp:1340
+#: src/libslic3r/PrintConfig.cpp:1350 src/libslic3r/PrintConfig.cpp:1471
+#: src/libslic3r/PrintConfig.cpp:1479 src/libslic3r/PrintConfig.cpp:1520
+#: src/libslic3r/PrintConfig.cpp:1528 src/libslic3r/PrintConfig.cpp:1538
+#: src/libslic3r/PrintConfig.cpp:1546 src/libslic3r/PrintConfig.cpp:1554
+#: src/libslic3r/PrintConfig.cpp:1637 src/libslic3r/PrintConfig.cpp:1853
+#: src/libslic3r/PrintConfig.cpp:1923 src/libslic3r/PrintConfig.cpp:1957
+#: src/libslic3r/PrintConfig.cpp:2150 src/libslic3r/PrintConfig.cpp:2157
+#: src/libslic3r/PrintConfig.cpp:2164 src/libslic3r/PrintConfig.cpp:2194
+#: src/libslic3r/PrintConfig.cpp:2204 src/libslic3r/PrintConfig.cpp:2214
+#: src/libslic3r/PrintConfig.cpp:2322 src/libslic3r/PrintConfig.cpp:2397
+#: src/libslic3r/PrintConfig.cpp:2406 src/libslic3r/PrintConfig.cpp:2415
+#: src/libslic3r/PrintConfig.cpp:2425 src/libslic3r/PrintConfig.cpp:2469
+#: src/libslic3r/PrintConfig.cpp:2479 src/libslic3r/PrintConfig.cpp:2498
+#: src/libslic3r/PrintConfig.cpp:2508 src/libslic3r/PrintConfig.cpp:2517
+#: src/libslic3r/PrintConfig.cpp:2535 src/libslic3r/PrintConfig.cpp:2550
+#: src/libslic3r/PrintConfig.cpp:2564 src/libslic3r/PrintConfig.cpp:2577
+#: src/libslic3r/PrintConfig.cpp:2587
 msgid "mm"
 msgstr ""
 
@@ -165,7 +165,7 @@ msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):"
 msgstr ""
 
 #: src/slic3r/GUI/BedShapeDialog.cpp:333 src/slic3r/GUI/GUI_ObjectList.cpp:1443
-msgid "Error! "
+msgid "Error!"
 msgstr ""
 
 #: src/slic3r/GUI/BedShapeDialog.cpp:342
@@ -244,7 +244,7 @@ msgid "Unknown"
 msgstr ""
 
 #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:39
-msgid "Active: "
+msgid "Active"
 msgstr ""
 
 #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45
@@ -263,7 +263,7 @@ msgstr ""
 msgid "printer"
 msgstr ""
 
-#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 src/slic3r/GUI/Tab.cpp:931
+#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 src/slic3r/GUI/Tab.cpp:932
 msgid "vendor"
 msgstr ""
 
@@ -312,7 +312,7 @@ msgstr ""
 msgid "All standard"
 msgstr ""
 
-#: src/slic3r/GUI/ConfigWizard.cpp:189 src/slic3r/GUI/Tab.cpp:3002
+#: src/slic3r/GUI/ConfigWizard.cpp:189 src/slic3r/GUI/Tab.cpp:3006
 msgid "All"
 msgstr ""
 
@@ -335,7 +335,7 @@ msgstr ""
 msgid "Welcome"
 msgstr ""
 
-#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/GUI_App.cpp:670
+#: src/slic3r/GUI/ConfigWizard.cpp:304 src/slic3r/GUI/GUI_App.cpp:707
 #, possible-c-format
 msgid "Run %s"
 msgstr ""
@@ -433,7 +433,7 @@ msgstr ""
 msgid "Firmware Type"
 msgstr ""
 
-#: src/slic3r/GUI/ConfigWizard.cpp:492 src/slic3r/GUI/Tab.cpp:1923
+#: src/slic3r/GUI/ConfigWizard.cpp:492 src/slic3r/GUI/Tab.cpp:1926
 msgid "Firmware"
 msgstr ""
 
@@ -607,7 +607,7 @@ msgid "Flashing in progress. Please do not disconnect the printer!"
 msgstr ""
 
 #: src/slic3r/GUI/FirmwareDialog.cpp:192
-msgid "Flashing failed: "
+msgid "Flashing failed"
 msgstr ""
 
 #: src/slic3r/GUI/FirmwareDialog.cpp:273
@@ -670,7 +670,8 @@ msgstr ""
 msgid "Firmware image:"
 msgstr ""
 
-#: src/slic3r/GUI/FirmwareDialog.cpp:768 src/slic3r/GUI/Tab.cpp:1684
+#: src/slic3r/GUI/FirmwareDialog.cpp:768 src/slic3r/GUI/Tab.cpp:1687
+#: src/slic3r/GUI/Tab.cpp:1743
 msgid "Browse"
 msgstr ""
 
@@ -743,13 +744,21 @@ msgid ""
 "Resolve the current problem to continue slicing"
 msgstr ""
 
+#: src/slic3r/GUI/GLCanvas3D.cpp:1694
+msgid "Last frame"
+msgstr ""
+
+#: src/slic3r/GUI/GLCanvas3D.cpp:1698
+msgid "ms"
+msgstr ""
+
 #: src/slic3r/GUI/GLCanvas3D.cpp:3434
 msgid "Add..."
 msgstr ""
 
 #: src/slic3r/GUI/GLCanvas3D.cpp:3444 src/slic3r/GUI/GUI_ObjectList.cpp:1269
 #: src/slic3r/GUI/Plater.cpp:2933 src/slic3r/GUI/Plater.cpp:2951
-#: src/slic3r/GUI/Tab.cpp:2953
+#: src/slic3r/GUI/Tab.cpp:2956
 msgid "Delete"
 msgstr ""
 
@@ -761,7 +770,7 @@ msgstr ""
 msgid "Arrange"
 msgstr ""
 
-#: src/slic3r/GUI/GLCanvas3D.cpp:3480 src/slic3r/GUI/Tab.cpp:2894
+#: src/slic3r/GUI/GLCanvas3D.cpp:3480
 msgid "Copy"
 msgstr ""
 
@@ -857,7 +866,7 @@ msgid "Scale (%)"
 msgstr ""
 
 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:840
-msgid "Head diameter: "
+msgid "Head diameter"
 msgstr ""
 
 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:853
@@ -885,11 +894,12 @@ msgid "Discard changes"
 msgstr ""
 
 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:879
-msgid "Minimal points distance: "
+msgid "Minimal points distance"
 msgstr ""
 
 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:890
-msgid "Support points density: "
+#: src/libslic3r/PrintConfig.cpp:2524
+msgid "Support points density"
 msgstr ""
 
 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:904
@@ -902,7 +912,7 @@ msgid "Manual editing"
 msgstr ""
 
 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:928
-msgid "Clipping of view:"
+msgid "Clipping of view"
 msgstr ""
 
 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:930
@@ -1005,7 +1015,7 @@ msgstr ""
 msgid "Switch to editing mode"
 msgstr ""
 
-#: src/slic3r/GUI/GUI.cpp:142 src/slic3r/GUI/Tab.cpp:2812
+#: src/slic3r/GUI/GUI.cpp:142 src/slic3r/GUI/Tab.cpp:2815
 msgid "It's impossible to print multi-part object(s) with SLA technology."
 msgstr ""
 
@@ -1013,7 +1023,7 @@ msgstr ""
 msgid "Please check and fix your object list."
 msgstr ""
 
-#: src/slic3r/GUI/GUI.cpp:144 src/slic3r/GUI/Tab.cpp:2814
+#: src/slic3r/GUI/GUI.cpp:144 src/slic3r/GUI/Tab.cpp:2817
 msgid "Attention!"
 msgstr ""
 
@@ -1021,158 +1031,149 @@ msgstr ""
 msgid "Notice"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:390
+#: src/slic3r/GUI/GUI_App.cpp:393
 msgid "Changing of an application language"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:398 src/slic3r/GUI/GUI_App.cpp:407
+#: src/slic3r/GUI/GUI_App.cpp:401 src/slic3r/GUI/GUI_App.cpp:410
 msgid "Recreating"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:411
+#: src/slic3r/GUI/GUI_App.cpp:414
 msgid "Loading of current presets"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:419
+#: src/slic3r/GUI/GUI_App.cpp:422
 msgid "Loading of a mode view"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:501
+#: src/slic3r/GUI/GUI_App.cpp:504
 msgid "Choose one file (3MF):"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:513
+#: src/slic3r/GUI/GUI_App.cpp:516
 msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:526
-msgid "Array of language names and identifiers should have the same size."
-msgstr ""
-
-#: src/slic3r/GUI/GUI_App.cpp:536
+#: src/slic3r/GUI/GUI_App.cpp:558
 msgid "Select the language"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:536
+#: src/slic3r/GUI/GUI_App.cpp:559
 msgid "Language"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:606 src/slic3r/GUI/GUI_ObjectList.cpp:1257
-#: src/libslic3r/PrintConfig.cpp:300
-msgid "Default"
-msgstr ""
-
-#: src/slic3r/GUI/GUI_App.cpp:673
+#: src/slic3r/GUI/GUI_App.cpp:710
 msgid "&Configuration Snapshots"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:673
+#: src/slic3r/GUI/GUI_App.cpp:710
 msgid "Inspect / activate configuration snapshots"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:674
+#: src/slic3r/GUI/GUI_App.cpp:711
 msgid "Take Configuration &Snapshot"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:674
+#: src/slic3r/GUI/GUI_App.cpp:711
 msgid "Capture a configuration snapshot"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:677
+#: src/slic3r/GUI/GUI_App.cpp:714
 msgid "&Preferences"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:683
+#: src/slic3r/GUI/GUI_App.cpp:720
 msgid "Application preferences"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:686 src/slic3r/GUI/wxExtensions.cpp:2509
+#: src/slic3r/GUI/GUI_App.cpp:723 src/slic3r/GUI/wxExtensions.cpp:2509
 msgid "Simple"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:686
+#: src/slic3r/GUI/GUI_App.cpp:723
 msgid "Simple View Mode"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:687 src/slic3r/GUI/GUI_ObjectList.cpp:85
-#: src/slic3r/GUI/GUI_ObjectList.cpp:539 src/slic3r/GUI/Tab.cpp:1029
-#: src/slic3r/GUI/Tab.cpp:1044 src/slic3r/GUI/Tab.cpp:1142
-#: src/slic3r/GUI/Tab.cpp:1145 src/slic3r/GUI/Tab.cpp:1518
-#: src/slic3r/GUI/Tab.cpp:1943 src/slic3r/GUI/Tab.cpp:3455
+#: src/slic3r/GUI/GUI_App.cpp:724 src/slic3r/GUI/GUI_ObjectList.cpp:85
+#: src/slic3r/GUI/GUI_ObjectList.cpp:539 src/slic3r/GUI/Tab.cpp:1030
+#: src/slic3r/GUI/Tab.cpp:1045 src/slic3r/GUI/Tab.cpp:1143
+#: src/slic3r/GUI/Tab.cpp:1146 src/slic3r/GUI/Tab.cpp:1520
+#: src/slic3r/GUI/Tab.cpp:1946 src/slic3r/GUI/Tab.cpp:3460
 #: src/slic3r/GUI/wxExtensions.cpp:2510 src/libslic3r/PrintConfig.cpp:73
 #: src/libslic3r/PrintConfig.cpp:188 src/libslic3r/PrintConfig.cpp:351
 #: src/libslic3r/PrintConfig.cpp:989 src/libslic3r/PrintConfig.cpp:2200
 msgid "Advanced"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:687
+#: src/slic3r/GUI/GUI_App.cpp:724
 msgid "Advanced View Mode"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:688 src/slic3r/GUI/wxExtensions.cpp:2511
+#: src/slic3r/GUI/GUI_App.cpp:725 src/slic3r/GUI/wxExtensions.cpp:2511
 msgid "Expert"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:688
+#: src/slic3r/GUI/GUI_App.cpp:725
 msgid "Expert View Mode"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:693
+#: src/slic3r/GUI/GUI_App.cpp:730
 msgid "Mode"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:693
+#: src/slic3r/GUI/GUI_App.cpp:730
 #, possible-c-format
 msgid "%s View Mode"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:695
+#: src/slic3r/GUI/GUI_App.cpp:732
 msgid "Change Application &Language"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:697
+#: src/slic3r/GUI/GUI_App.cpp:734
 msgid "Flash printer &firmware"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:697
+#: src/slic3r/GUI/GUI_App.cpp:734
 msgid "Upload a firmware image into an Arduino based printer"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:709
+#: src/slic3r/GUI/GUI_App.cpp:746
 msgid "Taking configuration snapshot"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:709
+#: src/slic3r/GUI/GUI_App.cpp:746
 msgid "Snapshot name"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:752
+#: src/slic3r/GUI/GUI_App.cpp:789
 msgid ""
 "Switching the language will trigger application restart.\n"
 "You will lose content of the plater."
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:754
+#: src/slic3r/GUI/GUI_App.cpp:791
 msgid "Do you want to proceed?"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:755
+#: src/slic3r/GUI/GUI_App.cpp:792
 msgid "Language selection"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:781
+#: src/slic3r/GUI/GUI_App.cpp:811
 msgid "&Configuration"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:801
+#: src/slic3r/GUI/GUI_App.cpp:831
 msgid "The presets on the following tabs were modified"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:801 src/slic3r/GUI/Tab.cpp:2800
+#: src/slic3r/GUI/GUI_App.cpp:831 src/slic3r/GUI/Tab.cpp:2803
 msgid "Discard changes and continue anyway?"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_App.cpp:802
+#: src/slic3r/GUI/GUI_App.cpp:832
 msgid "Unsaved Presets"
 msgstr ""
 
@@ -1189,8 +1190,8 @@ msgstr ""
 
 #: src/slic3r/GUI/GUI_ObjectList.cpp:29 src/slic3r/GUI/GUI_ObjectList.cpp:78
 #: src/slic3r/GUI/GUI_ObjectList.cpp:532 src/slic3r/GUI/Plater.cpp:447
-#: src/slic3r/GUI/Tab.cpp:1033 src/slic3r/GUI/Tab.cpp:1034
-#: src/slic3r/GUI/Tab.cpp:1363 src/libslic3r/PrintConfig.cpp:168
+#: src/slic3r/GUI/Tab.cpp:1034 src/slic3r/GUI/Tab.cpp:1035
+#: src/slic3r/GUI/Tab.cpp:1364 src/libslic3r/PrintConfig.cpp:168
 #: src/libslic3r/PrintConfig.cpp:390 src/libslic3r/PrintConfig.cpp:730
 #: src/libslic3r/PrintConfig.cpp:744 src/libslic3r/PrintConfig.cpp:781
 #: src/libslic3r/PrintConfig.cpp:934 src/libslic3r/PrintConfig.cpp:944
@@ -1202,7 +1203,7 @@ msgstr ""
 
 #: src/slic3r/GUI/GUI_ObjectList.cpp:30 src/slic3r/GUI/GUI_ObjectList.cpp:79
 #: src/slic3r/GUI/GUI_ObjectList.cpp:533 src/slic3r/GUI/GUI_Preview.cpp:236
-#: src/slic3r/GUI/Tab.cpp:1062 src/slic3r/GUI/Tab.cpp:1063
+#: src/slic3r/GUI/Tab.cpp:1063 src/slic3r/GUI/Tab.cpp:1064
 #: src/libslic3r/PrintConfig.cpp:335 src/libslic3r/PrintConfig.cpp:1457
 #: src/libslic3r/PrintConfig.cpp:1805 src/libslic3r/PrintConfig.cpp:1811
 #: src/libslic3r/PrintConfig.cpp:1819 src/libslic3r/PrintConfig.cpp:1831
@@ -1218,8 +1219,8 @@ msgid "Support material"
 msgstr ""
 
 #: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_ObjectList.cpp:81
-#: src/slic3r/GUI/GUI_ObjectList.cpp:535 src/slic3r/GUI/Tab.cpp:1122
-#: src/slic3r/GUI/Tab.cpp:1847 src/libslic3r/PrintConfig.cpp:457
+#: src/slic3r/GUI/GUI_ObjectList.cpp:535 src/slic3r/GUI/Tab.cpp:1123
+#: src/slic3r/GUI/Tab.cpp:1850 src/libslic3r/PrintConfig.cpp:457
 #: src/libslic3r/PrintConfig.cpp:955 src/libslic3r/PrintConfig.cpp:1365
 #: src/libslic3r/PrintConfig.cpp:1693 src/libslic3r/PrintConfig.cpp:1877
 #: src/libslic3r/PrintConfig.cpp:1903 src/libslic3r/PrintConfig.cpp:2176
@@ -1248,7 +1249,7 @@ msgid "Add support blocker"
 msgstr ""
 
 #: src/slic3r/GUI/GUI_ObjectList.cpp:80 src/slic3r/GUI/GUI_ObjectList.cpp:534
-#: src/slic3r/GUI/GUI_Preview.cpp:215 src/slic3r/GUI/Tab.cpp:1087
+#: src/slic3r/GUI/GUI_Preview.cpp:215 src/slic3r/GUI/Tab.cpp:1088
 #: src/libslic3r/PrintConfig.cpp:200 src/libslic3r/PrintConfig.cpp:427
 #: src/libslic3r/PrintConfig.cpp:872 src/libslic3r/PrintConfig.cpp:1000
 #: src/libslic3r/PrintConfig.cpp:1386 src/libslic3r/PrintConfig.cpp:1623
@@ -1266,8 +1267,8 @@ msgid "Extrusion Width"
 msgstr ""
 
 #: src/slic3r/GUI/GUI_ObjectList.cpp:87 src/slic3r/GUI/GUI_ObjectList.cpp:541
-#: src/slic3r/GUI/Plater.cpp:429 src/slic3r/GUI/Tab.cpp:3417
-#: src/slic3r/GUI/Tab.cpp:3418 src/libslic3r/PrintConfig.cpp:2388
+#: src/slic3r/GUI/Plater.cpp:429 src/slic3r/GUI/Tab.cpp:3422
+#: src/slic3r/GUI/Tab.cpp:3423 src/libslic3r/PrintConfig.cpp:2388
 #: src/libslic3r/PrintConfig.cpp:2395 src/libslic3r/PrintConfig.cpp:2404
 #: src/libslic3r/PrintConfig.cpp:2413 src/libslic3r/PrintConfig.cpp:2423
 #: src/libslic3r/PrintConfig.cpp:2449 src/libslic3r/PrintConfig.cpp:2456
@@ -1279,7 +1280,7 @@ msgid "Supports"
 msgstr ""
 
 #: src/slic3r/GUI/GUI_ObjectList.cpp:88 src/slic3r/GUI/GUI_ObjectList.cpp:542
-#: src/slic3r/GUI/Tab.cpp:3445 src/slic3r/GUI/Tab.cpp:3446
+#: src/slic3r/GUI/Tab.cpp:3450 src/slic3r/GUI/Tab.cpp:3451
 #: src/libslic3r/PrintConfig.cpp:2541 src/libslic3r/PrintConfig.cpp:2548
 #: src/libslic3r/PrintConfig.cpp:2562 src/libslic3r/PrintConfig.cpp:2572
 #: src/libslic3r/PrintConfig.cpp:2585 src/libslic3r/PrintConfig.cpp:2594
@@ -1335,7 +1336,7 @@ msgstr ""
 msgid "default"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_ObjectList.cpp:362 src/slic3r/GUI/Tab.cpp:1482
+#: src/slic3r/GUI/GUI_ObjectList.cpp:362 src/slic3r/GUI/Tab.cpp:1484
 #: src/libslic3r/PrintConfig.cpp:456
 msgid "Extruder"
 msgstr ""
@@ -1402,6 +1403,10 @@ msgstr ""
 msgid "Change extruder"
 msgstr ""
 
+#: src/slic3r/GUI/GUI_ObjectList.cpp:1257 src/libslic3r/PrintConfig.cpp:300
+msgid "Default"
+msgstr ""
+
 #: src/slic3r/GUI/GUI_ObjectList.cpp:1263
 msgid "Select new extruder for the object/part"
 msgstr ""
@@ -1499,13 +1504,13 @@ msgid "Renaming"
 msgstr ""
 
 #: src/slic3r/GUI/GUI_ObjectList.cpp:2730
-#: src/slic3r/GUI/GUI_ObjectList.cpp:2824 src/slic3r/GUI/Tab.cpp:3298
-#: src/slic3r/GUI/Tab.cpp:3302
+#: src/slic3r/GUI/GUI_ObjectList.cpp:2824 src/slic3r/GUI/Tab.cpp:3303
+#: src/slic3r/GUI/Tab.cpp:3307
 msgid "The supplied name is not valid;"
 msgstr ""
 
 #: src/slic3r/GUI/GUI_ObjectList.cpp:2731
-#: src/slic3r/GUI/GUI_ObjectList.cpp:2825 src/slic3r/GUI/Tab.cpp:3299
+#: src/slic3r/GUI/GUI_ObjectList.cpp:2825 src/slic3r/GUI/Tab.cpp:3304
 msgid "the following characters are not allowed:"
 msgstr ""
 
@@ -1659,7 +1664,7 @@ msgstr ""
 msgid "Gap fill"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_Preview.cpp:235 src/slic3r/GUI/Tab.cpp:1053
+#: src/slic3r/GUI/GUI_Preview.cpp:235 src/slic3r/GUI/Tab.cpp:1054
 #: src/libslic3r/GCode/PreviewData.cpp:171
 msgid "Skirt"
 msgstr ""
@@ -1669,7 +1674,7 @@ msgstr ""
 msgid "Support material interface"
 msgstr ""
 
-#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/Tab.cpp:1133
+#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/Tab.cpp:1134
 #: src/libslic3r/GCode/PreviewData.cpp:174
 msgid "Wipe tower"
 msgstr ""
@@ -2200,8 +2205,13 @@ msgid "Iso View"
 msgstr ""
 
 #. TRN To be shown in the main menu View->Top
+#: src/slic3r/GUI/MainFrame.cpp:527
+msgid "Top"
+msgstr ""
+
 #. TRN To be shown in Print Settings "Top solid layers"
-#: src/slic3r/GUI/MainFrame.cpp:527 src/libslic3r/PrintConfig.cpp:2068
+#: src/libslic3r/PrintConfig.cpp:2068
+msgctxt "Layers"
 msgid "Top"
 msgstr ""
 
@@ -2210,8 +2220,13 @@ msgid "Top View"
 msgstr ""
 
 #. TRN To be shown in the main menu View->Bottom
+#: src/slic3r/GUI/MainFrame.cpp:529
+msgid "Bottom"
+msgstr ""
+
 #. TRN To be shown in Print Settings "Bottom solid layers"
-#: src/slic3r/GUI/MainFrame.cpp:529 src/libslic3r/PrintConfig.cpp:150
+#: src/libslic3r/PrintConfig.cpp:150
+msgctxt "Layers"
 msgid "Bottom"
 msgstr ""
 
@@ -2277,16 +2292,6 @@ msgstr ""
 msgid "Open the %s website in your browser"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:558
-#, possible-c-format
-msgid "%s &Manual"
-msgstr ""
-
-#: src/slic3r/GUI/MainFrame.cpp:559
-#, possible-c-format
-msgid "Open the %s manual in your browser"
-msgstr ""
-
 #: src/slic3r/GUI/MainFrame.cpp:562
 msgid "System &Info"
 msgstr ""
@@ -2377,8 +2382,9 @@ msgstr ""
 msgid "File Not Found"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:686 src/slic3r/GUI/Tab.cpp:3259
-msgid "Save "
+#: src/slic3r/GUI/MainFrame.cpp:686
+#, possible-c-format
+msgid "Save %s file as:"
 msgstr ""
 
 #: src/slic3r/GUI/MainFrame.cpp:686
@@ -2389,61 +2395,59 @@ msgstr ""
 msgid "G-code"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:686
-msgid " file as:"
-msgstr ""
-
 #: src/slic3r/GUI/MainFrame.cpp:701
 msgid "Save zip file as:"
 msgstr ""
 
 #: src/slic3r/GUI/MainFrame.cpp:713 src/slic3r/GUI/Plater.cpp:2439
-#: src/slic3r/GUI/Plater.cpp:3658 src/slic3r/GUI/Tab.cpp:1162
-#: src/slic3r/GUI/Tab.cpp:3456
+#: src/slic3r/GUI/Plater.cpp:3658 src/slic3r/GUI/Tab.cpp:1163
+#: src/slic3r/GUI/Tab.cpp:3461
 msgid "Slicing"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:713
-msgid "Processing "
-msgstr ""
-
-#: src/slic3r/GUI/MainFrame.cpp:736
-msgid " was successfully sliced."
+#. TRN "Processing input_file_basename"
+#: src/slic3r/GUI/MainFrame.cpp:715
+#, possible-c-format
+msgid "Processing %s"
 msgstr ""
 
 #: src/slic3r/GUI/MainFrame.cpp:738
+msgid " was successfully sliced."
+msgstr ""
+
+#: src/slic3r/GUI/MainFrame.cpp:740
 msgid "Slicing Done!"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:753
+#: src/slic3r/GUI/MainFrame.cpp:755
 msgid "Select the STL file to repair:"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:766
+#: src/slic3r/GUI/MainFrame.cpp:768
 msgid "Save OBJ file (less prone to coordinate errors than STL) as:"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:781
+#: src/slic3r/GUI/MainFrame.cpp:783
 msgid "Your file was repaired."
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:781 src/libslic3r/PrintConfig.cpp:3084
+#: src/slic3r/GUI/MainFrame.cpp:783 src/libslic3r/PrintConfig.cpp:3084
 msgid "Repair"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:795
+#: src/slic3r/GUI/MainFrame.cpp:797
 msgid "Save configuration as:"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:815 src/slic3r/GUI/MainFrame.cpp:879
+#: src/slic3r/GUI/MainFrame.cpp:817 src/slic3r/GUI/MainFrame.cpp:881
 msgid "Select configuration to load:"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:852
+#: src/slic3r/GUI/MainFrame.cpp:854
 msgid "Save presets bundle as:"
 msgstr ""
 
-#: src/slic3r/GUI/MainFrame.cpp:903
+#: src/slic3r/GUI/MainFrame.cpp:905
 #, possible-c-format
 msgid "%d presets successfully imported."
 msgstr ""
@@ -2529,7 +2533,7 @@ msgstr ""
 msgid "Everywhere"
 msgstr ""
 
-#: src/slic3r/GUI/Plater.cpp:454 src/slic3r/GUI/Tab.cpp:1059
+#: src/slic3r/GUI/Plater.cpp:454 src/slic3r/GUI/Tab.cpp:1060
 msgid "Brim"
 msgstr ""
 
@@ -2547,8 +2551,8 @@ msgstr ""
 msgid "Print settings"
 msgstr ""
 
-#: src/slic3r/GUI/Plater.cpp:689 src/slic3r/GUI/Tab.cpp:1473
-#: src/slic3r/GUI/Tab.cpp:1474
+#: src/slic3r/GUI/Plater.cpp:689 src/slic3r/GUI/Tab.cpp:1475
+#: src/slic3r/GUI/Tab.cpp:1476
 msgid "Filament"
 msgstr ""
 
@@ -2864,7 +2868,7 @@ msgstr ""
 msgid "3D editor view"
 msgstr ""
 
-#: src/slic3r/GUI/Plater.cpp:3110 src/slic3r/GUI/Tab.cpp:2291
+#: src/slic3r/GUI/Plater.cpp:3110 src/slic3r/GUI/Tab.cpp:2294
 msgid "Preview"
 msgstr ""
 
@@ -2909,8 +2913,8 @@ msgstr ""
 msgid "Send G-code"
 msgstr ""
 
-#: src/slic3r/GUI/Preferences.cpp:19 src/slic3r/GUI/Tab.cpp:1815
-#: src/slic3r/GUI/Tab.cpp:2016
+#: src/slic3r/GUI/Preferences.cpp:19 src/slic3r/GUI/Tab.cpp:1818
+#: src/slic3r/GUI/Tab.cpp:2019
 msgid "General"
 msgstr ""
 
@@ -3017,7 +3021,7 @@ msgstr ""
 msgid "User presets"
 msgstr ""
 
-#: src/slic3r/GUI/Preset.cpp:1003 src/slic3r/GUI/Tab.cpp:239
+#: src/slic3r/GUI/Preset.cpp:1003 src/slic3r/GUI/Tab.cpp:240
 msgid "Add a new printer"
 msgstr ""
 
@@ -3030,129 +3034,120 @@ msgid "SLA print"
 msgstr ""
 
 #: src/slic3r/GUI/PresetHints.cpp:28
-#, possible-c-format
 msgid ""
-"If estimated layer time is below ~%ds, fan will run at %d%% and print speed "
-"will be reduced so that no less than %ds are spent on that layer (however, "
-"speed will never be reduced below %dmm/s)."
+"If estimated layer time is below ~%1%s, fan will run at %2%%% and print "
+"speed will be reduced so that no less than %3%s are spent on that layer "
+"(however, speed will never be reduced below %4%mm/s)."
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:32
-#, possible-c-format
+#: src/slic3r/GUI/PresetHints.cpp:35
 msgid ""
 "\n"
-"If estimated layer time is greater, but still below ~%ds, fan will run at a "
-"proportionally decreasing speed between %d%% and %d%%."
+"If estimated layer time is greater, but still below ~%1%s, fan will run at a "
+"proportionally decreasing speed between %2%%% and %3%%%."
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:36
+#: src/slic3r/GUI/PresetHints.cpp:39
 msgid ""
 "\n"
-"During the other layers, fan "
+"During the other layers, fan"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:38
-msgid "Fan "
+#: src/slic3r/GUI/PresetHints.cpp:41
+msgid "Fan"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:43
-#, possible-c-format
-msgid "will always run at %d%% "
-msgstr ""
-
-#: src/slic3r/GUI/PresetHints.cpp:46
-#, possible-c-format
-msgid "except for the first %d layers"
+#: src/slic3r/GUI/PresetHints.cpp:47
+msgid "will always run at %1%%%"
 msgstr ""
 
 #: src/slic3r/GUI/PresetHints.cpp:50
-msgid "except for the first layer"
+msgid "except for the first %1% layers."
 msgstr ""
 
 #: src/slic3r/GUI/PresetHints.cpp:52
+msgid "except for the first layer."
+msgstr ""
+
+#: src/slic3r/GUI/PresetHints.cpp:54
 msgid "will be turned off."
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:153
+#: src/slic3r/GUI/PresetHints.cpp:155
 msgid "external perimeters"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:162
+#: src/slic3r/GUI/PresetHints.cpp:164
 msgid "perimeters"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:171
+#: src/slic3r/GUI/PresetHints.cpp:173
 msgid "infill"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:181
+#: src/slic3r/GUI/PresetHints.cpp:183
 msgid "solid infill"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:189
+#: src/slic3r/GUI/PresetHints.cpp:191
 msgid "top solid infill"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:200
+#: src/slic3r/GUI/PresetHints.cpp:202
 msgid "support"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:210
+#: src/slic3r/GUI/PresetHints.cpp:212
 msgid "support interface"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:216
+#: src/slic3r/GUI/PresetHints.cpp:218
 msgid "First layer volumetric"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:216
+#: src/slic3r/GUI/PresetHints.cpp:218
 msgid "Bridging volumetric"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:216
+#: src/slic3r/GUI/PresetHints.cpp:218
 msgid "Volumetric"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:217
-msgid " flow rate is maximized "
-msgstr ""
-
-#: src/slic3r/GUI/PresetHints.cpp:220
-msgid "by the print profile maximum"
-msgstr ""
-
-#: src/slic3r/GUI/PresetHints.cpp:221
-msgid "when printing "
+#: src/slic3r/GUI/PresetHints.cpp:219
+msgid "flow rate is maximized"
 msgstr ""
 
 #: src/slic3r/GUI/PresetHints.cpp:222
-msgid " with a volumetric rate "
+msgid "by the print profile maximum"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:226
-#, possible-c-format
-msgid "%3.2f mm³/s"
+#: src/slic3r/GUI/PresetHints.cpp:223
+msgid "when printing"
+msgstr ""
+
+#: src/slic3r/GUI/PresetHints.cpp:224
+msgid "with a volumetric rate"
 msgstr ""
 
 #: src/slic3r/GUI/PresetHints.cpp:228
 #, possible-c-format
-msgid " at filament speed %3.2f mm/s."
+msgid "%3.2f mm³/s at filament speed %3.2f mm/s."
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:247
+#: src/slic3r/GUI/PresetHints.cpp:246
 msgid ""
 "Recommended object thin wall thickness: Not available due to invalid layer "
 "height."
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:264
+#: src/slic3r/GUI/PresetHints.cpp:262
 #, possible-c-format
-msgid "Recommended object thin wall thickness for layer height %.2f and "
+msgid "Recommended object thin wall thickness for layer height %.2f and"
 msgstr ""
 
-#: src/slic3r/GUI/PresetHints.cpp:271
+#: src/slic3r/GUI/PresetHints.cpp:268
 #, possible-c-format
-msgid "%d lines: %.2lf mm"
+msgid "%d lines: %.2f mm"
 msgstr ""
 
 #: src/slic3r/GUI/PrintHostDialogs.cpp:33
@@ -3228,11 +3223,11 @@ msgstr ""
 msgid "Time"
 msgstr ""
 
-#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81
-#: src/slic3r/GUI/WipeTowerDialog.cpp:82 src/libslic3r/PrintConfig.cpp:613
-#: src/libslic3r/PrintConfig.cpp:657 src/libslic3r/PrintConfig.cpp:672
-#: src/libslic3r/PrintConfig.cpp:2268 src/libslic3r/PrintConfig.cpp:2277
-#: src/libslic3r/PrintConfig.cpp:2337 src/libslic3r/PrintConfig.cpp:2344
+#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/WipeTowerDialog.cpp:82
+#: src/libslic3r/PrintConfig.cpp:613 src/libslic3r/PrintConfig.cpp:657
+#: src/libslic3r/PrintConfig.cpp:672 src/libslic3r/PrintConfig.cpp:2268
+#: src/libslic3r/PrintConfig.cpp:2277 src/libslic3r/PrintConfig.cpp:2337
+#: src/libslic3r/PrintConfig.cpp:2344
 msgid "s"
 msgstr ""
 
@@ -3240,6 +3235,11 @@ msgstr ""
 msgid "Volumetric speed"
 msgstr ""
 
+#: src/slic3r/GUI/RammingChart.cpp:81 src/libslic3r/PrintConfig.cpp:570
+#: src/libslic3r/PrintConfig.cpp:1210
+msgid "mm³/s"
+msgstr ""
+
 #: src/slic3r/GUI/SysInfoDialog.cpp:44
 msgid "System Information"
 msgstr ""
@@ -3260,194 +3260,201 @@ msgstr ""
 msgid "Select the print profiles this profile is compatible with."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:132
-msgid "Save current "
+#. TRN "Save current Settings"
+#: src/slic3r/GUI/Tab.cpp:133
+#, possible-c-format
+msgid "Save current %s"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:133
+#: src/slic3r/GUI/Tab.cpp:134
 msgid "Delete this preset"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:138
+#: src/slic3r/GUI/Tab.cpp:139
 msgid ""
 "Hover the cursor over buttons to find more information \n"
 "or click this button."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:917
+#: src/slic3r/GUI/Tab.cpp:918
 msgid "It's a default preset."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:918
+#: src/slic3r/GUI/Tab.cpp:919
 msgid "It's a system preset."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:919
-msgid "Current preset is inherited from "
+#: src/slic3r/GUI/Tab.cpp:920
+#, possible-c-format
+msgid "Current preset is inherited from %s"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:924
-msgid "It can't be deleted or modified. "
+#: src/slic3r/GUI/Tab.cpp:921
+msgid "default preset"
 msgstr ""
 
 #: src/slic3r/GUI/Tab.cpp:925
-msgid ""
-"Any modifications should be saved as a new preset inherited from this one. "
+msgid "It can't be deleted or modified."
 msgstr ""
 
 #: src/slic3r/GUI/Tab.cpp:926
+msgid ""
+"Any modifications should be saved as a new preset inherited from this one."
+msgstr ""
+
+#: src/slic3r/GUI/Tab.cpp:927
 msgid "To do that please specify a new name for the preset."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:930
+#: src/slic3r/GUI/Tab.cpp:931
 msgid "Additional information:"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:936
+#: src/slic3r/GUI/Tab.cpp:937
 msgid "printer model"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:944
+#: src/slic3r/GUI/Tab.cpp:945
 msgid "default print profile"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:947
+#: src/slic3r/GUI/Tab.cpp:948
 msgid "default filament profile"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:961
+#: src/slic3r/GUI/Tab.cpp:962
 msgid "default SLA material profile"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:965
+#: src/slic3r/GUI/Tab.cpp:966
 msgid "default SLA print profile"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1000 src/slic3r/GUI/Tab.cpp:3411
+#: src/slic3r/GUI/Tab.cpp:1001 src/slic3r/GUI/Tab.cpp:3416
 msgid "Layers and perimeters"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1001 src/libslic3r/PrintConfig.cpp:56
+#: src/slic3r/GUI/Tab.cpp:1002 src/libslic3r/PrintConfig.cpp:56
 msgid "Layer height"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1005
+#: src/slic3r/GUI/Tab.cpp:1006
 msgid "Vertical shells"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1016
+#: src/slic3r/GUI/Tab.cpp:1017
 msgid "Horizontal shells"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1017 src/libslic3r/PrintConfig.cpp:1735
+#: src/slic3r/GUI/Tab.cpp:1018 src/libslic3r/PrintConfig.cpp:1735
 msgid "Solid layers"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1022
+#: src/slic3r/GUI/Tab.cpp:1023
 msgid "Quality (slower slicing)"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1040
+#: src/slic3r/GUI/Tab.cpp:1041
 msgid "Reducing printing time"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1052
+#: src/slic3r/GUI/Tab.cpp:1053
 msgid "Skirt and brim"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1069
+#: src/slic3r/GUI/Tab.cpp:1070
 msgid "Raft"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1073
+#: src/slic3r/GUI/Tab.cpp:1074
 msgid "Options for support material and raft"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1088
+#: src/slic3r/GUI/Tab.cpp:1089
 msgid "Speed for print moves"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1100
+#: src/slic3r/GUI/Tab.cpp:1101
 msgid "Speed for non-print moves"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1103
+#: src/slic3r/GUI/Tab.cpp:1104
 msgid "Modifiers"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1106
+#: src/slic3r/GUI/Tab.cpp:1107
 msgid "Acceleration control (advanced)"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1113
+#: src/slic3r/GUI/Tab.cpp:1114
 msgid "Autospeed (advanced)"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1121
+#: src/slic3r/GUI/Tab.cpp:1122
 msgid "Multiple Extruders"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1129
+#: src/slic3r/GUI/Tab.cpp:1130
 msgid "Ooze prevention"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1146
+#: src/slic3r/GUI/Tab.cpp:1147
 msgid "Extrusion width"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1156
+#: src/slic3r/GUI/Tab.cpp:1157
 msgid "Overlap"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1159
+#: src/slic3r/GUI/Tab.cpp:1160
 msgid "Flow"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1168
+#: src/slic3r/GUI/Tab.cpp:1169
 msgid "Other"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1171 src/slic3r/GUI/Tab.cpp:3459
+#: src/slic3r/GUI/Tab.cpp:1172 src/slic3r/GUI/Tab.cpp:3464
 msgid "Output options"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1172
+#: src/slic3r/GUI/Tab.cpp:1173
 msgid "Sequential printing"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1174
+#: src/slic3r/GUI/Tab.cpp:1175
 msgid "Extruder clearance (mm)"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1183 src/slic3r/GUI/Tab.cpp:3460
+#: src/slic3r/GUI/Tab.cpp:1184 src/slic3r/GUI/Tab.cpp:3465
 msgid "Output file"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1190 src/libslic3r/PrintConfig.cpp:1408
+#: src/slic3r/GUI/Tab.cpp:1191 src/libslic3r/PrintConfig.cpp:1408
 msgid "Post-processing scripts"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1196 src/slic3r/GUI/Tab.cpp:1197
-#: src/slic3r/GUI/Tab.cpp:1579 src/slic3r/GUI/Tab.cpp:1580
-#: src/slic3r/GUI/Tab.cpp:1988 src/slic3r/GUI/Tab.cpp:1989
-#: src/slic3r/GUI/Tab.cpp:2082 src/slic3r/GUI/Tab.cpp:2083
-#: src/slic3r/GUI/Tab.cpp:3348 src/slic3r/GUI/Tab.cpp:3349
+#: src/slic3r/GUI/Tab.cpp:1197 src/slic3r/GUI/Tab.cpp:1198
+#: src/slic3r/GUI/Tab.cpp:1581 src/slic3r/GUI/Tab.cpp:1582
+#: src/slic3r/GUI/Tab.cpp:1991 src/slic3r/GUI/Tab.cpp:1992
+#: src/slic3r/GUI/Tab.cpp:2085 src/slic3r/GUI/Tab.cpp:2086
+#: src/slic3r/GUI/Tab.cpp:3353 src/slic3r/GUI/Tab.cpp:3354
 msgid "Notes"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1203 src/slic3r/GUI/Tab.cpp:1587
-#: src/slic3r/GUI/Tab.cpp:1995 src/slic3r/GUI/Tab.cpp:2089
-#: src/slic3r/GUI/Tab.cpp:3356 src/slic3r/GUI/Tab.cpp:3465
+#: src/slic3r/GUI/Tab.cpp:1204 src/slic3r/GUI/Tab.cpp:1589
+#: src/slic3r/GUI/Tab.cpp:1998 src/slic3r/GUI/Tab.cpp:2092
+#: src/slic3r/GUI/Tab.cpp:3361 src/slic3r/GUI/Tab.cpp:3470
 msgid "Dependencies"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1204 src/slic3r/GUI/Tab.cpp:1588
-#: src/slic3r/GUI/Tab.cpp:1996 src/slic3r/GUI/Tab.cpp:2090
-#: src/slic3r/GUI/Tab.cpp:3357 src/slic3r/GUI/Tab.cpp:3466
+#: src/slic3r/GUI/Tab.cpp:1205 src/slic3r/GUI/Tab.cpp:1590
+#: src/slic3r/GUI/Tab.cpp:1999 src/slic3r/GUI/Tab.cpp:2093
+#: src/slic3r/GUI/Tab.cpp:3362 src/slic3r/GUI/Tab.cpp:3471
 msgid "Profile dependencies"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1250
+#: src/slic3r/GUI/Tab.cpp:1251
 #, possible-c-format
 msgid ""
 "The Spiral Vase mode requires:\n"
@@ -3460,11 +3467,11 @@ msgid ""
 "Shall I adjust those settings in order to enable Spiral Vase?"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1257
+#: src/slic3r/GUI/Tab.cpp:1258
 msgid "Spiral Vase"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1280
+#: src/slic3r/GUI/Tab.cpp:1281
 msgid ""
 "The Wipe Tower currently supports the non-soluble supports only\n"
 "if they are printed with the current extruder without triggering a tool "
@@ -3475,11 +3482,11 @@ msgid ""
 "Shall I adjust those settings in order to enable the Wipe Tower?"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1284 src/slic3r/GUI/Tab.cpp:1301
+#: src/slic3r/GUI/Tab.cpp:1285 src/slic3r/GUI/Tab.cpp:1302
 msgid "Wipe Tower"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1298
+#: src/slic3r/GUI/Tab.cpp:1299
 msgid ""
 "For the Wipe Tower to work with the soluble supports, the support layers\n"
 "need to be synchronized with the object layers.\n"
@@ -3487,7 +3494,7 @@ msgid ""
 "Shall I synchronize support layers in order to enable the Wipe Tower?"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1316
+#: src/slic3r/GUI/Tab.cpp:1317
 msgid ""
 "Supports work better, if the following feature is enabled:\n"
 "- Detect bridging perimeters\n"
@@ -3495,112 +3502,103 @@ msgid ""
 "Shall I adjust those settings for supports?"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1319
+#: src/slic3r/GUI/Tab.cpp:1320
 msgid "Support Generator"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1361
-msgid "The "
-msgstr ""
-
-#: src/slic3r/GUI/Tab.cpp:1361
-#, possible-c-format
+#: src/slic3r/GUI/Tab.cpp:1362
 msgid ""
-" infill pattern is not supposed to work at 100% density.\n"
+"The %1% infill pattern is not supposed to work at 100%% density.\n"
 "\n"
 "Shall I switch to rectilinear fill pattern?"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1481
-msgid "Temperature "
+#: src/slic3r/GUI/Tab.cpp:1483 src/libslic3r/PrintConfig.cpp:2005
+msgid "Temperature"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1487
+#: src/slic3r/GUI/Tab.cpp:1489
 msgid "Bed"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1492
+#: src/slic3r/GUI/Tab.cpp:1494
 msgid "Cooling"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1493 src/libslic3r/PrintConfig.cpp:1311
+#: src/slic3r/GUI/Tab.cpp:1495 src/libslic3r/PrintConfig.cpp:1311
 #: src/libslic3r/PrintConfig.cpp:2124
 msgid "Enable"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1504
+#: src/slic3r/GUI/Tab.cpp:1506
 msgid "Fan settings"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1505
+#: src/slic3r/GUI/Tab.cpp:1507
 msgid "Fan speed"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1513
+#: src/slic3r/GUI/Tab.cpp:1515
 msgid "Cooling thresholds"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1519
+#: src/slic3r/GUI/Tab.cpp:1521
 msgid "Filament properties"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1523
+#: src/slic3r/GUI/Tab.cpp:1525
 msgid "Print speed override"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1533
+#: src/slic3r/GUI/Tab.cpp:1535
 msgid "Toolchange parameters with single extruder MM printers"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1548
+#: src/slic3r/GUI/Tab.cpp:1550
 msgid "Ramming settings"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1566 src/slic3r/GUI/Tab.cpp:1951
+#: src/slic3r/GUI/Tab.cpp:1568 src/slic3r/GUI/Tab.cpp:1954
 msgid "Custom G-code"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1567 src/slic3r/GUI/Tab.cpp:1952
+#: src/slic3r/GUI/Tab.cpp:1569 src/slic3r/GUI/Tab.cpp:1955
 #: src/libslic3r/PrintConfig.cpp:1761 src/libslic3r/PrintConfig.cpp:1776
 msgid "Start G-code"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1573 src/slic3r/GUI/Tab.cpp:1958
+#: src/slic3r/GUI/Tab.cpp:1575 src/slic3r/GUI/Tab.cpp:1961
 #: src/libslic3r/PrintConfig.cpp:360 src/libslic3r/PrintConfig.cpp:370
 msgid "End G-code"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1703 src/slic3r/GUI/Tab.cpp:1891
+#: src/slic3r/GUI/Tab.cpp:1706 src/slic3r/GUI/Tab.cpp:1894
 msgid "Test"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1713
+#: src/slic3r/GUI/Tab.cpp:1716
 msgid "Could not get a valid Printer Host reference"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1719 src/slic3r/GUI/Tab.cpp:1904
+#: src/slic3r/GUI/Tab.cpp:1722 src/slic3r/GUI/Tab.cpp:1907
 msgid "Success!"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1734
+#: src/slic3r/GUI/Tab.cpp:1737
 msgid ""
 "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-"
 "signed certificate."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1740
-msgid " Browse "
-msgstr ""
-
-#: src/slic3r/GUI/Tab.cpp:1747
+#: src/slic3r/GUI/Tab.cpp:1750
 msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1748
+#: src/slic3r/GUI/Tab.cpp:1751
 msgid "Open CA certificate file"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1776
+#: src/slic3r/GUI/Tab.cpp:1779
 #, possible-c-format
 msgid ""
 "HTTPS CA File:\n"
@@ -3610,80 +3608,80 @@ msgid ""
 "Store / Keychain."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1816 src/slic3r/GUI/Tab.cpp:2017
+#: src/slic3r/GUI/Tab.cpp:1819 src/slic3r/GUI/Tab.cpp:2020
 msgid "Size and coordinates"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1821 src/slic3r/GUI/Tab.cpp:2022
-#: src/slic3r/GUI/Tab.cpp:3004
-msgid " Set "
+#: src/slic3r/GUI/Tab.cpp:1824 src/slic3r/GUI/Tab.cpp:2025
+#: src/slic3r/GUI/Tab.cpp:3008
+msgid "Set"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1843
+#: src/slic3r/GUI/Tab.cpp:1846
 msgid "Capabilities"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1848
+#: src/slic3r/GUI/Tab.cpp:1851
 msgid "Number of extruders of the printer."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1876
+#: src/slic3r/GUI/Tab.cpp:1879
 msgid "USB/Serial connection"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1877 src/libslic3r/PrintConfig.cpp:1616
+#: src/slic3r/GUI/Tab.cpp:1880 src/libslic3r/PrintConfig.cpp:1616
 msgid "Serial port"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1882
+#: src/slic3r/GUI/Tab.cpp:1885
 msgid "Rescan serial ports"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1904
+#: src/slic3r/GUI/Tab.cpp:1907
 msgid "Connection to printer works correctly."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1907
+#: src/slic3r/GUI/Tab.cpp:1910
 msgid "Connection failed."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1920 src/slic3r/GUI/Tab.cpp:2077
+#: src/slic3r/GUI/Tab.cpp:1923 src/slic3r/GUI/Tab.cpp:2080
 msgid "Print Host upload"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1964 src/libslic3r/PrintConfig.cpp:129
+#: src/slic3r/GUI/Tab.cpp:1967 src/libslic3r/PrintConfig.cpp:129
 msgid "Before layer change G-code"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1970 src/libslic3r/PrintConfig.cpp:1032
+#: src/slic3r/GUI/Tab.cpp:1973 src/libslic3r/PrintConfig.cpp:1032
 msgid "After layer change G-code"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1976 src/libslic3r/PrintConfig.cpp:2031
+#: src/slic3r/GUI/Tab.cpp:1979 src/libslic3r/PrintConfig.cpp:2031
 msgid "Tool change G-code"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:1982
+#: src/slic3r/GUI/Tab.cpp:1985
 msgid "Between objects G-code (for sequential printing)"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2044
+#: src/slic3r/GUI/Tab.cpp:2047
 msgid "Display"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2055
+#: src/slic3r/GUI/Tab.cpp:2058
 msgid "Tilt"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2056
+#: src/slic3r/GUI/Tab.cpp:2059
 msgid "Tilt time"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2062 src/slic3r/GUI/Tab.cpp:3330
+#: src/slic3r/GUI/Tab.cpp:2065 src/slic3r/GUI/Tab.cpp:3335
 msgid "Corrections"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2139 src/slic3r/GUI/Tab.cpp:2212
+#: src/slic3r/GUI/Tab.cpp:2142 src/slic3r/GUI/Tab.cpp:2215
 #: src/libslic3r/PrintConfig.cpp:1082 src/libslic3r/PrintConfig.cpp:1100
 #: src/libslic3r/PrintConfig.cpp:1118 src/libslic3r/PrintConfig.cpp:1135
 #: src/libslic3r/PrintConfig.cpp:1146 src/libslic3r/PrintConfig.cpp:1157
@@ -3691,171 +3689,173 @@ msgstr ""
 msgid "Machine limits"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2153
+#: src/slic3r/GUI/Tab.cpp:2156
 msgid "Values in this column are for Normal mode"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2154
+#: src/slic3r/GUI/Tab.cpp:2157
 msgid "Normal"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2159
+#: src/slic3r/GUI/Tab.cpp:2162
 msgid "Values in this column are for Stealth mode"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2160
+#: src/slic3r/GUI/Tab.cpp:2163
 msgid "Stealth"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2168
+#: src/slic3r/GUI/Tab.cpp:2171
 msgid "Maximum feedrates"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2173
+#: src/slic3r/GUI/Tab.cpp:2176
 msgid "Maximum accelerations"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2180
+#: src/slic3r/GUI/Tab.cpp:2183
 msgid "Jerk limits"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2185
+#: src/slic3r/GUI/Tab.cpp:2188
 msgid "Minimum feedrates"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2234 src/slic3r/GUI/Tab.cpp:2242
+#: src/slic3r/GUI/Tab.cpp:2237 src/slic3r/GUI/Tab.cpp:2245
 msgid "Single extruder MM setup"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2243
+#: src/slic3r/GUI/Tab.cpp:2246
 msgid "Single extruder multimaterial parameters"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2256 src/libslic3r/GCode/PreviewData.cpp:475
+#: src/slic3r/GUI/Tab.cpp:2259 src/libslic3r/GCode/PreviewData.cpp:475
 #, possible-c-format
 msgid "Extruder %d"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2263
+#: src/slic3r/GUI/Tab.cpp:2266
 msgid "Layer height limits"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2268
+#: src/slic3r/GUI/Tab.cpp:2271
 msgid "Position (for multi-extruder printers)"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2271
+#: src/slic3r/GUI/Tab.cpp:2274
 msgid "Retraction"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2274
+#: src/slic3r/GUI/Tab.cpp:2277
 msgid "Only lift Z"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2287
+#: src/slic3r/GUI/Tab.cpp:2290
 msgid ""
 "Retraction when tool is disabled (advanced settings for multi-extruder "
 "setups)"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2445
+#: src/slic3r/GUI/Tab.cpp:2448
 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 ""
 
-#: src/slic3r/GUI/Tab.cpp:2447
+#: src/slic3r/GUI/Tab.cpp:2450
 msgid "Firmware Retraction"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2773
+#: src/slic3r/GUI/Tab.cpp:2776
 #, possible-c-format
 msgid "Default preset (%s)"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2774
+#: src/slic3r/GUI/Tab.cpp:2777
 #, possible-c-format
 msgid "Preset (%s)"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2791
+#: src/slic3r/GUI/Tab.cpp:2794
 msgid "has the following unsaved changes:"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2794
+#: src/slic3r/GUI/Tab.cpp:2797
 msgid "is not compatible with printer"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2795
+#: src/slic3r/GUI/Tab.cpp:2798
 msgid "is not compatible with print profile"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2797
+#: src/slic3r/GUI/Tab.cpp:2800
 msgid "and it has the following unsaved changes:"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2801
+#: src/slic3r/GUI/Tab.cpp:2804
 msgid "Unsaved Changes"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2813
+#: src/slic3r/GUI/Tab.cpp:2816
 msgid "Please check your object list before preset changing."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2916
+#: src/slic3r/GUI/Tab.cpp:2895
+msgid "%1% - Copy"
+msgstr ""
+
+#: src/slic3r/GUI/Tab.cpp:2918
 msgid "The supplied name is empty. It can't be saved."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2921
+#: src/slic3r/GUI/Tab.cpp:2923
 msgid "Cannot overwrite a system profile."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2925
+#: src/slic3r/GUI/Tab.cpp:2927
 msgid "Cannot overwrite an external profile."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2951
+#: src/slic3r/GUI/Tab.cpp:2953
 msgid "remove"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2951
+#: src/slic3r/GUI/Tab.cpp:2953
 msgid "delete"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2952
-msgid "Are you sure you want to "
+#. TRN  remove/delete
+#: src/slic3r/GUI/Tab.cpp:2955
+msgid "Are you sure you want to %1% the selected preset?"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2952
-msgid " the selected preset?"
-msgstr ""
-
-#: src/slic3r/GUI/Tab.cpp:2953
+#: src/slic3r/GUI/Tab.cpp:2956
 msgid "Remove"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:2954
-msgid " Preset"
+#. TRN  Remove/Delete
+#: src/slic3r/GUI/Tab.cpp:2958
+msgid "%1% Preset"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3080
+#: src/slic3r/GUI/Tab.cpp:3084
 msgid "LOCKED LOCK"
 msgstr ""
 
 #. TRN Description for "LOCKED LOCK"
-#: src/slic3r/GUI/Tab.cpp:3082
+#: src/slic3r/GUI/Tab.cpp:3086
 msgid ""
 "indicates that the settings are the same as the system values for the "
 "current option group"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3084
+#: src/slic3r/GUI/Tab.cpp:3088
 msgid "UNLOCKED LOCK"
 msgstr ""
 
 #. TRN Description for "UNLOCKED LOCK"
-#: src/slic3r/GUI/Tab.cpp:3086
+#: src/slic3r/GUI/Tab.cpp:3090
 msgid ""
 "indicates that some settings were changed and are not equal to the system "
 "values for the current option group.\n"
@@ -3863,23 +3863,23 @@ msgid ""
 "to the system values."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3091
+#: src/slic3r/GUI/Tab.cpp:3095
 msgid "WHITE BULLET"
 msgstr ""
 
 #. TRN Description for "WHITE BULLET"
-#: src/slic3r/GUI/Tab.cpp:3093
+#: src/slic3r/GUI/Tab.cpp:3097
 msgid ""
 "for the left button: \tindicates a non-system preset,\n"
 "for the right button: \tindicates that the settings hasn't been modified."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3096
+#: src/slic3r/GUI/Tab.cpp:3100
 msgid "BACK ARROW"
 msgstr ""
 
 #. TRN Description for "BACK ARROW"
-#: src/slic3r/GUI/Tab.cpp:3098
+#: src/slic3r/GUI/Tab.cpp:3102
 msgid ""
 "indicates that the settings were changed and are not equal to the last saved "
 "preset for the current option group.\n"
@@ -3887,30 +3887,30 @@ msgid ""
 "to the last saved preset."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3123
+#: src/slic3r/GUI/Tab.cpp:3127
 msgid ""
 "LOCKED LOCK icon indicates that the settings are the same as the system "
 "values for the current option group"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3125
+#: src/slic3r/GUI/Tab.cpp:3129
 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 ""
 
-#: src/slic3r/GUI/Tab.cpp:3128
+#: src/slic3r/GUI/Tab.cpp:3132
 msgid "WHITE BULLET icon indicates a non system preset."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3131
+#: src/slic3r/GUI/Tab.cpp:3135
 msgid ""
 "WHITE BULLET icon indicates that the settings are the same as in the last "
 "saved preset for the current option group."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3133
+#: src/slic3r/GUI/Tab.cpp:3137
 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"
@@ -3918,84 +3918,86 @@ msgid ""
 "preset."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3139
+#: src/slic3r/GUI/Tab.cpp:3143
 msgid ""
 "LOCKED LOCK icon indicates that the value is the same as the system value."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3140
+#: src/slic3r/GUI/Tab.cpp:3144
 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 ""
 
-#: src/slic3r/GUI/Tab.cpp:3146
+#: src/slic3r/GUI/Tab.cpp:3150
 msgid ""
 "WHITE BULLET icon indicates that the value is the same as in the last saved "
 "preset."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3147
+#: src/slic3r/GUI/Tab.cpp:3151
 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 ""
 
-#: src/slic3r/GUI/Tab.cpp:3259
-msgid " as:"
+#. TRN Preset
+#: src/slic3r/GUI/Tab.cpp:3264
+#, possible-c-format
+msgid "Save %s as:"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3303
+#: src/slic3r/GUI/Tab.cpp:3308
 msgid "the following postfix are not allowed:"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3307
+#: src/slic3r/GUI/Tab.cpp:3312
 msgid "The supplied name is not available."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3320
+#: src/slic3r/GUI/Tab.cpp:3325
 msgid "Material"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3322 src/slic3r/GUI/Tab.cpp:3413
+#: src/slic3r/GUI/Tab.cpp:3327 src/slic3r/GUI/Tab.cpp:3418
 msgid "Layers"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3326
+#: src/slic3r/GUI/Tab.cpp:3331
 msgid "Exposure"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3421
+#: src/slic3r/GUI/Tab.cpp:3426
 msgid "Support head"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3426
+#: src/slic3r/GUI/Tab.cpp:3431
 msgid "Support pillar"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3436
+#: src/slic3r/GUI/Tab.cpp:3441
 msgid "Connection of the support sticks and junctions"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3441
+#: src/slic3r/GUI/Tab.cpp:3446
 msgid "Automatic generation"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3503
+#: src/slic3r/GUI/Tab.cpp:3508
 msgid "Head penetration should not be greater than the head width."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3504
+#: src/slic3r/GUI/Tab.cpp:3509
 msgid "Invalid Head penetration"
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3516
+#: src/slic3r/GUI/Tab.cpp:3521
 msgid "Pinhead diameter should be smaller than the pillar diameter."
 msgstr ""
 
-#: src/slic3r/GUI/Tab.cpp:3517
+#: src/slic3r/GUI/Tab.cpp:3522
 msgid "Invalid pinhead diameter"
 msgstr ""
 
@@ -4920,7 +4922,7 @@ msgid "Colorprint height"
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:226
-msgid "Heights at which a filament change is to occur. "
+msgid "Heights at which a filament change is to occur."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:236
@@ -4972,7 +4974,7 @@ msgid "Cooling tube position"
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:285
-msgid "Distance of the center-point of the cooling tube from the extruder tip "
+msgid "Distance of the center-point of the cooling tube from the extruder tip."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:292
@@ -4980,7 +4982,7 @@ msgid "Cooling tube length"
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:293
-msgid "Length of the cooling tube to limit space for cooling moves inside it "
+msgid "Length of the cooling tube to limit space for cooling moves inside it."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:301
@@ -5310,16 +5312,12 @@ msgid ""
 "speed. Set to zero for no limit."
 msgstr ""
 
-#: src/libslic3r/PrintConfig.cpp:570 src/libslic3r/PrintConfig.cpp:1210
-msgid "mm³/s"
-msgstr ""
-
 #: src/libslic3r/PrintConfig.cpp:576
 msgid "Loading speed"
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:577
-msgid "Speed used for loading the filament on the wipe tower. "
+msgid "Speed used for loading the filament on the wipe tower."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:584
@@ -5327,7 +5325,7 @@ msgid "Loading speed at the start"
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:585
-msgid "Speed used at the very beginning of loading phase. "
+msgid "Speed used at the very beginning of loading phase."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:592
@@ -5337,7 +5335,7 @@ msgstr ""
 #: src/libslic3r/PrintConfig.cpp:593
 msgid ""
 "Speed used for unloading the filament on the wipe tower (does not affect  "
-"initial part of unloading just after ramming). "
+"initial part of unloading just after ramming)."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:601
@@ -5346,7 +5344,7 @@ msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:602
 msgid ""
-"Speed used for unloading the tip of the filament immediately after ramming. "
+"Speed used for unloading the tip of the filament immediately after ramming."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:609
@@ -5357,7 +5355,7 @@ msgstr ""
 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. "
+"original dimensions."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:619
@@ -5367,7 +5365,7 @@ msgstr ""
 #: src/libslic3r/PrintConfig.cpp:620
 msgid ""
 "Filament is cooled by being moved back and forth in the cooling tubes. "
-"Specify desired number of these moves "
+"Specify desired number of these moves."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:628
@@ -5375,7 +5373,7 @@ msgid "Speed of the first cooling move"
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:629
-msgid "Cooling moves are gradually accelerating beginning at this speed. "
+msgid "Cooling moves are gradually accelerating beginning at this speed."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:636
@@ -5400,7 +5398,7 @@ msgid "Speed of the last cooling move"
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:648
-msgid "Cooling moves are gradually accelerating towards this speed. "
+msgid "Cooling moves are gradually accelerating towards this speed."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:655
@@ -5421,7 +5419,7 @@ msgstr ""
 #: src/libslic3r/PrintConfig.cpp:664
 msgid ""
 "This string is edited by RammingDialog and contains ramming specific "
-"parameters "
+"parameters."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:670
@@ -6072,7 +6070,7 @@ msgstr ""
 #: src/libslic3r/PrintConfig.cpp:1338
 msgid ""
 "Distance of the extruder tip from the position where the filament is parked "
-"when unloaded. This should match the value in printer firmware. "
+"when unloaded. This should match the value in printer firmware."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:1346
@@ -6084,7 +6082,7 @@ msgid ""
 "When set to zero, the distance the filament is moved from parking position "
 "during load is exactly the same as it was moved back during unload. When "
 "positive, it is loaded further,  if negative, the loading move is shorter "
-"than unloading. "
+"than unloading."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:1355 src/libslic3r/PrintConfig.cpp:1373
@@ -6767,10 +6765,6 @@ msgid ""
 "disable temperature control commands in the output."
 msgstr ""
 
-#: src/libslic3r/PrintConfig.cpp:2005
-msgid "Temperature"
-msgstr ""
-
 #: src/libslic3r/PrintConfig.cpp:2011
 msgid "Detect thin walls"
 msgstr ""
@@ -6896,7 +6890,7 @@ msgstr ""
 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. "
+"volumes below."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:2138
@@ -6906,7 +6900,7 @@ msgstr ""
 #: src/libslic3r/PrintConfig.cpp:2139
 msgid ""
 "This matrix describes volumes (in cubic milimetres) required to purge the "
-"new filament on the wipe tower for any given pair of tools. "
+"new filament on the wipe tower for any given pair of tools."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:2148
@@ -6934,7 +6928,7 @@ msgid "Wipe tower rotation angle"
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:2170
-msgid "Wipe tower rotation angle with respect to x-axis "
+msgid "Wipe tower rotation angle with respect to x-axis."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:2177
@@ -6964,7 +6958,7 @@ msgid "Maximal bridging distance"
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:2193
-msgid "Maximal distance between supports on sparse infill sections. "
+msgid "Maximal distance between supports on sparse infill sections."
 msgstr ""
 
 #: src/libslic3r/PrintConfig.cpp:2199
@@ -7259,10 +7253,6 @@ msgstr ""
 msgid "How much the supports should lift up the supported object."
 msgstr ""
 
-#: src/libslic3r/PrintConfig.cpp:2524
-msgid "Support points density"
-msgstr ""
-
 #: src/libslic3r/PrintConfig.cpp:2526
 msgid "This is a relative measure of support points density."
 msgstr ""
diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp
index a13a70c94..453a16943 100644
--- a/src/libslic3r/PrintConfig.cpp
+++ b/src/libslic3r/PrintConfig.cpp
@@ -223,7 +223,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("colorprint_heights", coFloats);
     def->label = L("Colorprint height");
-    def->tooltip = L("Heights at which a filament change is to occur. ");
+    def->tooltip = L("Heights at which a filament change is to occur.");
     def->set_default_value(new ConfigOptionFloats { });
 
     def = this->add("compatible_printers", coStrings);
@@ -282,7 +282,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("cooling_tube_retraction", coFloat);
     def->label = L("Cooling tube position");
-    def->tooltip = L("Distance of the center-point of the cooling tube from the extruder tip ");
+    def->tooltip = L("Distance of the center-point of the cooling tube from the extruder tip.");
     def->sidetext = L("mm");
     def->min = 0;
     def->mode = comAdvanced;
@@ -290,7 +290,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("cooling_tube_length", coFloat);
     def->label = L("Cooling tube length");
-    def->tooltip = L("Length of the cooling tube to limit space for cooling moves inside it ");
+    def->tooltip = L("Length of the cooling tube to limit space for cooling moves inside it.");
     def->sidetext = L("mm");
     def->min = 0;
     def->mode = comAdvanced;
@@ -574,7 +574,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("filament_loading_speed", coFloats);
     def->label = L("Loading speed");
-    def->tooltip = L("Speed used for loading the filament on the wipe tower. ");
+    def->tooltip = L("Speed used for loading the filament on the wipe tower.");
     def->sidetext = L("mm/s");
     def->min = 0;
     def->mode = comExpert;
@@ -582,7 +582,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("filament_loading_speed_start", coFloats);
     def->label = L("Loading speed at the start");
-    def->tooltip = L("Speed used at the very beginning of loading phase. ");
+    def->tooltip = L("Speed used at the very beginning of loading phase.");
     def->sidetext = L("mm/s");
     def->min = 0;
     def->mode = comExpert;
@@ -591,7 +591,7 @@ void PrintConfigDef::init_fff_params()
     def = this->add("filament_unloading_speed", coFloats);
     def->label = L("Unloading speed");
     def->tooltip = L("Speed used for unloading the filament on the wipe tower (does not affect "
-                      " initial part of unloading just after ramming). ");
+                      " initial part of unloading just after ramming).");
     def->sidetext = L("mm/s");
     def->min = 0;
     def->mode = comExpert;
@@ -599,7 +599,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("filament_unloading_speed_start", coFloats);
     def->label = L("Unloading speed at the start");
-    def->tooltip = L("Speed used for unloading the tip of the filament immediately after ramming. ");
+    def->tooltip = L("Speed used for unloading the tip of the filament immediately after ramming.");
     def->sidetext = L("mm/s");
     def->min = 0;
     def->mode = comExpert;
@@ -609,7 +609,7 @@ void PrintConfigDef::init_fff_params()
     def->label = L("Delay after unloading");
     def->tooltip = L("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. ");
+                   "that may need more time to shrink to original dimensions.");
     def->sidetext = L("s");
     def->min = 0;
     def->mode = comExpert;
@@ -618,7 +618,7 @@ void PrintConfigDef::init_fff_params()
     def = this->add("filament_cooling_moves", coInts);
     def->label = L("Number of cooling moves");
     def->tooltip = L("Filament is cooled by being moved back and forth in the "
-                   "cooling tubes. Specify desired number of these moves ");
+                   "cooling tubes. Specify desired number of these moves.");
     def->max = 0;
     def->max = 20;
     def->mode = comExpert;
@@ -626,7 +626,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("filament_cooling_initial_speed", coFloats);
     def->label = L("Speed of the first cooling move");
-    def->tooltip = L("Cooling moves are gradually accelerating beginning at this speed. ");
+    def->tooltip = L("Cooling moves are gradually accelerating beginning at this speed.");
     def->sidetext = L("mm/s");
     def->min = 0;
     def->mode = comExpert;
@@ -645,7 +645,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("filament_cooling_final_speed", coFloats);
     def->label = L("Speed of the last cooling move");
-    def->tooltip = L("Cooling moves are gradually accelerating towards this speed. ");
+    def->tooltip = L("Cooling moves are gradually accelerating towards this speed.");
     def->sidetext = L("mm/s");
     def->min = 0;
     def->mode = comExpert;
@@ -661,7 +661,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("filament_ramming_parameters", coStrings);
     def->label = L("Ramming parameters");
-    def->tooltip = L("This string is edited by RammingDialog and contains ramming specific parameters ");
+    def->tooltip = L("This string is edited by RammingDialog and contains ramming specific parameters.");
     def->mode = comExpert;
     def->set_default_value(new ConfigOptionStrings { "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0|"
 	   " 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" });
@@ -1336,7 +1336,7 @@ void PrintConfigDef::init_fff_params()
     def = this->add("parking_pos_retraction", coFloat);
     def->label = L("Filament parking position");
     def->tooltip = L("Distance of the extruder tip from the position where the filament is parked "
-                      "when unloaded. This should match the value in printer firmware. ");
+                      "when unloaded. This should match the value in printer firmware.");
     def->sidetext = L("mm");
     def->min = 0;
     def->mode = comAdvanced;
@@ -1346,7 +1346,7 @@ void PrintConfigDef::init_fff_params()
     def->label = L("Extra loading distance");
     def->tooltip = L("When set to zero, the distance the filament is moved from parking position during load "
                       "is exactly the same as it was moved back during unload. When positive, it is loaded further, "
-                      " if negative, the loading move is shorter than unloading. ");
+                      " if negative, the loading move is shorter than unloading.");
     def->sidetext = L("mm");
     def->mode = comAdvanced;
     def->set_default_value(new ConfigOptionFloat(-2.f));
@@ -2131,13 +2131,13 @@ void PrintConfigDef::init_fff_params()
     def->label = L("Purging volumes - load/unload volumes");
     def->tooltip = L("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. ");
+                     "volumes below.");
     def->set_default_value(new ConfigOptionFloats { 70.f, 70.f, 70.f, 70.f, 70.f, 70.f, 70.f, 70.f, 70.f, 70.f  });
 
     def = this->add("wiping_volumes_matrix", coFloats);
     def->label = L("Purging volumes - matrix");
     def->tooltip = L("This matrix describes volumes (in cubic milimetres) required to purge the"
-                     " new filament on the wipe tower for any given pair of tools. ");
+                     " new filament on the wipe tower for any given pair of tools.");
     def->set_default_value(new ConfigOptionFloats {   0.f, 140.f, 140.f, 140.f, 140.f,
                                                     140.f,   0.f, 140.f, 140.f, 140.f,
                                                     140.f, 140.f,   0.f, 140.f, 140.f,
@@ -2167,7 +2167,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("wipe_tower_rotation_angle", coFloat);
     def->label = L("Wipe tower rotation angle");
-    def->tooltip = L("Wipe tower rotation angle with respect to x-axis ");
+    def->tooltip = L("Wipe tower rotation angle with respect to x-axis.");
     def->sidetext = L("°");
     def->mode = comAdvanced;
     def->set_default_value(new ConfigOptionFloat(0.));
@@ -2190,7 +2190,7 @@ void PrintConfigDef::init_fff_params()
 
     def = this->add("wipe_tower_bridging", coFloat);
     def->label = L("Maximal bridging distance");
-    def->tooltip = L("Maximal distance between supports on sparse infill sections. ");
+    def->tooltip = L("Maximal distance between supports on sparse infill sections.");
     def->sidetext = L("mm");
     def->mode = comAdvanced;
     def->set_default_value(new ConfigOptionFloat(10.));
diff --git a/src/slic3r/GUI/BedShapeDialog.cpp b/src/slic3r/GUI/BedShapeDialog.cpp
index fbbca7c70..d471a46c9 100644
--- a/src/slic3r/GUI/BedShapeDialog.cpp
+++ b/src/slic3r/GUI/BedShapeDialog.cpp
@@ -330,7 +330,7 @@ void BedShapePanel::load_stl()
 		model = Model::read_from_file(file_name);
 	}
 	catch (std::exception &e) {
-		auto msg = _(L("Error! ")) + file_name + " : " + e.what() + ".";
+		auto msg = _(L("Error!")) + " " + file_name + " : " + e.what() + ".";
 		show_error(this, msg);
 		exit(1);
 	}
diff --git a/src/slic3r/GUI/ConfigSnapshotDialog.cpp b/src/slic3r/GUI/ConfigSnapshotDialog.cpp
index bdf80c27c..f905941f3 100644
--- a/src/slic3r/GUI/ConfigSnapshotDialog.cpp
+++ b/src/slic3r/GUI/ConfigSnapshotDialog.cpp
@@ -36,7 +36,7 @@ static wxString generate_html_row(const Config::Snapshot &snapshot, bool row_eve
     text += "\">";
     text += "<td>";
     // Format the row header.
-    text += wxString("<font size=\"5\"><b>") + (snapshot_active ? _(L("Active: ")) : "") + 
+    text += wxString("<font size=\"5\"><b>") + (snapshot_active ? _(L("Active")) + ": " : "") + 
         Utils::format_local_date_time(snapshot.time_captured) + ": " + format_reason(snapshot.reason);
     if (! snapshot.comment.empty())
         text += " (" + wxString::FromUTF8(snapshot.comment.data()) + ")";
diff --git a/src/slic3r/GUI/FirmwareDialog.cpp b/src/slic3r/GUI/FirmwareDialog.cpp
index da6e77fcd..a9969802f 100644
--- a/src/slic3r/GUI/FirmwareDialog.cpp
+++ b/src/slic3r/GUI/FirmwareDialog.cpp
@@ -189,7 +189,7 @@ struct FirmwareDialog::priv
 
 	template<class ...Args> void queue_error(const wxString &format, Args... args) {
 		queue_message(format, args...);
-		queue_event(AE_STATUS, _(L("Flashing failed: ")) + wxString::Format(format, args...));
+		queue_event(AE_STATUS, _(L("Flashing failed")) +": "+ wxString::Format(format, args...));
 		avrdude->cancel();
 	}
 
diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp
index 5efdde4d7..df5558461 100644
--- a/src/slic3r/GUI/GLCanvas3D.cpp
+++ b/src/slic3r/GUI/GLCanvas3D.cpp
@@ -1691,11 +1691,11 @@ void GLCanvas3D::render()
     ImGuiWrapper& imgui = *wxGetApp().imgui();
     imgui.set_next_window_bg_alpha(0.5f);
     imgui.begin(std::string("Render statistics"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse);
-    imgui.text("Last frame: ");
+    imgui.text(_(L("Last frame")) +": ");
     ImGui::SameLine();
     imgui.text(std::to_string(m_render_stats.last_frame));
     ImGui::SameLine();
-    imgui.text(" ms");
+    imgui.text(" "+_(L("ms")));
     imgui.end();
 #endif // ENABLE_RENDER_STATISTICS
 
diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp
index 113c34fde..f59c8739d 100644
--- a/src/slic3r/GUI/GUI_ObjectList.cpp
+++ b/src/slic3r/GUI/GUI_ObjectList.cpp
@@ -1440,7 +1440,7 @@ void ObjectList::load_part( ModelObject* model_object,
             model = Model::read_from_file(input_file);
         }
         catch (std::exception &e) {
-            auto msg = _(L("Error! ")) + input_file + " : " + e.what() + ".";
+            auto msg = _(L("Error!")) + " " + input_file + " : " + e.what() + ".";
             show_error(parent, msg);
             exit(1);
         }
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp
index bf9bbba8a..e26bec06b 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp
@@ -837,7 +837,7 @@ RENDER_AGAIN:
         if (m_new_point_head_diameter > diameter_upper_cap)
             m_new_point_head_diameter = diameter_upper_cap;
 
-        m_imgui->text(_(L("Head diameter: ")));
+        m_imgui->text(_(L("Head diameter")) + ": ");
         ImGui::SameLine(m_imgui->scaled(6.66f));
         ImGui::PushItemWidth(m_imgui->scaled(8.33f));
         if (ImGui::SliderFloat("", &m_new_point_head_diameter, 0.1f, diameter_upper_cap, "%.1f")) {
@@ -876,7 +876,7 @@ RENDER_AGAIN:
     }
     else { // not in editing mode:
         ImGui::PushItemWidth(m_imgui->scaled(5.55f));
-        m_imgui->text(_(L("Minimal points distance: ")));
+        m_imgui->text(_(L("Minimal points distance")) + ": ");
         ImGui::SameLine(m_imgui->scaled(9.44f));
 
         std::vector<const ConfigOption*> opts = get_config_options({"support_points_density_relative", "support_points_minimal_distance"});
@@ -887,7 +887,7 @@ RENDER_AGAIN:
         if (value_changed)
             m_model_object->config.opt<ConfigOptionFloat>("support_points_minimal_distance", true)->value = minimal_point_distance;
 
-        m_imgui->text(_(L("Support points density: ")));
+        m_imgui->text(_(L("Support points density")) + ": ");
         ImGui::SameLine(m_imgui->scaled(9.44f));
         if (ImGui::SliderFloat(" ", &density, 0.f, 200.f, "%.f %%")) {
             value_changed = true;
@@ -925,7 +925,7 @@ RENDER_AGAIN:
     // Following is rendered in both editing and non-editing mode:
     m_imgui->text("");
     if (m_clipping_plane_distance == 0.f)
-        m_imgui->text(_(L("Clipping of view:"))+ " ");
+        m_imgui->text(_(L("Clipping of view"))+ ": ");
     else {
         if (m_imgui->button(_(L("Reset direction")))) {
             wxGetApp().CallAfter([this](){
diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp
index 2b11ed8c4..e52e982f1 100644
--- a/src/slic3r/GUI/MainFrame.cpp
+++ b/src/slic3r/GUI/MainFrame.cpp
@@ -683,7 +683,7 @@ void MainFrame::quick_slice(const int qs)
     } 
     else if (qs & qsSaveAs) {
         // The following line may die if the output_filename_format template substitution fails.
-        auto dlg = new wxFileDialog(this, _(L("Save ")) + (qs & qsExportSVG ? _(L("SVG")) : _(L("G-code"))) + _(L(" file as:")),
+        auto dlg = new wxFileDialog(this, wxString::Format(_(L("Save %s file as:") , (qs & qsExportSVG ? _(L("SVG")) : _(L("G-code")) ))),
             wxGetApp().app_config->get_last_output_dir(get_dir_name(output_file)), get_base_name(input_file), 
             qs & qsExportSVG ? file_wildcards(FT_SVG) : file_wildcards(FT_GCODE),
             wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
@@ -710,7 +710,9 @@ void MainFrame::quick_slice(const int qs)
     }
 
     // show processbar dialog
-    m_progress_dialog = new wxProgressDialog(_(L("Slicing")) + dots, _(L("Processing ")) + input_file_basename + "…",
+    m_progress_dialog = new wxProgressDialog(_(L("Slicing")) + dots, 
+    // TRN "Processing input_file_basename"
+                                             wxString::Format(_(L("Processing %s")), input_file_basename + dots),
         100, this, 4);
     m_progress_dialog->Pulse();
     {
diff --git a/src/slic3r/GUI/PresetHints.cpp b/src/slic3r/GUI/PresetHints.cpp
index 1835aacc1..621615aa7 100644
--- a/src/slic3r/GUI/PresetHints.cpp
+++ b/src/slic3r/GUI/PresetHints.cpp
@@ -6,7 +6,6 @@
 #include "PresetBundle.hpp"
 #include "PresetHints.hpp"
 
-#include <boost/algorithm/string/predicate.hpp>
 #include <wx/intl.h> 
 
 #include "GUI.hpp"
@@ -18,38 +17,41 @@ namespace Slic3r {
 std::string PresetHints::cooling_description(const Preset &preset)
 {
 	std::string out;
-	char buf[MIN_BUF_LENGTH/*4096*/];
-	if (preset.config.opt_bool("cooling", 0)) {
+
+    if (preset.config.opt_bool("cooling", 0)) {
 		int 	slowdown_below_layer_time 	= preset.config.opt_int("slowdown_below_layer_time", 0);
 		int 	min_fan_speed 				= preset.config.opt_int("min_fan_speed", 0);
 		int 	max_fan_speed 				= preset.config.opt_int("max_fan_speed", 0);
 		int 	min_print_speed				= int(preset.config.opt_float("min_print_speed", 0) + 0.5);
 		int 	fan_below_layer_time		= preset.config.opt_int("fan_below_layer_time", 0);
-		sprintf(buf, _CHB(L("If estimated layer time is below ~%ds, fan will run at %d%% and print speed will be reduced so that no less than %ds are spent on that layer (however, speed will never be reduced below %dmm/s).")),
-            slowdown_below_layer_time, max_fan_speed, slowdown_below_layer_time, min_print_speed);
-		out += buf;
+
+        out += (boost::format(_utf8(L("If estimated layer time is below ~%1%s, "
+                                      "fan will run at %2%%% and print speed will be reduced "
+                                      "so that no less than %3%s are spent on that layer "
+                                      "(however, speed will never be reduced below %4%mm/s)."))) 
+                                      % slowdown_below_layer_time % max_fan_speed % slowdown_below_layer_time % min_print_speed).str();
+
         if (fan_below_layer_time > slowdown_below_layer_time) {
-			sprintf(buf, _CHB(L("\nIf estimated layer time is greater, but still below ~%ds, fan will run at a proportionally decreasing speed between %d%% and %d%%.")),
-                fan_below_layer_time, max_fan_speed, min_fan_speed);
-            out += buf;
+            out += (boost::format(_utf8(L("\nIf estimated layer time is greater, but still below ~%1%s, "
+                                          "fan will run at a proportionally decreasing speed between %2%%% and %3%%%."))) 
+                                          % fan_below_layer_time % max_fan_speed % min_fan_speed).str();
         }
-		out += _CHB(L("\nDuring the other layers, fan "));
+        out += _utf8(L("\nDuring the other layers, fan")) + " ";
     } else {
-        out = _CHB(L("Fan "));
+        out = _utf8(L("Fan")) + " ";
     }
 	if (preset.config.opt_bool("fan_always_on", 0)) {
 		int 	disable_fan_first_layers 	= preset.config.opt_int("disable_fan_first_layers", 0);
 		int 	min_fan_speed 				= preset.config.opt_int("min_fan_speed", 0);
-        sprintf(buf, _CHB(L("will always run at %d%% ")), min_fan_speed);
-        out += buf;
-        if (disable_fan_first_layers > 1) {
-        	sprintf(buf, _CHB(L("except for the first %d layers")), disable_fan_first_layers);
-	        out += buf;
-        }
+
+	    out += (boost::format(_utf8(L("will always run at %1%%%"))) % min_fan_speed).str() + " ";
+
+        if (disable_fan_first_layers > 1)
+            out += (boost::format(_utf8(L("except for the first %1% layers."))) % disable_fan_first_layers).str();
         else if (disable_fan_first_layers == 1)
-        	out += _CHB(L("except for the first layer"));
+        	out += _utf8(L("except for the first layer."));
     } else
-    	out += _CHB(L("will be turned off."));
+       out += _utf8(L("will be turned off."));
 
     return out;
 }
@@ -150,7 +152,7 @@ std::string PresetHints::maximum_volumetric_flow_description(const PresetBundle
                     limit_by_first_layer_speed(std::max(external_perimeter_speed, small_perimeter_speed), max_print_speed));
             if (max_flow < external_perimeter_rate) {
                 max_flow = external_perimeter_rate;
-                max_flow_extrusion_type = _CHB(L("external perimeters"));
+                max_flow_extrusion_type = _utf8(L("external perimeters"));
             }
             double perimeter_rate = Flow::new_from_config_width(frPerimeter, 
                 first_positive(first_layer_extrusion_width_ptr, perimeter_extrusion_width, extrusion_width), 
@@ -159,7 +161,7 @@ std::string PresetHints::maximum_volumetric_flow_description(const PresetBundle
                     limit_by_first_layer_speed(std::max(perimeter_speed, small_perimeter_speed), max_print_speed));
             if (max_flow < perimeter_rate) {
                 max_flow = perimeter_rate;
-                max_flow_extrusion_type = _CHB(L("perimeters"));
+                max_flow_extrusion_type = _utf8(L("perimeters"));
             }
         }
         if (! bridging && infill_extruder_active) {
@@ -168,7 +170,7 @@ std::string PresetHints::maximum_volumetric_flow_description(const PresetBundle
                 nozzle_diameter, lh, bfr).mm3_per_mm() * limit_by_first_layer_speed(infill_speed, max_print_speed);
             if (max_flow < infill_rate) {
                 max_flow = infill_rate;
-                max_flow_extrusion_type = _CHB(L("infill"));
+                max_flow_extrusion_type = _utf8(L("infill"));
             }
         }
         if (solid_infill_extruder_active) {
@@ -178,7 +180,7 @@ std::string PresetHints::maximum_volumetric_flow_description(const PresetBundle
                 (bridging ? bridge_speed : limit_by_first_layer_speed(solid_infill_speed, max_print_speed));
             if (max_flow < solid_infill_rate) {
                 max_flow = solid_infill_rate;
-                max_flow_extrusion_type = _CHB(L("solid infill"));
+                max_flow_extrusion_type = _utf8(L("solid infill"));
             }
             if (! bridging) {
                 double top_solid_infill_rate = Flow::new_from_config_width(frInfill, 
@@ -186,7 +188,7 @@ std::string PresetHints::maximum_volumetric_flow_description(const PresetBundle
                     nozzle_diameter, lh, bfr).mm3_per_mm() * limit_by_first_layer_speed(top_solid_infill_speed, max_print_speed);
                 if (max_flow < top_solid_infill_rate) {
                     max_flow = top_solid_infill_rate;
-                    max_flow_extrusion_type = _CHB(L("top solid infill"));
+                    max_flow_extrusion_type = _utf8(L("top solid infill"));
                 }
             }
         }
@@ -197,7 +199,7 @@ std::string PresetHints::maximum_volumetric_flow_description(const PresetBundle
                 (bridging ? bridge_speed : limit_by_first_layer_speed(support_material_speed, max_print_speed));
             if (max_flow < support_material_rate) {
                 max_flow = support_material_rate;
-                max_flow_extrusion_type = _CHB(L("support"));
+                max_flow_extrusion_type = _utf8(L("support"));
             }
         }
         if (support_material_interface_extruder_active) {
@@ -207,26 +209,23 @@ std::string PresetHints::maximum_volumetric_flow_description(const PresetBundle
                 (bridging ? bridge_speed : limit_by_first_layer_speed(support_material_interface_speed, max_print_speed));
             if (max_flow < support_material_interface_rate) {
                 max_flow = support_material_interface_rate;
-                max_flow_extrusion_type = _CHB(L("support interface"));
+                max_flow_extrusion_type = _utf8(L("support interface"));
             }
         }
         //FIXME handle gap_fill_speed
         if (! out.empty())
             out += "\n";
-        out += (first_layer ? _CHB(L("First layer volumetric")) : (bridging ? _CHB(L("Bridging volumetric")) : _CHB(L("Volumetric"))));
-        out += _CHB(L(" flow rate is maximized "));
+        out += (first_layer ? _utf8(L("First layer volumetric")) : (bridging ? _utf8(L("Bridging volumetric")) : _utf8(L("Volumetric"))));
+        out += " " + _utf8(L("flow rate is maximized")) + " ";
         bool limited_by_max_volumetric_speed = max_volumetric_speed > 0 && max_volumetric_speed < max_flow;
         out += (limited_by_max_volumetric_speed ? 
-            _CHB(L("by the print profile maximum")) : 
-            (_CHB(L("when printing ")) + max_flow_extrusion_type))
-            + _CHB(L(" with a volumetric rate "));
+            _utf8(L("by the print profile maximum")) :
+            (_utf8(L("when printing"))+ " " + max_flow_extrusion_type))
+            + " " + _utf8(L("with a volumetric rate"))+ " ";
         if (limited_by_max_volumetric_speed)
             max_flow = max_volumetric_speed;
-		char buf[MIN_BUF_LENGTH/*2048*/];
-        sprintf(buf, _CHB(L("%3.2f mm³/s")), max_flow);
-        out += buf;
-        sprintf(buf, _CHB(L(" at filament speed %3.2f mm/s.")), max_flow / filament_crossection);
-        out += buf;
+
+        out += (boost::format(_utf8(L("%3.2f mm³/s at filament speed %3.2f mm/s."))) % max_flow % (max_flow / filament_crossection)).str();
     }
 
  	return out;
@@ -244,7 +243,7 @@ std::string PresetHints::recommended_thin_wall_thickness(const PresetBundle &pre
     
     std::string out;
 	if (layer_height <= 0.f){
-		out += _CHB(L("Recommended object thin wall thickness: Not available due to invalid layer height."));
+		out += _utf8(L("Recommended object thin wall thickness: Not available due to invalid layer height."));
 		return out;
 	}
 
@@ -260,16 +259,13 @@ std::string PresetHints::recommended_thin_wall_thickness(const PresetBundle &pre
     
     if (num_perimeters > 0) {
         int num_lines = std::min(num_perimeters * 2, 10);
-		char buf[MIN_BUF_LENGTH/*256*/];
-        sprintf(buf, _CHB(L("Recommended object thin wall thickness for layer height %.2f and ")), layer_height);
-        out += buf;
+        out += (boost::format(_utf8(L("Recommended object thin wall thickness for layer height %.2f and"))) % layer_height).str() + " ";
         // Start with the width of two closely spaced 
         double width = external_perimeter_flow.width + external_perimeter_flow.spacing();
         for (int i = 2; i <= num_lines; thin_walls ? ++ i : i += 2) {
             if (i > 2)
                 out += ", ";
-            sprintf(buf, _CHB(L("%d lines: %.2lf mm")), i, width);
-            out += buf;
+            out += (boost::format(_utf8(L("%d lines: %.2f mm"))) % i %  width).str() + " ";
             width += perimeter_flow.spacing() * (thin_walls ? 1.f : 2.f);
         }
     }
diff --git a/src/slic3r/GUI/RammingChart.cpp b/src/slic3r/GUI/RammingChart.cpp
index 6f71e8616..dbd6bfad6 100644
--- a/src/slic3r/GUI/RammingChart.cpp
+++ b/src/slic3r/GUI/RammingChart.cpp
@@ -78,7 +78,7 @@ void Chart::draw() {
     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()+0.5*legend_side));
-    label = _(L("Volumetric speed")) + " (" + _(L("mm")) + wxString("³/", wxConvUTF8) + _(L("s")) + ")";
+    label = _(L("Volumetric speed")) + " (" + _(L("mm³/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/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
index c7e412adb..27bb5ee64 100644
--- a/src/slic3r/GUI/Tab.cpp
+++ b/src/slic3r/GUI/Tab.cpp
@@ -129,7 +129,8 @@ void Tab::create_preset_tab()
 
     add_scaled_button(panel, &m_btn_hide_incompatible_presets, m_bmp_hide_incompatible_presets.name());
 
-	m_btn_save_preset->SetToolTip(_(L("Save current ")) + m_title);
+    // TRN "Save current Settings"
+	m_btn_save_preset->SetToolTip(wxString::Format(_(L("Save current %s")),m_title));
 	m_btn_delete_preset->SetToolTip(_(L("Delete this preset")));
 	m_btn_delete_preset->Disable();
 
@@ -916,13 +917,13 @@ void Tab::update_preset_description_line()
 	wxString description_line = preset.is_default ?
 		_(L("It's a default preset.")) : preset.is_system ?
 		_(L("It's a system preset.")) : 
-		_(L("Current preset is inherited from ")) + (parent == nullptr ? 
-													"default preset." : 
-													":\n\t" + parent->name);
+		wxString::Format(_(L("Current preset is inherited from %s")), (parent == nullptr ? 
+													_(L("default preset"))+"." : 
+													":\n\t" + parent->name));
 	
 	if (preset.is_default || preset.is_system)
-		description_line += "\n\t" + _(L("It can't be deleted or modified. ")) + 
-							"\n\t" + _(L("Any modifications should be saved as a new preset inherited from this one. ")) + 
+		description_line += "\n\t" + _(L("It can't be deleted or modified.")) + 
+							"\n\t" + _(L("Any modifications should be saved as a new preset inherited from this one.")) + 
 							"\n\t" + _(L("To do that please specify a new name for the preset."));
 	
 	if (parent && parent->vendor)
@@ -1356,10 +1357,10 @@ void TabPrint::update()
 					correct_100p_fill = true;
 			}
 			// get fill_pattern name from enum_labels for using this one at dialog_msg
-			str_fill_pattern = m_config->def()->get("fill_pattern")->enum_labels[fill_pattern];
+			str_fill_pattern = _utf8(m_config->def()->get("fill_pattern")->enum_labels[fill_pattern]);
 			if (!correct_100p_fill) {
-				wxString msg_text = _(L("The ")) + str_fill_pattern + _(L(" infill pattern is not supposed to work at 100% density.\n"
-					"\nShall I switch to rectilinear fill pattern?"));
+				wxString msg_text = GUI::from_u8((boost::format(_utf8(L("The %1% infill pattern is not supposed to work at 100%% density.\n\n"
+					                                           "Shall I switch to rectilinear fill pattern?"))) % str_fill_pattern).str());
 				auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Infill")), wxICON_WARNING | wxYES | wxNO);
 				DynamicPrintConfig new_conf = *m_config;
 				if (dialog->ShowModal() == wxID_YES) {
@@ -1450,6 +1451,7 @@ void TabPrint::update()
 
 	m_recommended_thin_wall_thickness_description_line->SetText(
 		from_u8(PresetHints::recommended_thin_wall_thickness(*m_preset_bundle)));
+    Layout();
 
 //	Thaw();
     m_update_cnt--;
@@ -1478,7 +1480,7 @@ void TabFilament::build()
 		optgroup->append_single_option_line("filament_density");
 		optgroup->append_single_option_line("filament_cost");
 
-		optgroup = page->new_optgroup(_(L("Temperature ")) + wxString("°C", wxConvUTF8));
+		optgroup = page->new_optgroup(_(L("Temperature")) + wxString(" °C", wxConvUTF8));
 		Line line = { _(L("Extruder")), "" };
 		line.append_option(optgroup->get_option("first_layer_temperature"));
 		line.append_option(optgroup->get_option("temperature"));
@@ -1632,6 +1634,7 @@ void TabFilament::update()
 	m_cooling_description_line->SetText(text);
 	text = from_u8(PresetHints::maximum_volumetric_flow_description(*m_preset_bundle));
 	m_volumetric_speed_description_line->SetText(text);
+    Layout();
 
 	bool cooling = m_config->opt_bool("cooling", 0);
 	bool fan_always_on = cooling || m_config->opt_bool("fan_always_on", 0);
@@ -1737,7 +1740,7 @@ void TabPrinter::build_printhost(ConfigOptionsGroup *optgroup)
 		Line cafile_line = optgroup->create_single_option_line("printhost_cafile");
 
 		auto printhost_cafile_browse = [this, optgroup] (wxWindow* parent) {
-			auto btn = new wxButton(parent, wxID_ANY, _(L(" Browse "))+dots, wxDefaultPosition, wxDefaultSize, wxBU_LEFT);
+			auto btn = new wxButton(parent, wxID_ANY, " " + _(L("Browse"))+" " +dots, wxDefaultPosition, wxDefaultSize, wxBU_LEFT);
 			btn->SetFont(Slic3r::GUI::wxGetApp().normal_font());
 			btn->SetBitmap(create_scaled_bitmap(this, "browse"));
 			auto sizer = new wxBoxSizer(wxHORIZONTAL);
@@ -1818,7 +1821,7 @@ void TabPrinter::build_fff()
         Line line = optgroup->create_single_option_line("bed_shape");//{ _(L("Bed shape")), "" };
 		line.widget = [this](wxWindow* parent) {
             ScalableButton* btn;
-            add_scaled_button(parent, &btn, "printer_white", _(L(" Set ")) + dots, wxBU_LEFT | wxBU_EXACTFIT);
+            add_scaled_button(parent, &btn, "printer_white",  " " + _(L("Set")) + " " + dots, wxBU_LEFT | wxBU_EXACTFIT);
             btn->SetFont(wxGetApp().normal_font());
 
 			auto sizer = new wxBoxSizer(wxHORIZONTAL);
@@ -2019,7 +2022,7 @@ void TabPrinter::build_sla()
     Line line = optgroup->create_single_option_line("bed_shape");//{ _(L("Bed shape")), "" };
     line.widget = [this](wxWindow* parent) {
         ScalableButton* btn;
-        add_scaled_button(parent, &btn, "printer_white", _(L(" Set ")) + dots, wxBU_LEFT | wxBU_EXACTFIT);
+        add_scaled_button(parent, &btn, "printer_white", " " + _(L("Set")) + " " + dots, wxBU_LEFT | wxBU_EXACTFIT);
         btn->SetFont(wxGetApp().normal_font());
 
 
@@ -2770,8 +2773,8 @@ bool Tab::may_discard_current_dirty_preset(PresetCollection* presets /*= nullptr
 	std::string   type_name  = presets->name();
 	wxString      tab        = "          ";
 	wxString      name       = old_preset.is_default ?
-		wxString::Format(_(L("Default preset (%s)")), _(type_name)) :                       //_(L("Default ")) + type_name + _(L(" preset")) :                
-		wxString::Format(_(L("Preset (%s)")), _(type_name)) + "\n" + tab + old_preset.name; //type_name + _(L(" preset\n")) + tab + old_preset.name;
+		wxString::Format(_(L("Default preset (%s)")), _(type_name)) :
+		wxString::Format(_(L("Preset (%s)")), _(type_name)) + "\n" + tab + old_preset.name;
 
 	// Collect descriptions of the dirty options.
 	wxString changes;
@@ -2888,11 +2891,10 @@ void Tab::save_preset(std::string name /*= ""*/)
 
 	if (name.empty()) {
 		const Preset &preset = m_presets->get_selected_preset();
-		auto default_name = preset.is_default ? "Untitled" : preset.name;
-		if (preset.is_system) {
-			default_name += " - ";
-			default_name += _(L("Copy")).ToUTF8().data();
-		}
+        auto default_name = preset.is_default ? "Untitled" :
+                            preset.is_system ? (boost::format(_utf8(L("%1% - Copy"))) % preset.name).str() : 
+	                        preset.name;
+
  		bool have_extention = boost::iends_with(default_name, ".ini");
 		if (have_extention) {
 			size_t len = default_name.length()-4;
@@ -2948,10 +2950,12 @@ void Tab::delete_preset()
 {
 	auto current_preset = m_presets->get_selected_preset();
 	// Don't let the user delete the ' - default - ' configuration.
-	wxString action = current_preset.is_external ? _(L("remove")) : _(L("delete"));
-	wxString msg = _(L("Are you sure you want to ")) + action + _(L(" the selected preset?"));
-	action = current_preset.is_external ? _(L("Remove")) : _(L("Delete"));
-	wxString title = action + _(L(" Preset"));
+    std::string action = current_preset.is_external ? _utf8(L("remove")) : _utf8(L("delete"));
+    // TRN  remove/delete
+    const wxString msg = from_u8((boost::format(_utf8(L("Are you sure you want to %1% the selected preset?"))) % action).str());
+	action = current_preset.is_external ? _utf8(L("Remove")) : _utf8(L("Delete"));
+	// TRN  Remove/Delete
+    wxString title = from_u8((boost::format(_utf8(L("%1% Preset"))) % action).str());  //action + _(L(" Preset"));
 	if (current_preset.is_default ||
 		wxID_YES != wxMessageDialog(parent(), msg, title, wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION).ShowModal())
 		return;
@@ -3001,7 +3005,7 @@ wxSizer* Tab::compatible_widget_create(wxWindow* parent, PresetDependencies &dep
 {
 	deps.checkbox = new wxCheckBox(parent, wxID_ANY, _(L("All")));
 	deps.checkbox->SetFont(Slic3r::GUI::wxGetApp().normal_font());
-    add_scaled_button(parent, &deps.btn, "printer_white", _(L(" Set ")) + dots, wxBU_LEFT | wxBU_EXACTFIT);
+    add_scaled_button(parent, &deps.btn, "printer_white", wxString::Format(" %s %s", _(L("Set")), dots), wxBU_LEFT | wxBU_EXACTFIT);
     deps.btn->SetFont(Slic3r::GUI::wxGetApp().normal_font());
 
 	auto sizer = new wxBoxSizer(wxHORIZONTAL);
@@ -3256,7 +3260,8 @@ ConfigOptionsGroupShp Page::new_optgroup(const wxString& title, int noncommon_la
 
 void SavePresetWindow::build(const wxString& title, const std::string& default_name, std::vector<std::string> &values)
 {
-	auto text = new wxStaticText(this, wxID_ANY, _(L("Save ")) + title + _(L(" as:")), 
+    // TRN Preset
+	auto text = new wxStaticText(this, wxID_ANY, wxString::Format(_(L("Save %s as:")), title), 
 									wxDefaultPosition, wxDefaultSize);
 	m_combo = new wxComboBox(this, wxID_ANY, from_u8(default_name), 
 							wxDefaultPosition, wxDefaultSize, 0, 0, wxTE_PROCESS_ENTER);