From a4b42f44f392872ef9c3abc31710815bb903b41e Mon Sep 17 00:00:00 2001
From: YuSanka <yusanka@gmail.com>
Date: Tue, 12 Jun 2018 15:30:55 +0200
Subject: [PATCH 1/2] Added translation for FR

---
 resources/localization/fr_FR/Slic3rPE.mo    | Bin 137917 -> 139734 bytes
 resources/localization/fr_FR/Slic3rPE_fr.po | 155 +++++++++++++++-----
 2 files changed, 119 insertions(+), 36 deletions(-)

diff --git a/resources/localization/fr_FR/Slic3rPE.mo b/resources/localization/fr_FR/Slic3rPE.mo
index 8b971356bab897c1f6482e0b6a8e1a1c32166975..3718025baa5e2f0d5e3d3c6c950b1d795e2328cf 100644
GIT binary patch
delta 23263
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
Ni$_z^jeMS~{}0a*(S!g1

delta 21450
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

diff --git a/resources/localization/fr_FR/Slic3rPE_fr.po b/resources/localization/fr_FR/Slic3rPE_fr.po
index 217e97494..81b5b2bb2 100644
--- a/resources/localization/fr_FR/Slic3rPE_fr.po
+++ b/resources/localization/fr_FR/Slic3rPE_fr.po
@@ -5,7 +5,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 2.0.6\n"
+"X-Generator: Poedit 2.0.8\n"
 "Project-Id-Version: \n"
 "POT-Creation-Date: \n"
 "PO-Revision-Date: \n"
@@ -361,6 +361,10 @@ msgstr "Ajouter…"
 msgid "Advanced"
 msgstr "Avancé"
 
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:319
+msgid "Advanced: avrdude output log"
+msgstr "Avancé : journal de sortie avrdude"
+
 #: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1138
 #: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:766
 msgid "After layer change G-code"
@@ -421,6 +425,14 @@ msgstr "secondes approximatives"
 msgid "Are you sure you want to "
 msgstr "Êtes-vous sûr de vouloir "
 
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:365
+msgid ""
+"Are you sure you want to cancel firmware flashing?\n"
+"This could leave your printer in an unusable state!"
+msgstr ""
+"Êtes-vous certain de vouloir annuler le processus de flash du firmware ?\n"
+"Cela pourrait rendre votre imprimante inutilisable !"
+
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2044
 msgid "Around X axis…"
 msgstr "Autour de l'axe X…"
@@ -615,6 +627,14 @@ msgstr "Description des Boutons et des Couleurs de Texte"
 msgid "by the print profile maximum"
 msgstr "par le maximum du profil de l'imprimante"
 
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:85
+msgid "Cancel"
+msgstr "Annuler"
+
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:213
+msgid "Cancelling..."
+msgstr "Annulation..."
+
 #: xs/src/slic3r/GUI/Tab.cpp:2124
 msgid "Cannot overwrite a system profile."
 msgstr "Impossible d'écraser un profil système."
@@ -647,14 +667,6 @@ msgstr "Changer le nombre de copies de l'objet sélectionné"
 msgid "Check for application updates"
 msgstr "Vérifier les mises à jour de l'application"
 
-#: xs/src/slic3r/GUI/GUI.cpp:404
-msgid "Check for configuration updates"
-msgstr "Vérifier les mises à jour de configuration"
-
-#: xs/src/slic3r/GUI/GUI.cpp:404
-msgid "Check for updates"
-msgstr "Vérifier les mises à jour"
-
 #: c:\src\Slic3r\xs\src\slic3r\GUI\BedShapeDialog.cpp:298
 msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):"
 msgstr "Choisir un fichier à partir duquel importer la forme du plateau (STL/OBJ/AMF/3MF/PRUSA) :"
@@ -731,6 +743,10 @@ msgstr "Une mise à jour de la configuration est disponible"
 msgid "Configuration Wizard"
 msgstr "Assistant de Configuration"
 
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:366
+msgid "Confirmation"
+msgstr "Confirmation"
+
 #: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1020
 msgid "Connection failed."
 msgstr "La connexion a échoué."
@@ -1073,10 +1089,6 @@ msgstr "Entrez la nouvelle taille pour l'objet sélectionné (plateau d'impressi
 msgid "Enter the number of copies of the selected object:"
 msgstr "Entrez le nombre de copies de l'objet sélectionné :"
 
-#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:950
-msgid "Enter the rotation angle:"
-msgstr "Entrez l'angle de rotation :"
-
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1061
 #, no-perl-format
@@ -1154,6 +1166,10 @@ msgstr "Option expérimentale qui ajuste le flux pour les surplombs (le flux pou
 msgid "Export all presets to file"
 msgstr "Exporter tous les préréglage vers un fichier"
 
+#: lib/Slic3r/GUI/Plater.pm:1416
+msgid "Export cancelled"
+msgstr "Exportation annulée"
+
 #: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:257
 msgid "Export current configuration to file"
 msgstr "Exporter la configuration actuelle vers un fichier"
@@ -1423,6 +1439,14 @@ msgstr "Terminé"
 msgid "Firmware"
 msgstr "Firmware"
 
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:266
+msgid "Firmware flasher"
+msgstr "Outil de flash du firmware"
+
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:293
+msgid "Firmware image:"
+msgstr "Image du firmware :"
+
 #: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1314
 msgid "Firmware Retraction"
 msgstr "Rétraction du Firmware"
@@ -1450,6 +1474,30 @@ msgstr "Vitesse de la première couche"
 msgid "First layer volumetric"
 msgstr "Volume de la première couche"
 
+#: xs/src/slic3r/GUI/GUI.cpp:326
+msgid "Flash printer firmware"
+msgstr "Flasher le firmware de l'imprimante"
+
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:84
+msgid "Flash!"
+msgstr "Flash !"
+
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:147
+msgid "Flashing cancelled."
+msgstr "Processus de flash annulé."
+
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:146
+msgid "Flashing failed. Please see the avrdude log below."
+msgstr "Le processus de flash a échoué. Veuillez consulter le journal avrdude ci-dessous."
+
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:123
+msgid "Flashing in progress. Please do not disconnect the printer!"
+msgstr "Processus de flash en cours. Veuillez ne pas déconnecter l'imprimante !"
+
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:145
+msgid "Flashing succeeded!"
+msgstr "Flash effectué avec succès !"
+
 #: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:466
 msgid "Flow"
 msgstr "Flux"
@@ -1555,10 +1603,9 @@ msgstr "Hauteur de la jupe exprimée en couches. Mettez une valeur élevée pour
 msgid "Hello, welcome to Slic3r Prusa Edition! This %s helps you with the initial configuration; just a few settings and you will be ready to print."
 msgstr "Bonjour, bienvenu dans Slic3r Prusa Edition ! Ce %s vous aide à la configuration initiale ; juste quelques paramètres et vous serez prêt à imprimer."
 
-#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:223
-#, c-format
-msgid "Here you can adjust required purging volume (mm%s) for any given pair of tools."
-msgstr "Ici, vous pouvez ajuster le volume de purge requis (mm%s) pour chaque paire d'outils."
+#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:218
+msgid "Here you can adjust required purging volume (mm³) for any given pair of tools."
+msgstr "Ici vous pouvez ajuster le volume de purge nécessaire (mm³) pour une paire d'outils donnée."
 
 #: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:329
 msgid "Horizontal shells"
@@ -1745,10 +1792,6 @@ msgstr "Remplissage interne"
 msgid "Invalid API key"
 msgstr "Clé API invalide"
 
-#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:950
-msgid "Invalid rotation angle entered"
-msgstr "Angle de rotation entré invalide"
-
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1031
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1035
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1056
@@ -1966,14 +2009,14 @@ msgstr "Vitesse d'impression minimale"
 msgid "min slic3r version"
 msgstr "version minimale de slic3r"
 
+#: xs/src/libslic3r/PrintConfig.cpp:951
+msgid "Minimal filament extrusion length"
+msgstr "Longueur minimale d'extrusion de filament"
+
 #: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1040
 msgid "Minimum detail resolution, used to simplify the input file for speeding up the slicing job and reducing memory usage. High-resolution models often carry more detail than printers can render. Set to zero to disable any simplification and use full resolution from input."
 msgstr "Résolution minimale pour les détails, utilisée pour simplifier le fichier d'entrée afin d'accélérer le découpage et de réduire l'utilisation de la mémoire. Les modèles haute-résolution possèdent souvent plus de détails que ce que les imprimantes peuvent produire. Mettez à zéro pour désactiver toute simplification et utiliser la résolution complète de l'entrée."
 
-#: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:874
-msgid "Minimum extrusion length"
-msgstr "Longueur d'extrusion minimale"
-
 #: C:\src\Slic3r\xs\src\libslic3r\PrintConfig.cpp:1050
 msgid "Minimum travel after retraction"
 msgstr "Trajet minimal après une rétraction"
@@ -2284,9 +2327,9 @@ msgstr "Ouvrir un modèle"
 msgid "Open CA certificate file"
 msgstr "Ouvrir le fichier de certificat CA"
 
-#: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:251
-msgid "Open STL/OBJ/AMF…\tCtrl+O"
-msgstr "Ouvrir STL/OBJ/AMF…\tCtrl+O"
+#: lib/Slic3r/GUI/MainFrame.pm:194
+msgid "Open STL/OBJ/AMF/3MF…\tCtrl+O"
+msgstr "Ouvrir STL/OBJ/AMF/3MF…\tCtrl+O"
 
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2102
 msgid "Open the 3D cutting tool"
@@ -2414,6 +2457,10 @@ msgstr "Placer une copie supplémentaire de l'objet sélectionné"
 msgid "Plater"
 msgstr "Plateau"
 
+#: lib/Slic3r/GUI/Plater.pm:1897
+msgid "Please install the OpenGL modules to use this feature (see build instructions)."
+msgstr "Veuillez installer les modules OpenGL pour pouvoir utiliser cette fonctionnalité (voir les instructions de montage)."
+
 #: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:1199
 msgid "Position (for multi-extruder printers)"
 msgstr "Position (pour les imprimantes multi-extrudeurs)"
@@ -2531,6 +2578,10 @@ msgstr "Traitement du fichier d'entrée\n"
 msgid "Profile dependencies"
 msgstr "Dépendances du profil"
 
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:300
+msgid "Progress:"
+msgstr "Progression :"
+
 #: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:385
 msgid "Prusa 3D Drivers"
 msgstr "Drivers Prusa 3D"
@@ -2617,6 +2668,10 @@ msgstr "Réglages de l'expulsion"
 msgid "Re-configure"
 msgstr "Reconfigurer"
 
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:297
+msgid "Ready"
+msgstr "Prêt"
+
 #: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:372
 msgid "Rear"
 msgstr "Arrière"
@@ -2694,6 +2749,15 @@ msgstr "Signaler un problème"
 msgid "Report an issue on the Slic3r Prusa Edition"
 msgstr "Signaler un problème sur la Prusa Edition de Slic3r"
 
+#: xs/src/slic3r/Utils/PresetUpdater.cpp:514
+#, c-format
+msgid "requires min. %s and max. %s"
+msgstr "nécessite min. %s et max. %s"
+
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:288
+msgid "Rescan"
+msgstr "Scanner à nouveau"
+
 #: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:995
 msgid "Rescan serial ports"
 msgstr "Rescanner les ports série"
@@ -2759,10 +2823,6 @@ msgstr "Pivoter de 45° dans le sens des aiguilles d'une montre"
 msgid "Rotate 45° counter-clockwise"
 msgstr "Pivoter de 45° dans le sens inverse des aiguilles d'une montre"
 
-#: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:950
-msgid "Rotate around "
-msgstr "Pivoter autour de "
-
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:2034
 msgid "Rotate the selected object by 45° clockwise"
 msgstr "Pivoter l'objet sélectionné de 45° dans le sens des aiguilles d'une montre"
@@ -2812,6 +2872,10 @@ msgstr "Enregistrer la configuration sous :"
 msgid "Save current "
 msgstr "Enregistrer l'état actuel "
 
+#: lib/Slic3r/GUI/Plater.pm:1399
+msgid "Save G-code file as:"
+msgstr "Sauvegarder le fichier G-code en tant que :"
+
 #: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:580
 msgid "Save OBJ file (less prone to coordinate errors than STL) as:"
 msgstr "Enregistrer le fichier OBJ (moins enclin aux erreurs de coordonnées que le STL) sous :"
@@ -2956,6 +3020,10 @@ msgstr "Port série"
 msgid "Serial port speed"
 msgstr "Vitesse du port série"
 
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:286
+msgid "Serial port:"
+msgstr "Port série :"
+
 #: xs/src/slic3r/GUI/BonjourDialog.cpp:68
 msgid "Service name"
 msgstr "Nom du service"
@@ -3034,6 +3102,10 @@ msgstr "Coques"
 msgid "Show"
 msgstr "Afficher"
 
+#: lib/Slic3r/GUI/MainFrame.pm:337
+msgid "Show &Configuration Folder"
+msgstr "Afficher le Répertoire de &Configuration"
+
 #: c:\src\Slic3r\lib\Slic3r\GUI\MainFrame.pm:408
 msgid "Show about dialog"
 msgstr "Afficher la boîte de dialogue à propos"
@@ -3074,6 +3146,10 @@ msgstr "Afficher le contrôleur de l'imprimante"
 msgid "Show the printer settings"
 msgstr "Afficher les réglages de l'imprimante"
 
+#: lib/Slic3r/GUI/MainFrame.pm:337
+msgid "Show user configuration folder (datadir)"
+msgstr "Afficher le répertoire de configuration utilisateur (datadir)"
+
 #: xs/src/slic3r/GUI/Tab.cpp:1716 xs/src/slic3r/GUI/Tab.cpp:1722
 msgid "Single extruder MM setup"
 msgstr "Réglage MM pour extrudeur unique"
@@ -3382,6 +3458,10 @@ msgstr "G-code de début"
 msgid "Start new slicing process"
 msgstr "Démarrer un nouveau processus de découpe"
 
+#: xs/src/slic3r/GUI/FirmwareDialog.cpp:296
+msgid "Status:"
+msgstr "État :"
+
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1539
 #: c:\src\Slic3r\lib\Slic3r\GUI\Plater.pm:1581
 msgid "STL file exported to "
@@ -4045,6 +4125,10 @@ msgstr "Les mises à jour ne sont jamais appliquées sans l'accord de l'utilisat
 msgid "Upgrade"
 msgstr "Mise à jour"
 
+#: xs/src/slic3r/GUI/GUI.cpp:326
+msgid "Upload a firmware image into an Arduino based printer"
+msgstr "Charger un firmware dans une imprimante basée sur un Arduino"
+
 #: c:\src\Slic3r\xs\src\slic3r\GUI\Tab.cpp:989
 msgid "USB/Serial connection"
 msgstr "Port USB/Série"
@@ -4142,10 +4226,9 @@ msgstr "Vue"
 msgid "Volume"
 msgstr "Volume"
 
-#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:246
-#, c-format
-msgid "Volume to purge (mm%s) when the filament is being"
-msgstr "Volume à purger (mm%s) quand le filament est en train d'être"
+#: xs/src/slic3r/GUI/WipeTowerDialog.cpp:241
+msgid "Volume to purge (mm³) when the filament is being"
+msgstr "Volume à purger (mm³) lorsque le filament est"
 
 #: c:\src\Slic3r\xs\src\slic3r\GUI\PresetHints.cpp:214
 msgid "Volumetric"

From 0ec06e69812b164077dbdc352bcd4de8547da0d1 Mon Sep 17 00:00:00 2001
From: bubnikv <bubnikv@gmail.com>
Date: Tue, 12 Jun 2018 17:10:12 +0200
Subject: [PATCH 2/2] Fixed missing dependencies in Prusa's profiles for 0.25
 and 0.6mm nozzles.

---
 resources/profiles/PrusaResearch.ini | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini
index fdeefb8c9..e6d5d8187 100644
--- a/resources/profiles/PrusaResearch.ini
+++ b/resources/profiles/PrusaResearch.ini
@@ -211,7 +211,7 @@ fill_pattern = grid
 top_infill_extrusion_width = 0.4
 
 [print:0.05mm ULTRADETAIL 0.25 nozzle]
-inherits = *0.05mm*
+inherits = *0.05mm*; *0.25nozzle*
 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK2.*/ and nozzle_diameter[0]==0.25 and num_extruders==1
 external_perimeter_extrusion_width = 0
 extrusion_width = 0.28
@@ -271,7 +271,7 @@ top_infill_extrusion_width = 0.4
 top_solid_infill_speed = 50
 
 [print:0.10mm DETAIL 0.25 nozzle]
-inherits = *0.10mm*
+inherits = *0.10mm*; *0.25nozzle*
 bridge_acceleration = 600
 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK2.*/ and nozzle_diameter[0]==0.25
 external_perimeter_speed = 20
@@ -284,7 +284,7 @@ solid_infill_speed = 40
 top_solid_infill_speed = 30
 
 [print:0.10mm DETAIL 0.25 nozzle MK3]
-inherits = *0.10mm*
+inherits = *0.10mm*; *0.25nozzle*
 bridge_speed = 30
 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.25
 external_perimeter_speed = 35
@@ -298,7 +298,7 @@ top_infill_extrusion_width = 0.4
 top_solid_infill_speed = 50
 
 [print:0.10mm DETAIL 0.6 nozzle MK3]
-inherits = *0.10mm*
+inherits = *0.10mm*; *0.6nozzle*
 bridge_speed = 30
 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.6
 external_perimeter_speed = 35
@@ -398,7 +398,7 @@ support_material_with_sheath = 0
 support_material_xy_spacing = 80%
 
 [print:0.15mm OPTIMAL 0.25 nozzle MK3]
-inherits = *0.15mm*
+inherits = *0.15mm*; *0.25nozzle*
 bridge_speed = 30
 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.25
 external_perimeter_speed = 35
@@ -424,7 +424,7 @@ top_infill_extrusion_width = 0.4
 top_solid_layers = 5
 
 [print:0.15mm OPTIMAL 0.6 nozzle MK3]
-inherits = *0.15mm*
+inherits = *0.15mm*; *0.6nozzle*
 bridge_speed = 30
 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.6
 external_perimeter_speed = 35
@@ -491,7 +491,7 @@ support_material_with_sheath = 0
 support_material_xy_spacing = 80%
 
 [print:0.20mm FAST 0.6 nozzle MK3]
-inherits = *0.20mm*
+inherits = *0.20mm*; *0.6nozzle*
 bridge_speed = 30
 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.6
 external_perimeter_speed = 35
@@ -1005,7 +1005,7 @@ printer_variant = 0.25
 default_print_profile = 0.10mm DETAIL 0.25 nozzle
 
 [printer:Original Prusa i3 MK2 0.6 nozzle]
-inherits = *common*
+inherits = *common*; *0.6nozzle*
 max_layer_height = 0.35
 min_layer_height = 0.1
 nozzle_diameter = 0.6
@@ -1020,7 +1020,7 @@ default_print_profile = 0.20mm NORMAL 0.6 nozzle
 inherits = *mm-single*
 
 [printer:Original Prusa i3 MK2 MM Single Mode 0.6 nozzle]
-inherits = *mm-single*
+inherits = *mm-single*; *0.6nozzle*
 nozzle_diameter = 0.6
 printer_variant = 0.6
 default_print_profile = 0.20mm NORMAL 0.6 nozzle
@@ -1030,7 +1030,7 @@ inherits = *mm-multi*
 nozzle_diameter = 0.4,0.4,0.4,0.4
 
 [printer:Original Prusa i3 MK2 MultiMaterial 0.6 nozzle]
-inherits = *mm-multi*
+inherits = *mm-multi*; *0.6nozzle*
 nozzle_diameter = 0.6,0.6,0.6,0.6
 printer_variant = 0.6
 default_print_profile = 0.20mm NORMAL 0.6 nozzle